0731-84728105
15116127200
ToE解決方案

一(yī)、 概述

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

二、 傳統TCP的(de)處理(lǐ)

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

三、 ToE的(de)處理(lǐ)流程

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

四、 ToE的(de)實現

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