[發(fā)明專利]一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng)及方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010775750.1 | 申請(qǐng)日: | 2020-08-05 |
| 公開(公告)號(hào): | CN111917780A | 公開(公告)日: | 2020-11-10 |
| 發(fā)明(設(shè)計(jì))人: | 邱有剛;徐志偉;段張玨;朱力 | 申請(qǐng)(專利權(quán))人: | 電信科學(xué)技術(shù)第五研究所有限公司 |
| 主分類號(hào): | H04L29/06 | 分類號(hào): | H04L29/06 |
| 代理公司: | 北京天奇智新知識(shí)產(chǎn)權(quán)代理有限公司 11340 | 代理人: | 許馳 |
| 地址: | 610000 四*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 fpga toe 數(shù)據(jù) 拼接 系統(tǒng) 方法 | ||
本發(fā)明公開了一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng)及方法,通過比較數(shù)據(jù)報(bào)文信息與緩存數(shù)據(jù)塊信息,將數(shù)據(jù)報(bào)文與緩存數(shù)據(jù)塊拼接成新的數(shù)據(jù)塊。本發(fā)明利用FPGA大規(guī)模邏輯資源和并行處理的優(yōu)點(diǎn),結(jié)合大規(guī)模鏈接下的數(shù)據(jù)拼接處理,提高了TOE對(duì)于丟包、重復(fù)、亂序報(bào)文的處理效率,提升網(wǎng)絡(luò)適應(yīng)性;此外,針對(duì)概率很低的完全覆蓋拼接則采用重傳的方式,降低設(shè)計(jì)難度的同時(shí)保證了拼接效率。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng)及方法。
背景技術(shù)
由于TCP協(xié)議為用戶提供了可靠傳輸功能,因此被廣泛應(yīng)用于各種網(wǎng)絡(luò)應(yīng)用中。相較傳統(tǒng)的軟件實(shí)現(xiàn)方案,TOE(TCPoffloadengine)采用硬件實(shí)現(xiàn)TCP/IP協(xié)議的處理,釋放處理器資源的同時(shí)又能提高網(wǎng)絡(luò)處理能力,而采用FPGA實(shí)現(xiàn)的TOE可以靈活滿足各種定制化需求,目前被廣泛應(yīng)用于各種專用設(shè)備中。
由于報(bào)文經(jīng)過網(wǎng)絡(luò)可能導(dǎo)致亂序、丟失、重復(fù)等現(xiàn)象,如附圖1所示,因此TCP/IP協(xié)議棧需要對(duì)接收?qǐng)?bào)文進(jìn)行拼接整形,然后將完整正確的數(shù)據(jù)塊上傳應(yīng)用層或者后續(xù)模塊處理。數(shù)據(jù)流報(bào)文整形的效率極大的影響了TOE的處理性能和網(wǎng)絡(luò)適應(yīng)能力,如何實(shí)現(xiàn)高鏈接數(shù)下高速有效的數(shù)據(jù)拼接是問題的關(guān)鍵,目前主流CPU的內(nèi)核都集成了TCP/IP協(xié)議棧,用戶通過Socket套接字調(diào)用服務(wù),實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸;采用軟件可以相對(duì)簡(jiǎn)單的實(shí)現(xiàn)數(shù)據(jù)拼接,但是在高鏈接數(shù)的時(shí)候會(huì)占用極大的處理器資源,且處理效率會(huì)顯著降低。
發(fā)明內(nèi)容
本發(fā)明的目的就在于為了解決上述問題而提供一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng),包括MAC處理單元、IP處理單元、連接管理單元、CAM表控制管理單元、數(shù)據(jù)拼接控制管理單元、窗口控制管理單元、指令控制單元、流控處理單元與存儲(chǔ)單元;所述MAC處理單元IP處理單元分別與鏈接管理單元、存儲(chǔ)單元相連;所述鏈接管理單元分別與CAM表控制單元、數(shù)據(jù)拼接控制管理單元相連;所述數(shù)據(jù)拼接管理單元與窗口控制管理單元、指令控制單元輸入端相連;所述指令控制單元分別與流控處理單元、存儲(chǔ)單元相連;
所述數(shù)據(jù)拼接控制管理單元用于根據(jù)接收的數(shù)據(jù)報(bào)文,生成讀寫指令并發(fā)送至指令控制單元,同時(shí)將窗口大小數(shù)據(jù)發(fā)送至窗口控制管理單元,根據(jù)最大鏈接數(shù)、最小窗口大小以及最大緩存大小為每個(gè)鏈接分配緩存空間,記錄當(dāng)前每條流對(duì)應(yīng)存儲(chǔ)單元的緩存狀態(tài),包括期望的字節(jié)指針、緩存空洞數(shù)、數(shù)據(jù)塊的起始編號(hào)以及當(dāng)前數(shù)據(jù)塊長(zhǎng)度;
所述指令控制單元用于讀寫控制與數(shù)據(jù)對(duì)齊,讀寫控制包括讀寫數(shù)據(jù)起始地址與長(zhǎng)度。
所述CAM表控制管理單元用于TCP每條鏈接的四元組與內(nèi)部鏈接號(hào)的映射和反映射,四元組包括源IP、目的IP、源端口與目的端口。
一種基于FPGA的TOE數(shù)據(jù)拼接方法,包括如下步驟:
S1:接收數(shù)據(jù)報(bào)文,獲取數(shù)據(jù)報(bào)文的起始字節(jié)編號(hào)和長(zhǎng)度
S2:對(duì)比數(shù)據(jù)報(bào)文的起始字節(jié)編號(hào)和期望字節(jié)編號(hào),若起始字節(jié)編號(hào)和期望字節(jié)編號(hào)相等,則數(shù)據(jù)報(bào)文為期望的順序報(bào)文,期望字節(jié)編號(hào)更新為期望字節(jié)編號(hào)與數(shù)據(jù)報(bào)文的長(zhǎng)度之和,轉(zhuǎn)S4;若起始字節(jié)編號(hào)大于期望字節(jié)編號(hào)則數(shù)據(jù)報(bào)文為亂序報(bào)文,轉(zhuǎn)S3;否則若起始字節(jié)編號(hào)小于期望字節(jié)編號(hào),丟棄重復(fù)數(shù)據(jù)報(bào)文;
S3:比較數(shù)據(jù)報(bào)文信息與緩存數(shù)據(jù)塊信息:
S31:若數(shù)據(jù)報(bào)文的起始字節(jié)編號(hào)與數(shù)據(jù)報(bào)文的長(zhǎng)度之和等于緩存數(shù)據(jù)塊起始字節(jié)編號(hào),則該數(shù)據(jù)報(bào)文能夠在緩存數(shù)據(jù)塊前面拼接成新的數(shù)據(jù)塊;
刷新緩存數(shù)據(jù)塊信息,更新緩存數(shù)據(jù)塊起始字節(jié)編號(hào)等于數(shù)據(jù)報(bào)文的起始字節(jié)編號(hào),緩存數(shù)據(jù)塊長(zhǎng)度更新為緩存數(shù)據(jù)塊長(zhǎng)度與數(shù)據(jù)報(bào)文的長(zhǎng)度之和;
S32:若數(shù)據(jù)報(bào)文的起始字節(jié)編號(hào)與數(shù)據(jù)報(bào)文的長(zhǎng)度之和大于緩存數(shù)據(jù)塊起始字節(jié)編號(hào),則該數(shù)據(jù)報(bào)文與緩存數(shù)據(jù)塊能拼接成新的數(shù)據(jù)塊,且緩存數(shù)據(jù)塊的前面被覆蓋;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電信科學(xué)技術(shù)第五研究所有限公司,未經(jīng)電信科學(xué)技術(shù)第五研究所有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010775750.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 通信系統(tǒng)中控制數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)
- 半卸載方法、設(shè)備及系統(tǒng)
- 一種報(bào)文處理方法、裝置和設(shè)備
- TCP/IP卸載引擎中的多通道處理方法
- 擁塞控制方法及相關(guān)設(shè)備
- 處理TCP報(bào)文的方法、TOE組件以及網(wǎng)絡(luò)設(shè)備
- 一種基于TOE網(wǎng)卡的Target端協(xié)議硬件解析方法
- 一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng)及方法
- 降低基于TOE的高頻交易終端接收通道傳輸延遲的方法
- 基于大容量?jī)?nèi)存的高并發(fā)協(xié)議棧卸載方法、設(shè)備、介質(zhì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





