[發明專利]一種網絡數據包的解析方法與裝置有效
| 申請號: | 201010500546.5 | 申請日: | 2010-09-30 |
| 公開(公告)號: | CN101958902A | 公開(公告)日: | 2011-01-26 |
| 發明(設計)人: | 李亞峰 | 申請(專利權)人: | 北京銳安科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/56 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余功勛 |
| 地址: | 100044 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網絡 數據包 解析 方法 裝置 | ||
技術領域
本發明涉及一種新型的解析網絡數據包的方法與裝置,尤其涉及一種針對大流量下的復雜數據包的解析方法和裝置。
背景技術
網絡協議通常分不同層次進行開發,每一層分別負責不同的通信功能。如圖1所示,根據OSI體系結構,將網絡上的數據包分成了七層,物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層。根據另外一種體系結構TCP/IP,則將網絡上的數據包分成4層,包括數據鏈路層,網絡層,傳輸層,應用層。TCP/IP本身也是一組不同層次上的多個協議的組合。無論是OSI,TCP/IP或者其他網絡模型,都將網絡上的數據包進行分層。每一層的輸出都是下一層的輸入,每一層對上一層的輸出數據進行本層協議封裝(或拆封)之后,再發送到下一層去。
對網絡數據包的解析就是,根據當前網絡設備的需求,將數據包從底層開始逐層往上解析,直到找到特定層,在這個過程中,可以根據協議,獲得被解析層協議的相關信息,可以根據這些信息對數據包進行各種操作。由于網絡數據包每一層都包含了不止一種協議,因此網絡數據包的解析,一方面是對各種層進行解析,另一方面是對同一層不同協議的解析。
數據包解析是各種網絡設備的基本功能之一,廣泛用于各類通信終端和傳輸設備,如網卡,路由器,防火墻,分流設備,網絡加速卡等各種產品領域。領域的不同,對數據包解析的要求也不一樣。有的網絡設備要求將數據包解析到應用層,有的網絡設備只需要將數據包解析到鏈路層。
對網絡數據包的解析有基于軟件的解析和基于硬件的解析。從硬件設備上來分類,網絡數據包的解析有基于傳統CPU,NP(Network?Processor,即網絡處理),ASIC(即專用芯片),FPGA(Field?Programmable?Gate?Array,即可編程邏輯門陣列)等。
從網絡數據包的解析思想分類,有串行解析數據包和并行解析數據包兩種方法。
基于NP解析數據包,是串行解析數據包方法的典型應用。NP在解析數據包時,由于采用串行結構,在同一時刻只能對一個數據包進行唯一的操作,只有在當前操作完成后,才可以對該數據包進行下一步操作,或者對下一個數據包進行操作。采用串行方法解析數據包,在深度解析數據包上存在優勢,通過編程就可以達到對數據包的深度解析,但是由于串行結構一個時刻只能進行一次操作,因此在大流量的數據包接入情況下,很難做到線速的解析網絡數據包。
基于FPGA解析數據包,是并行解析數據包方法的典型應用。采用并行方法解析數據包,并行解析方法,往往采用多個解析功能模塊同時運作,達到在同一個時刻,可以對數據包同時做多項操作,或對多個數據包做多項操作,對數據包的解析能夠達到最大效率。因此在大流量數據包接入情況下,也能較容易的達到線速解析數據包,但是由于采用多操作同步進行,并且所有數據包都會經過相同的操作,因此深度解析能力較差,不夠靈活,所能解析的數據包種類較少。
隨著網絡的發展,網絡數據包的協議種類也在增加,一方面在已有數據包層次上增加了許多新類型的協議,一方面是在傳統層之間,出現了新的數據層。同時,由于光纖技術和通信技術的發展,網絡上的數據流量也在不斷增大,因此,現在對網絡設備解析網絡數據包的能力要求也在大大提高。
顯然,隨著技術的發展,迫切需要一種即能夠線速解析網絡數據包,又能支持解析大多數數據包協議的方法。
發明內容
針對上述解析網絡數據包方法所存在的問題和不足,本發明的目的是提供一種網絡數據包的解析方法和裝置。本發明的方法能夠在保證線速解析數據包的前提下,最大限度的支持解析多種類型數據包,并且在以后出現新型協議后,能夠實現無縫升級。
本發明是這樣實現的:一種網絡數據包的解析方法,包括以下步驟:
1)根據當前網絡環境,配置并行解析網絡數據包裝置,根據需求,調用各標準協議解析模塊,將其串聯成數據解析鏈
2)將線路上的數據接入,通過ASIC(Application?Specific?Integrated?Circuit,即特定用途集成電路)完成物理層的解析,將網絡上的串行比特數據流分離成數據鏈路層的數據包,以并行數據流的形式送入數據包解析裝置
3)將數據鏈路層的數據包接入數據解析鏈,根據配置,可以得知當前數據鏈路層的協議類型,根據數據鏈路層協議類型,將數據包體進行處理寄存后輸出
4)根據數據鏈路層協議,提取當前數據包位于數據鏈路層包頭內的相關信息,與經過數據鏈路層解析后的數據包體同步輸出
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京銳安科技有限公司,未經北京銳安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010500546.5/2.html,轉載請聲明來源鉆瓜專利網。





