0731-84728105
15116127200
ToE解決方案

一(yī)、 概述

    TCP/IP協議已經成為(wèi)互聯網應用最基本的協議。傳統方式下(xià),TCP/IP協議由中央處理器(qì)、微處理器(qì)以軟件(jiàn)的形式處理。然而,随著(zhe)以太網速率從(cóng)1000Mbits/s提高(gāo)到(dào)10Gbits/s再到(dào)40Gbits/s、100Gbits/s,CPU已經很難滿足TCP/IP協議處理的需要了。因此,為(wèi)了減輕CPU的協議處理負擔,TCP/IP協議處理技(jì)術(shù)顯得越來越重要。其中,TCP/IP卸載引擎(TCP/IP Offload Engine,ToE)技(jì)術(shù)成為(wèi)研究的熱點。

二、 傳統TCP的處理

    在傳統的以太網環境中,TCP/IP協議的處理都是通(tōng)過軟件(jiàn)方式在中央處理器(qì)上(shàng)實現。如圖1所示,網絡數據由網卡進入計算(suàn)機(jī)系統,傳統網卡主要實現網絡協議物(wù)理層和數據鏈路(lù)層功能(néng),然後将口數據包交付CPU操作系統 ,CPU操作系統首先對數據進行TCP/IP協議處理,最後将數據交付應用程序。由于CPU是一(yī)個(gè)通(tōng)用的部件(jiàn),它不是專門(mén)針對TCP/IP協議處理而設計,因而它處理協議的能(néng)力不強。在吉比特網絡中,如果TCP/IP協議處理仍在CPU中執行,不但協議處理的效率不高(gāo),而且占用大量的CPU資源,浪費(fèi)存儲空間和大量的功耗。同時,還(hái)使其它的應用程序得不到(dào)充分的CPU資源,從(cóng)而影響整個(gè)系統性能(néng),導緻高(gāo)速的帶寬資源得不到(dào)充分的利用。由于網絡帶寬增加的速度遠(yuǎn)超過處理器(qì)速度的增長(cháng),在今後網絡應用的瓶頸不再是帶寬資源,而是處理器(qì)的速度面對網絡帶寬和速度的飛(fēi)速增長(cháng),傳統的通(tōng)過軟件(jiàn)進行TCP/IP協議處理的方式已經越來越成為(wèi)高(gāo)性能(néng)網絡計算(suàn)的瓶頸。
圖 1 TSN 整體實現結構圖
圖 1 網絡處理的傳統處理流程

三、 ToE的處理流程

    ToE(TCP/IP Offload Engine)是一(yī)門(mén)使用硬件(jiàn)代替軟件(jiàn)來處理TCP/IP協議的技(jì)術(shù),從(cóng)而将系統微處理器(qì)從(cóng)TCP/IP協議處理負擔中解放(fàng)出來,提高(gāo)了網絡性能(néng);同時也為(wèi)沒有TCP/IP協議處理能(néng)力的系統提供了一(yī)種解決方案。傳統方式下(xià),TCP/IP協議由操作系統處理,ToE技(jì)術(shù)将TCP/lP協議的處理分離到(dào)網卡,如圖2所示。
圖 1 TSN 整體實現結構圖
圖2ToE處理方式與傳統處理方式對比

四、 ToE的實現

    本設計主要通(tōng)過硬件(jiàn)實現TCP/IP協議傳輸機(jī)制,支持TCP/IP的建立、釋放(fàng)握手機(jī)制;同時支持TCP的超時重傳、慢(màn)開(kāi)始、快重傳的機(jī)制。實現将TCP/IP協議完全卸載到(dào)硬件(jiàn)實現,軟件(jiàn)負責一(yī)些狀态的管理及配置任務,大大減軟的軟件(jiàn)的任務量同時提升TCP/IP數據的處理效率。
    在ToE的功能(néng)實現時,本設計基于FPGA實現的網絡接口卡功能(néng),除此之外基于FPGA還(hái)可以後期添加交換、QoS、安全等功能(néng),從(cóng)而支持更加靈活的功能(néng)實現。具體的ToE功能(néng)實現結構如圖3所示。
圖 2 端口調度實現結構圖
圖3 ToE實現結構圖
    主要由接收側處理模塊RX,發送側處理模塊TX和連接控制模塊CC組成,三部分的邏輯關系如3圖所示。
    CC模塊主要完成是TCP/IP流的狀态管理,主要負責連接及釋放(fàng)的握手機(jī)制,并維護建立連接的TCP/IP流狀态表。
    RX模塊負責數據的接收處理,包括TCP/IP的頭部校驗和校驗、去MAC頭以及接收緩存管理以及接收數據的窗(chuāng)口管理等操作。
    TX模塊負責數據的發送數據,包括添加TCP/IP的頭部校驗和、添加MAC頭、發送窗(chuāng)口控制、超時重傳控制、慢(màn)開(kāi)始、快重傳控制以及數據輸出緩存管理及數據分段的管理等。
    通(tōng)過測試本設計的在1G接口的處理速率可以達960Mbps,10G接口的速率可達9Gbps。
下(xià)載該文檔