[發明專利]一種高效的tcp會話重組方法有效
| 申請號: | 201711052422.3 | 申請日: | 2017-10-31 |
| 公開(公告)號: | CN107743102B | 公開(公告)日: | 2020-01-31 |
| 發明(設計)人: | 林飛;柯彥偉;趙喜榮;聶軍;毛俊 | 申請(專利權)人: | 北京亞鴻世紀科技發展有限公司 |
| 主分類號: | H04L12/953 | 分類號: | H04L12/953;H04L12/951;H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100082 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 高效 tcp 會話 重組 方法 | ||
一種高效的tcp會話重組方法涉及信息技術領域,本發明由會話緩存過程的流程、數據重組總體流程、數據塊編號計算流程完成;與以往的報文重組方案相比,本發明通過B+樹直接將報文組織成有序的數據結構,可以保證在亂序報文較多的時候也不會因為頻繁的數據查找而降低重組效率,這個改進算法可以明顯提升在亂序報文較多場景下重組系統的效率及整體性能,同時本方案簡化了SEQ的比較流程和TCP會話的重組過程,使TCP會話重組過程及軟件實現變得簡單高效。
技術領域
本發明涉及信息技術領域,尤其是數據通信領域中的通信處理技術領域。
背景技術
TCP/IP協議現在已經廣泛的被應用到網絡數據通訊上。數據在網絡上使用TCP/IP協議進行傳輸的時候,需要將數據拆分成多個報文進行傳輸。而在網絡安全、DPI數據采集、上網行為審計等領域都會用到TCP會話的重組技術。只有將數據包重組以后,才能還原一次完整的TCP會話,以達到獲取網絡傳輸真實內容的目的。一方面,由于網絡傳輸的多種原因,一組數據包通過網絡傳輸到同一個目的地時,會經過不同的路由路徑到達同一目的地,由于不同路徑的網絡質量不完全一致,就會導致達目的地的一組數據包可能會發生順序改變。另一方面,在傳輸過程中,由于TCP協議具有重傳機制,在數據傳遞過程中,若發生了某個報文丟失或傳輸延遲過大的情況,則TCP協議會要求這個報文重傳,而重傳會導致某一組有序TCP報文在網絡傳遞的時候發生很嚴重的順序錯亂。以上兩種報文順序錯亂的問題會嚴重影響TCP會話重組及還原的成功率。
在申請號為 CN201510705482.5的專利申請文件中提到:當接收到TCP報文時,根據所述TCP報文中包括的IP地址和端口查詢對應的會話表項;根據所述TCP報文的方向、所述TCP報文的序號以及所述方向按序接收到的TCP報文的序號,確定所述TCP報文的類別;若所述TCP報文為亂序報文,則將所述TCP報文加入所述方向的亂序報文鏈表;若所述TCP報文為順序報文,則判斷所述方向的亂序報文鏈表中是否存在與所述TCP報文匹配的鏈表節點;若存在,將該鏈表節點和所述TCP報文加入到所述方向的順序報文鏈表;否則,將所述TCP報文加入所述方向的順序報文鏈表。
申請號為 CN201510705482.5方案的問題是:使用鏈表存儲亂序節點會帶來亂序節點查找任務,當亂序報文比較多的情況下,會存在大量的亂序節點遍歷查找任務,過多的遍歷查找會嚴重影響報文重組的效率。另外對亂序報文進行存儲時會因報文的大小不固定而引發復雜的內存管理效率及內存命中的問題,申請過多的大小不一致的內存也容易導致內存碎片化而降低重組效率。
針對TCP會話重組過程普遍存在的低效率問題,本方案實現了一種簡單高效的TCP報文重組方法。通過將TCP報文組織成固定大小的數據塊,然后以B+樹的結構形式進行組織管理,從而提高了TCP會話的重組效率和成功率,實現了高性能的TCP會話重組算法及軟件模塊。
TCP UDP傳輸原理及數據塊,分節,分組,數據報,數據包的區別:
關于TCP輸出:
每個TCP套接口有一個發送緩沖區,當應用程序調用write時,內核將應用程序的緩沖區的數據拷貝到TCP的發送緩沖區, TCP以對方MSS(maximum segment size)大小或者更小發送數據塊給IP,并給每個數據塊加上TCP頭部形成分節,IP給每個分節安上IP頭部形成數據包,并尋找目標IP地址,及路由表項以確定外出接口,然后把數據包傳給數據鏈路,加入鏈路輸出隊列,如果隊列滿,分組丟棄,并通過協議棧向上返回錯誤:鏈路層到IP層,IP層到TCP層,TCP記住這個錯誤并在某個時候重傳這個分節。當對方服務器接受到數據時,會發送ACK,本機接受ACK,并應答ACK,此時,發送緩沖區的數據廢棄,此緩沖區可以再次寫入其他數據。
關于UDP輸出:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京亞鴻世紀科技發展有限公司,未經北京亞鴻世紀科技發展有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711052422.3/2.html,轉載請聲明來源鉆瓜專利網。





