[發明專利]一種報文處理方法、裝置和設備有效
| 申請號: | 201310341741.1 | 申請日: | 2013-08-07 |
| 公開(公告)號: | CN103414714A | 公開(公告)日: | 2013-11-27 |
| 發明(設計)人: | 駱紹開 | 申請(專利權)人: | 華為數字技術(蘇州)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 215123 江蘇省蘇州市蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 處理 方法 裝置 設備 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種報文處理方法、裝置和設備。
背景技術
TOE(TCP?Offload?Engine,TCP卸載引擎)指由網卡芯片實現對TCP報文的協議處理,主機驅動接收和發送的僅是TCP報文的數據段,從而將主機CPU從協議處理中釋放出來,更好地處理其他業務,最終實現加速網絡響應的同時提高服務器性能。
MTU(Maximum?Transmission?Unit,最大傳輸單元)是指一種通信協議的某一層上面所能通過的最大數據包大小(以字節為單位),在OSI模型中指鏈路層的最大數據幀長度(對于IP報文,指包含IP頭的長度,一般為1500);
PMTU(Path?MTU,路徑最大傳輸單元),指從源地址到目的地址,所有IP節點MTU中的最小值,使得長度在該值內的報文經過該路徑時都不需要分片,長度超出該值的報文需要被分片才能通過此路徑傳輸;
PMTUDP(Path?Mtu?Discovery?Protocol協議,路徑最大傳輸單元發現協議),是一種動態發現任意路徑PMTU的技術。通過ICMP(Internet?Control?Message?Protocol,互聯網控制報文協議)報文在源/目的節點之間協商PMTU值,最終源節點使用該值作為發送報文的MTU(對于IP報文還需要將頭部的DF(Decline?Fragment,禁止分片)置位,以禁止路由器對報文進行分片);
MSS(Maximum?Segment?Size,最大分段大?。┦荰CP協議的概念,表示該條連接每個數據包的最大長度,該值通過PMTUD協議協商的PMTU計算獲得:
MSS=PMTU-40,其中40為20字節的IP頭長度加上20字節的TCP頭長度。
目前現有技術中常采用以下方法處理報文:
1、一般的網卡在收發報文時,協議棧會根據所配置的網卡的MTU值支持報文分片和報文重組。
2、支持報文分片的TOE網卡在接收到分片報文后,不對接收到的分片報文進行TOE卸載,而是直接交給主機協議棧進行后續處理。
3、不支持報文分片的TOE網卡在接收到分片報文后將分片報文直接丟棄;
在建立連接時,先根據PMTUD協議協商PMTU值,取整個鏈路中所有設備端口MTU的最小值作為該連接的PMTU值;
在發IP報文時在IP頭部置DF位,禁止中間路由器對其分片;
通過以上方式TOE網卡收到對端發送的報文都是非分片報文,而該TOE網卡在發送報文時,TOE驅動將該連接的PMTU減去40得到MSS值,然后將該MSS值配置給TOE網卡,TOE網卡根據MSS構造TCP報文。
在實現上述分片報文的處理過程中,發明人發現現有技術中至少存在如下問題:
一般的網卡將TCP卸載交由協議棧處理,因此會占用較大的主機CPU利用率;
支持報文分片的TOE網卡由于將分片報文不走TOE通道,從而未實現硬件TCP加速功能,并且當一個TCP連接的部分報文是分片報文時,報文分別走TOE卸載通道和普通網卡通道,該連接將出現狀態異常;
在TOE網卡不支持報文分片的情況下,為了防范DDOS(Distributed?Denial?of?Service,分布式拒絕服務)攻擊等原因,較多網絡不再提供ICMP傳輸,使得PMTUD協議無法工作,并且當對端發送較大報文,且DF未置位時,最終收到路由器分片后的報文又被丟棄,影響網絡性能。
發明內容
本發明的實施例提供一種報文處理方法、裝置和設備,能夠使TOE網卡支持對IP分片報文的處理并實現對分片報文的硬件TOE卸載,提高了網絡的響應性能和傳輸性能。
為達到上述目的,本發明的實施例采用如下技術方案:
一方面,提供一種報文處理方法,所述方法包括:
接收第一報文;
當所述第一報文為分片報文時,則將所述第一報文搬移到主機共享內存中;
在所述主機共享內存中讀取所述第一報文并進行重組生成第二報文;
將所述第二報文搬移到網卡內存中;
將所述網卡內存中的所述第二報文進行傳輸控制協議TCP卸載引擎卸載。
在第一種可能的實現方式中,結合第一方面,所述接收第一報文后,所述方法還包括:
判斷所述第一報文是否為分片報文,若所述第一報文為分片報文,則將所述第一報文搬移到主機共享內存中;
若所述第一報文不是分片報文,則將所述第一報文直接進行傳輸控制協議TCP卸載引擎卸載。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為數字技術(蘇州)有限公司,未經華為數字技術(蘇州)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310341741.1/2.html,轉載請聲明來源鉆瓜專利網。





