本發明專利技術公開了一種全硬件TCP協議棧實現方法,屬于大規模集成電路設計以及網絡通信技術領域,旨在通過全硬件的方式實現TCP/IP協議棧中網絡接口層、網絡層和傳輸層,從而提高網絡傳輸速率。本發明專利技術包括網絡接口芯片、外置物理層芯片和DDR存儲器芯片,其中網絡接口芯片由MAC模塊、MAC控制模塊、組包模塊、解包模塊、ARP模塊、IP模塊、ICMP模塊、TCP模塊、數據交互引擎、DDR控制器和配置和管理模塊構成。本發明專利技術采用分層設計思想、接收和發送通道分離、標準化的控制和數據接口技術、多級狀態機、數據多級緩存和高效預取技術,降低了實現難度、提高了傳輸速度。
【技術實現步驟摘要】
本專利技術涉及一種全硬件TCP協議棧實現方法,尤其是一種基于ASIC或者FPGA器 件,通過全硬件方式實現TCP/IP協議棧中網絡接口層、網絡層和傳輸層的方法。屬于大規 模集成電路設計以及網絡通信
技術介紹
隨著信息技術的發展,功能化模塊化的設計思想已經逐漸成為了實現復雜功能的 必要選擇,實現方式也從復雜的高度集成的單一設備向功能分立的系統實現方式轉變。這 種設計思想和實現方式能夠顯著減低實現復雜度,使設計、調試和維護等操作簡單化。比如 在衛星地面站或者雷達中,需要多種信號采集設備、信號處理設備以及顯示設備。這就需要 一種成熟開放、傳輸距離遠、方便靈活的通信協議來實現各設備之間的信息交互。作為當前 發展最為成熟、應用最為廣泛的TCP/IP協議和以太網技術已經成為了網絡通信的標準,其 優點在于通信速率高、傳輸距離遠、方便靈活和抗干擾能力強。 -般來講,實現以太網網絡接口的方法主要有軟件和硬件兩種方式。 軟件方式是采用通用型處理器(INTEUAMD的X86架構的處理器)或者嵌入式處理 器(ARM、IBM的RISC架構的處理器),其上能夠運行各種操作系統,通過操作系統中的軟件 實現的TCP/IP協議來實現網絡通信。這種實現方式的優點是簡化了繁瑣的硬件設計并且 比較靈活。然而缺點也比較明顯,當網絡速度達到吉比特數量級時,主CPU越來越繁忙,其 中大部分處理負荷都是來自對TCP/IP協議的處理,比如對IP數據包的校驗處理、對TCP數 據流的可靠性和一致性處理。大量協議數據還需要通過I/O中斷進行操作,不斷在網絡接 口緩沖區和應用程序內存之間進行數據交換,這些額外負擔極大地降低了主CPU的處理效 率,增加了應用計算的平均等待時間。按照CPU對網絡數據流的處理比率分析,大概CPU每 處理1比特網絡數據,就將消耗1Hz的處理性能,也就是說需要2GHz的CPU處理能力滿負 荷運行才能滿足1GB以太網數據流的處理要求。面對網絡帶寬和速度的飛速增長,這種傳 統的通過軟件進行TCP/IP協議處理的方式已經越來越成為高性能網絡通信的瓶頸。 硬件方式是通過FPGA或者ASIC使用全硬件的方式來實現TCP/IP協議棧,囊括了 TCP/IP協議棧全部的四層結構,獨立于CPU運作,信息的進棧/出棧,封包/解包等網絡數 據處理全部在實現了TCP/IP協議棧的FPGA或者ASIC芯片中進行,卸載掉了CPU對于龐 大數據處理的負載,從而使CPU保持高效運轉且能夠實現高速網絡傳輸,同時也避免了CPU 受到網絡攻擊的危險,增加了CPU工作的安全性。該技術通常被成為TCPOffloadEngine (TOE)技術。美國專利US6996070B2 "TCP/IPOFFLOADDEVICEWITHREDUCEDSEQUENTIAL PROCESSING" 和美國專利US8402142B2"SYSTEMANDMETHODFORTCP/IPOFFLOAD INDEPENDENTOFBANDWIDTHDELAYPRODUCT"給出了兩種實現方法,實現了TOE功能。但是 其存在兩個主要的缺陷,首先應用領域有限制,很難移植到嵌入式領域;其次從設計上來講 其層次化比較模糊,實現架構比較復雜。 另外商用化的TOE芯片主要有美國Broadcom公司的BCM5709C系列和韓國WIZnet 公司的W5100系列芯片。目前,國內還沒有類似的專利和芯片。
技術實現思路
本專利技術旨在解決傳統的通過軟件進行TCP/IP協議處理方式帶來的網絡通信的瓶 頸。本專利技術基于大規模集成電路器件,通過全硬件的方式實現TCP/IP協議棧中網絡接口 層、網絡層和傳輸層,極大的提高了CPU的處理效率和網絡傳輸速率。 本專利技術的目的是通過以下技術方案實現的。 本專利技術的一種全硬件TCP協議棧實現方法在實現上采用了如下五種設計思想和 技術:1)分層設計思想;2)接收和發送通道分離;3)標準化的控制和數據接口技術;4)多 級狀態機;5)數據多級緩存和高效預取技術。旨在提高傳輸速度、降低設計難度、提高設計 可重用性。 本專利技術的一種全硬件TCP協議棧實現方法其硬件平臺使用網絡接口芯片100、外 置PHY芯片101和DDR芯片102構成。其中網絡接口芯片100為主控制芯片,實現了TCP/ IP協議棧數據鏈路層、網絡層和傳輸層的功能,可采用FPGA(FieldProgrammableGate Array,現場可編程門陣列),也可使用ASIC(Application_SpecificIntegratedCircuit, 專用集成電路)實現。外置PHY芯片101實現了TCP/IP協議棧的物理層功能,可選擇性 比較廣泛,只要支持Mil、GMII、SGMII和RGMII等標準接口的芯片都可以用在本專利技術中, 比如MARVELL公司的88E1111、REALTEK公司的RTL8201CP、MICREL公司的KSZ8001L/S和 KSZ8041NL。DDR芯片實現數據緩沖,主要是為了適應比較復雜情況的網絡情況和比較大的 網絡抖動,在比較簡單的網絡環境中也可以使用網絡接口芯片100中的內部RAM做為數據 緩沖。 本專利技術的一種全硬件TCP協議棧實現方法,其中所述的網絡接口芯片100由MAC 模塊1、MAC控制模塊2、組包模塊3、解包模塊4、ARP模塊5、IP模塊6、ICMP模塊7、TCP模 塊8、數據交互引擎9、DDR控制器10和配置和管理模塊11構成。其功能和連接方式為:MAC 模塊1與外部的PHY芯片連接,其輸入接口與組包模塊3相連,輸出接口與解包模塊4相 連,控制和狀態接口與MAC控制模塊2相連;MAC控制模塊2與MAC模塊1交互發送接收狀 態信息以及流控制信息,分別控制組包模塊3和解包模塊4的發送和接收;解包模塊4會根 據頭信息判斷接收包類型,把不同類型的包發送給ARP模塊5和IP模塊7處理;IP模塊7 把接收的ICMP包發給ICMP模塊6處理,把數據包去掉IP包頭之后交給TCP模塊8處理; TCP模塊8通過標準的存儲器接口方式把接收的數據發送到數據交互引擎9,并從數據交互 引擎9得到需要發送的數據;數據交互引擎9和DDR控制器11相連,完成數據緩沖,并且該 模塊還實現了芯片外部接口邏輯;配置和管理模塊10通過配置接口分別于TCP模塊8和數 據交互引擎9相連。 本專利技術的一種全硬件TCP協議棧實現方法,其中所述的MAC模塊1由管理數據接 口仲裁11、地址配置寄存器組12、傳輸引擎13、接收引擎14、流量控制模塊15、PHY接口控 制邏輯16構成;解包模塊3由接收計數器21、接收參數寄存器組22、有效性判斷和接收分 配模塊23構成;組包模塊4由發送狀態機41、幀成形模塊42、發送數據緩沖43構成;ARP 模塊5由ARP包檢測和一些功能邏輯構成;ICMP模塊6由PING應答數據緩沖61、CRC生成 模塊62構成;IP模塊7由IP包有效性判斷模塊71、IP包頭生成72、IP包頭緩沖RAM73構 成。TCP模塊8由主控制狀態機81、TCP接收引擎82、TCP發送引擎83、TCP包解析和參數 提取模塊84和發送合成復用模塊85構成;數據交互引擎9由主機接口控制模塊91、讀寫 訪問控制模塊92、接收數本文檔來自技高網...

【技術保護點】
一種全硬件TCP協議棧實現方法,其特征在于:硬件平臺由網絡接口芯片(100)、外置PHY芯片(101)和DDR芯片(102)構成,其中網絡接口芯片(100)由MAC模塊(1)、MAC控制模塊(2)、組包模塊(3)、解包模塊(4)、ARP模塊(5)、IP模塊(6)、ICMP模塊(7)、TCP模塊(8)、數據交互引擎(9)、DDR控制器(10)和配置和管理模塊(11)構成;其功能和連接方式為:MAC模塊(1)與外部的PHY芯片連接,其輸入接口與組包模塊(3)相連,輸出接口與解包模塊(4)相連,控制和狀態接口與MAC控制模塊(2)相連;MAC控制模塊(2)與MAC模塊(1)交互發送接收狀態信息以及流控制信息,分別控制組包模塊(3)和解包模塊(4)的發送和接收;解包模塊(4)會根據頭信息判斷接收包類型,把不同類型的包發送給ARP模塊(5)和IP模塊(7)處理;IP模塊(7)把接收的?ICMP包發給ICMP模塊(6)處理,把數據包去掉IP包頭之后交給TCP模塊(8)處理;TCP模塊(8)通過標準的存儲器接口方式把接收的數據發送到數據交互引擎(9),并從數據交互引擎(9)得到需要發送的數據;數據交互引擎(9)和DDR控制器(11)相連,完成數據緩沖,并且該模塊還實現了芯片外部接口邏輯;配置和管理模塊(10)通過配置接口分別于TCP模塊(8)和數據交互引擎(9)相連。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:王磊,
申請(專利權)人:王磊,
類型:發明
國別省市:四川;51
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。