[發明專利]一種網絡數據包協議識別方法及系統有效
| 申請號: | 201210567370.4 | 申請日: | 2012-12-24 |
| 公開(公告)號: | CN103023909A | 公開(公告)日: | 2013-04-03 |
| 發明(設計)人: | 羅鷹;伍宏寧 | 申請(專利權)人: | 成都科來軟件有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/70 |
| 代理公司: | 四川力久律師事務所 51221 | 代理人: | 熊曉果;林輝輪 |
| 地址: | 610000 四川省成都市高新*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網絡 數據包 協議 識別 方法 系統 | ||
技術領域
本發明涉及網絡技術領域,特別涉及一種網絡數據包協議識別方法及系統。
背景技術
數據包(Packet)是在封包交換網絡(例如,因特網)中的最小傳輸數據單元。網絡傳輸協議(簡稱協議)是為計算機網絡中進行數據交換而建立的規則、標準或約定的集合,是數據包中信息格式的規定。網絡設備在收到網絡數據包后,需要解析出數據包的內容才能完成相應的處理功能,首先需要識別數據包使用的網絡協議才能正確解析出數據包的內容。隨著網絡技術的不斷發展,新的網絡協議不斷涌現,要求數據包協議識別需要具有較好的擴展性。目前通常采用的數據包協議識別方法是:針對所有協議配置一套通用的識別模塊,提取每種協議的特征編寫為一個插件,加入到通用識別模塊中以完成識別,添加新協議時只需要將新協議的特征編寫為一個插件添加到通用識別模塊即可,擴展性好。但是通用識別模塊適用于所有協議,輸入待識別的數據包后,需要加載每一種協議的插件,然后將數據包中的關鍵字與通用識別模塊中的每一種協議插件中協議的特征值進行比較。一種協議有一個插件,與每一個插件進行比較都需要提取一次數據包中的關鍵字,運行效率低,每秒只能處理數萬個數據包。而且,協議越多,識別時需要進行比較的操作就越多,消耗的時間也就越長。隨著網絡容量的不斷擴大,在網絡流量分析等應用場合,需要對大量的數據包進行分析和處理,因此目前的數據包協議識別方法不能同時滿足擴展性和處理效率的要求。
發明內容
本發明的目的在于克服現有技術中所存在的擴展性和處理效率不能兼顧的不足,提供一種網絡數據包協議識別方法,該方法不但具有較好的擴展性,還具有較高的處理效率。本發明的另一目的是提供一種網絡數據包協議識別系統。
為了實現上述發明目的,本發明提供了以下技術方案:
一種網絡數據包協議識別方法,包括協議配置步驟和數據包協議識別步驟,其中,所述協議配置步驟包括:
A.輸入協議的協議特征信息,并存儲;
B.根據協議特征信息建立協議樹;
C.根據協議特征信息建立特征值表和判斷邏輯;
所述數據包協議識別步驟包括:
a.獲取待識別的數據包;
b.根據獲取數據包的物理介質,選取用于識別數據包協議的協議樹;
c.從數據包中讀取用于識別數據包協議的關鍵字的數值,并將讀取到的關鍵字的數值與特征值表和判斷邏輯進行比對,識別數據包協議。
根據本發明實施例,步驟A中所述協議特征信息包括:所述協議的名稱、所述協議的下級協議名稱、所述協議的關鍵字、特征值、關鍵字定義和比較方式,所述比較方式包括大于、等于、小于。
根據本發明實施例,所述步驟B中建立協議樹的方法是:根據協議特征信息,將一個協議作為一個協議節點,所有具有相同下級協議的協議組成一個節點層,再按照協議的上、下級關系,連接所有協議節點組成協議樹,組成同一個節點層的協議節點位于協議樹的同一個節點層,所述協議樹的入口為物理介質。
根據本發明實施例,步驟C中所述建立特征值表的方法是:遍歷存儲的所有協議的協議特征信息,選取所有比較方式為等于的協議,一個關鍵字建立一張特征值表,特征值表中記錄該關鍵字的所有特征值及各特征值對應的協議名稱;所述判斷邏輯由所有比較方式為大于或小于的協議的名稱及該協議的判斷條件構成。
根據本發明實施例,所述協議配置步驟中還包括步驟D.將所有特征值表和判斷邏輯組織成執行代碼,然后對執行代碼進編譯,生成識別引擎。
根據本發明實施例,所述步驟c從數據包中讀取用于識別數據包協議的關鍵字的數值,并將讀取到的關鍵字的數值與特征值表和判斷邏輯進行比對,識別數據包協議包括:
c1.進入協議樹的根節點;
c2.從數據包中讀取當前節點層中所有的協議節點的關鍵字在數據包中的數值;
c3.查詢當前節點層中所有的協議節點的關鍵字的特征值表,如果從數據包中讀取到的關鍵字的數值與特征值表中的某個特征值相同,則得出當前協議節點的協議為特征值表中該特征值對應的協議,并進入步驟c5,如果與特征值表中的所有特征值均不同則進入步驟c4;
c4.執行判斷邏輯,如果讀取的關鍵字的數值滿足判斷邏輯中的某判斷條件,則得出當前節點協議為該判斷條件對應的協議,并進入步驟b5,如果不滿足判斷邏輯中的任何判斷條件,則輸出識別結果;
c5.進入協議樹中當前節點層的下一個節點層,循環步驟c2~c4。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都科來軟件有限公司,未經成都科來軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210567370.4/2.html,轉載請聲明來源鉆瓜專利網。





