0731-84728105
15116127200
ToE解決方案

一、 概述

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

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

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

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

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

四、 ToE的實現(xiàn)

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