[發明專利]數據包處理的方法及裝置有效
| 申請號: | 201310048013.1 | 申請日: | 2013-02-06 |
| 公開(公告)號: | CN103152268A | 公開(公告)日: | 2013-06-12 |
| 發明(設計)人: | 李偉;鄧振波;蘇云琳 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L12/741 | 分類號: | H04L12/741;H04L12/865 |
| 代理公司: | 北京市中倫律師事務所 11410 | 代理人: | 程義貴;張思悅 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據包 處理 方法 裝置 | ||
技術領域
本發明屬于計算機技術領域,尤其涉及一種數據包處理的方法及裝置。
背景技術
連接跟蹤(conntrack),就是跟蹤并且記錄連接狀態。Linux(是一種自由和開放源碼的類Unix操作系統)為每一個經過網絡堆棧的數據包,生成一個新的連接記錄項(Connection?entry),該連接記錄可由ip_conntrack結構表示。此后,所有屬于此連接的數據包都被唯一地分配給這個連接,并標識連接的狀態。連接跟蹤是防火墻模塊的狀態檢測的基礎,同時也是地址轉換中實現SNAT(Source?Network?Address?Translation,源地址轉換)和DNAT(Destination?Network?Address?Translation,目的地址轉換)的前提。
目前應用協議(例如P2P協議、IM協議、Email協議等)控制的通常方法是基于連接狀態的數據包檢測。數據包從網卡進來后被分割為獨立的連接,通過識別該連接屬于何種應用層協議之后,再對這條連接上所有的數據包打上對應的標簽(mark)。通過維護此條連接的上下行數據包以及字節計數,實現對該協議類型的流量統計。
然而,現有技術沒有實現在不同的應用環境中使用不同的優先級配置進行數據包的輸出,例如:在協議識別時確保數據量較大的協議的輸出順序的優先級較高,數據量小并且使用不廣泛的協議的輸出順序的優先級較低。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的數據包處理的方法及裝置,以實現根據數據包的優先級標識來控制數據包的輸出順序。
依據本發明的一個方面,提供了一種數據包處理的方法,通過內核空間中注冊的第一鉤子函數對數據包進行目的地址轉換處理;目的地址轉換處理后,通過內核空間中注冊的第二鉤子函數對數據包進行路由處理;在所述數據包路由處理之后,通過內核空間中注冊的第三鉤子函數對數據包進行源地址轉換處理;以及獲取所述數據包的優先級標識,并根據所述數據包的優先級標識控制所述數據包的輸出順序。
根據本發明的另一方面,提供了一種數據包處理的裝置,目的地址轉換模塊,用于通過內核空間中注冊的第一鉤子函數對數據包進行目的地址轉換處理;路由模塊,用于在源地址轉換處理后目的地址轉換處理后,通過內核空間中注冊的第二鉤子函數對數據包進行路由處理;源地址轉換模塊,用于在所述數據包路由處理之后,通過內核空間中注冊的第三鉤子函數對數據包進行源地址轉換處理;以及輸出模塊,用于獲取所述數據包的優先級標識,并根據所述數據包的優先級標識控制所述數據包的輸出順序。
根據本發明的數據包處理的方法和數據包處理的裝置,數據包在輸出之前在內核空間中僅需通過三個鉤子函數的處理,相對于現有技術中需經過五個鉤子函數的處理,有效減少了數據包通過鉤子函數的數量,其次可通過數據包的優先級標識來控制數據包的輸出順序,例如數據量較大的數據包的輸出順序的優先級較高,數據量小且使用不廣泛的數據包的輸出順序的優先級較低,最后,本發明實施例的可擴展性較強,可根據識別數據包的需求配置協議識別模塊。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據本發明一個實施例的數據包處理的方法100的流程圖;
圖2示出了根據本發明一個實施例的數據包的處理示意圖;
圖3示出了根據本發明一個實施例的ip?NAC協議識別模塊的包處理的流程示意圖;
圖4示出了根據本發明一個實施例的鏈表數據管理各模塊的示意圖;
圖5示出了根據本發明一個實施例的協議識別模塊注冊的示意圖;以及
圖6示出了根據本發明又一個實施例數據包處理的裝置600結構示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310048013.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于信號消除進行噪聲估計的方法及系統
- 下一篇:一種服裝吊掛鏈





