專利名稱:基于特征庫的流量識別方法
技術領域:
本發明涉及一種在通信網絡中精確流量識別的方法,尤其涉及一 種針對通信網絡中應用特征經常變化的特點,靈活利用應用特征庫實 現精確流量識別方法。屬于網絡協議分析技術領域。
背景技術:
隨著Internet帶寬的增加,網絡的應用種類越來多。新業務的 出現,極大地促進了網絡的發展,但同時也改變了已有的網絡流量模 型,給網絡管理、流量監測提出了新的挑戰。對于流量識別方法的研 究,有助于幫助管理員了解網絡中承栽的流量分布情況,進一步了解 應用流量的增長對網絡性能的影響,協助更好地對網絡進行規劃設 計。同時,可以探索對不同業務的QoS需求以及新的計費模式.
當前Internet中的流量依據應用的不同可以分成不同類別,如 表1所示
表l Internet應用分類
應用分類應用舉例
網頁瀏覽HTTP
下載FTP
流媒體RTP
VoIPSIP、 H. 323
P2PBT、 eDonkey
網絡游戲WOW
電子郵件SMTP、 P0P3
即時通訊QQ、 MSN
流量識別,就是將數據包與產生該數據包的應用對應起來的過 程?,F有技術中的流量識別方法,根據識別所依據信息的不同可分為
三種其一是基于端口的流量識別方法、其二是基于特征的流量識別 方法、其三是基于協議流程分析的流量識別方法?;诙丝诘牧髁孔R別方法是最簡單的流量識別方法,其原理是檢 查報文分組的傳輸信息,如果端口號與某些特定的端口號匹配,則該 報文即為該應用流量分組,可以按照預設的動作對其進行處理。特定
的端口號主要是IANA分配的一些著名端口(wel卜knownport ),如21 (FTP)、 23 ( Telnet )、 25 ( SMTP )、 110 ( POP )、 80 ( HTTP )。這種 方法筒單,開銷很小,易實現、但最大的缺點是不準確,尤其是對一 些新的應用,如P2P、流媒體等應用。這些新應用為了能夠穿透防火 墻,防止被阻斷,通常不采用靜態的端口,而是動態分配端口。
基于特征的流量識別方法是根據不同應用表現的不同特征 (Signature)來識別數據包所對應的應用。特征可以是報文中的特 征字符串,也可以是應用行為特征,或者是一些統計特性。
特征字符串識別是通過檢查分組內部攜帶的負載信息進行分組 識別的方法。即對常見的網絡用協議的特征進行分析,提取特征信息, 根據特征信息對報文進行模式匹配對比,從而判斷出該報文是否屬于 某一類網絡應用。對于私有協議,可以采用逆向工程的方法。
應用行為特征識別則主要用于識別P2P和流媒體等新應用,例 如,通過觀察源和目的IP地址的連接模式,可以發現一些模式是P2P 所獨有的,由此可以將P2P流量識別出來。大約2/3的P2P協議同時 使用TCP和UDP協議,而其他應用中同時使用兩種協議的僅僅包括 NetBIOS、視頻等少數應用。另外,當某一P2P主機和其它主機建立 連接時,對端口而言,與其建立連接的IP地址數目就等于與其建立 連接的不同端口數目。對這兩種特殊模式的掃描追蹤,就能識別出 P2P應用。
相對于端口識別和特征字符串識別,應用行為特征的識別需M 更多的分析。只有在系統收集到了足夠的數據,經過了很長時間的智 能模型建立,才能非常有效的進行識別。
基于統計特性的識別方法在實時流量識別應用存在困難。
根據特征分析識別方法的問題是擴展性差,需要大量的事前分析 來確定排他特征。
對于一些新業務,如流媒體應用,還可以采用基于協議流程分析 的流量識別方法。 一般一個完整的流程會涉及到多個會話,即控制會話和動態會話。 一個會話(Session)是指用戶間的數據交換過程。 通過控制會話建立連接、協商數據傳輸參數、啟動和撤銷傳輸。不同 于使用固定端口或默認端口的應用,動態會話的端口 、協i義信息是在 控制會話中動態協商的。協議流程分析方法是才艮據構成一次應用的多 個會話之間的關聯關系,從控制會話中提取動態會話信息,根據這些 信息來識別該應用涉及的動態會話。
基于協議流程分析的識別方法,對控制協議的識別效率和準確率 直接影響到最終的識別效果。
流量識別技術有如下要求
>準確,需要將誤報和漏報降低到一個可接受的限度。 >盡早識別,識別是對新業務進行分析、控制的基礎,因此要盡 早識別流量所屬的應用類型。最理想的識別方法是在收到該 應用的第一個數據包就識別出該數據包所在流的應用類型。 >可擴展,能夠對高速鏈路上流量進行快速識別。 >健壯,在網絡不穩定的情況下(路由不對稱、丟包、包亂序等)
仍能夠做到比較準確的識別。 >性能,在線速的情況下滿足流量識別的功能需求,同時對業務
沒有丟包、延遲等影響。 如何在上述這幾個要求之間做到有效的權衡是流量識別方法研 究要解決的問題。
基于端口的流量識別方法簡單但準確性不高;基于流量特征識別 方法由于需要對報文內部數據進行全面的檢查分析,實現效率較低, 影響業務性能?;趨f議流程分析的識別方法在擴展性和時效性等方 面也存在不足。
發明內容
本發明的目的是為了克服現有技術中基于端口的流量識別方法 存在的簡單而又準確性不高的缺點,基于流量特征識別方法存在的由 于需要對報文內部數據進行全面的檢查分析,實現效率較低、影響業 務性能的缺點,基于協議流程分析的識別方法存在的在擴展性和時效 性等方面存在的缺點,提供一種針對通信網絡中應用特征經常變化的特點,基于特征庫的流量識別方法。
本發明的基于特征庫的流量識別方法是通過以下技術方案實現
的
本發明的基于特征庫的流量識別方法,包括如下步驟 步驟l:將各種網絡應用的特征生成為特定格式的特征庫;
步驟2:將所迷特征庫加載到支持快速內容查找的協處理器中;
步驟3:在流量識別時按照M (會話是指用戶間的數據交換過 程)對流量中的報文進行特征匹配,匹配成功的會話被標記成特征所 對應的網絡應用;
步驟4:管理員通過管理界面對特征庫中的特征進行增刪改查, 對特征的更新在管理員確認后會立即加載到支持快速內容查找的協 處理器中。
而且,所述步驟1包括
步驟101:將各種網絡應用的特征按照特定格式編輯成一個可讀 的特征文件,對于每種應用, 一般包括如下信息應用名稱,便于使 用者查看;應用ID,便于系統檢索;特征值描述,每種應用可以有 多個特征值描述, 一個特征值描述包括協議類型、特征字符串、特 征字符串位置湘對于報文頭或尾的偏移)、特征掩碼(表示特征字符 串中的某些字符可以為任意字符)。
每種應用可以編輯的特征值描述的個數以及整個特征庫可以容 納的應用數目一般情況下取決于采用的快速內容查找協處理器的規 格,
步驟102:將編輯好的特征文件進行預編譯,生成特征庫文件, 所述特征庫文件用于在系統初始化時加栽到快速內容查找協處理器中。
而且,所述步驟2包括
步驟201:從存儲單元中讀取預編譯后的特征庫文件; 步驟202:將特征庫文件寫入快速內容查找協處理器的特征值映 射表中,形成應用特征庫,特征匹配的結果被同時存儲在系統的常規內存的一個表中,這個表被稱作結果表,其中的表項就包含有相應應
用的ID等信息。
快速內容查找協處理器可采用三重內容可尋址存儲器(TCAM),這 是一種較通用的硬件查找技術,其芯片采用內部并行技術,可以獲得 0 (1)的查找復雜度(如果算法的執行時間不隨著問題規模n的增加而 增長,即使算法中有上千條語句,其執行時間也不過是一個較大的常 數。此類算法的時間復雜度是0(1)。),與其它技術相比,TCAM的技 術優勢在于查找速度快、實現筒單。
而且,所述步驟3包括
步驟301:所述步驟3中的報文為帶有有效載荷(有效載荷通常 是指跟在IP報頭后面的數據)的報文,對所述帶有有效栽荷的報文 進行預處理,截取其有效栽荷的特定部分,組織成供特征庫匹配使用 的查找關鍵字;
步驟302:用快速內容查找協處理器的特征映射表訪問接口,發 出查詢請求。由于快速內容查找協處理器的查找速度很快,因此,幾 乎在沒有等待的情況下得到查詢請求結果,如是查詢命中(即找到了 匹配項),這個結果是一個常規內存地址,其實也就是結果表的一個 表項的地址,訪問這個地址可以得到報文對應的網絡應用的ID;如 果沒有命中(即未找到匹配項),則表示查詢失敗,該^L文應用未知。
由于一種網絡應用協議可以配置多條特征值描述,并且這些特征 可以在快速內容查找協處理器中并發地進行匹配,因此本發明不僅在 效提高了流量識別的準確性,而且也有效提高了流量識別的性能,
而且,所述步驟4中管理員通過管理界面瀏覽特征庫中的每一個 應用。
而且,所述步驟4中管理員通過管理界面修改應用名稱。 而且,所述步驟4中管理員通過管理界面添加或刪除應用。 而且,所述步驟4中管理員通過管理界面編輯已有的任何特征 字符串及添加或刪除特征字符串。
所有對于特征庫的修改,在管理員確認后都會實時加載到快速內容查找協處理器中,從而在流量識別的擴展性上獲得有效提高。
當一個會話已經被識別為某個應用之后,管理員對于特征庫的 任何操作都不會改變此流量識別的結果,也就是說。特征庫的變化只 會對在變化之后發生的會話有效。
特定格式是符合XML語言(Extensible Markup Language,翻 譯為可擴展標記語言。XML不同于標記預定義的標記語言如HTML,是 一種可以由使用者自由定義標記的標記語言)格式的特征定義, 一般 格式如下 <Signature>
(application name-"第一個網絡應用名稱"id-"第一個網絡應用 ID">
<sig protocol-"第一個特征的協議類型"offset-"第一個特征的特 征字符串位置"value- "第一個特征的特征字符串"mask^'第一個特 征的特征字符串掩碼"/〉
<sig protocol-"最后一個特征的協議類型"offset-"最后一個特征 的特征字符串位置"value- "最后一個特征的特征字符串"mask-" 最后一個特征的特征字符串掩碼"/> </application>
Application name-"最后一個網絡應用名稱"id-"最后一個網絡應 用ID">
<sig protocol-"第一個特征的協議類型"offset-"第一個特征的特 征字符串位置"value- "第一個特征的特征字符串"mask-"第一個特 征的特征字符串掩碼"/>
<sig protocol-"最后一個特征的協議類型"offset-"最后一個特征 的特征字符串位置"value- "最后一個特征的特征字符串"mask-" 最后一個特征的特征字符串掩碼"/></application> </Signature>
本發明相對現有技術具有的有益效果
1 、本發明的基于特征庫的流量識別方法由于一種網絡應用協議 可以配置多條特征值描述,并且這些特征可以在快速內容查找協處理 器中并發地進行匹配,因此不僅有效提高了流量識別的準確性,而且 也有效提高了流量識別的性能。
2、本發明的基于特征庫的流量識別方法,管理員通過管理界面, 可以瀏覽特征庫中的每一個應用,可以#~改應用的名稱,可以添加或 者刪除應用,對于特征庫中的一個應用,管理員可以編輯已有的任何 特征字符串,可以添加或者刪除特征字符串,所有對于特征庫的修改, 在管理員確認后都會實時加載到快速內容查找協處理器中,從而在流 量識別的擴展性上獲得有效提高。
圖1為本發明的基于特征庫的流量識別方法流程圖。
具體實施例方式
為了使本領域的一般技術人員能夠清楚理解本發明的技術方 案,現結合附圖作進一步詳盡地說明
本發明的基于特征庫的流量識別方法,如圖l所示,包括如下步
驟
步驟l:將各種網絡應用的特征生成為特定格式的特征庫; 步驟2:將所述特征庫加載到支持快速內容查找的協處理器中; 步驟3:在流量識別時按照會話(會話是指用戶間的數據交換過
程)對流量的報文進行特征匹配,匹配成功的會話凈皮標記成相應的網
絡應用;
步驟4:管理員通過管理界面對特征庫中的特征進行增刪改查,對特征的更新在管理員確認后會立即加栽到支持快速內容查找的協 處理器中。
進一步,所述步驟l包括
步驟101:將各種網絡應用的特征按照特定格式編輯成一個可讀 的特征文件;
步驟102:將編輯好的特征文件進行預編譯,生成特征庫文件, 所述特征庫文件用于在系統初始化時加栽到快速內容查找協處理器 中。
進一步,所述步驟2包括
步驟201:從存儲單元中讀取預編譯后的特征庫文件; 步驟202:通過訪問接口將特征庫文件寫入快速內容查找協處理 器的特征值映射表中,形成應用特征庫。 進一步,所述步驟3包括
步驟301:所述步驟3中的報文為帶有有效載荷(有效載荷通常 是指跟在IP報頭后面的數據)的報文,對所述帶有有效載荷的報文 進行預處理,截取其有效載荷的特定部分,組織成供特征庫匹配使用 的查找關鍵字;
步驟302:用快速內容查找協處理器的特征映射表訪問接口,發 出查詢請求。
進一步,所述步驟4中管理員通過管理界面瀏覽特征庫中的每一 個應用。
進一步,所述步驟4中管理員通過管理界面修改應用名稱。 進一步,所述步驟4中管理員通過管理界面添加或刪除應用。 進一步,所述步驟4中管理員通過管理界面編輯已有的任何特征
字符串及添加或刪除特征字符串。
實施例
下面以識別BitTorrent網絡應用為例說明基于特征庫的流量識 別的具體步驟。
步驟101:將BitTorrent網絡應用的特征按照特定格式編輯成一個可讀的特征文件sig. xml,格式如下
<Signature>
-application name="bittoirent" id="l">
<sig protocol-"tcp', o泡et-"OO" vahie="00 01 02 03 04 05 06 07 08 09 OA OB 0C OD OE OF" mask-"OO 01 02 (B 04 05 06 07 08 09 OAOBOCODOEOF"/>
<sig protocol-"udp" offset-"OO" value="00 01 02 03 04 05 06 07 08 09 OA OB OC OD OE OF" mask="00 01 02 03 04 05 06 07 08 09 OAQBOCQDOEOF,/>
</application> </Signature>
步驟102:將編輯好的特征文件sig.xml進行預編譯,生成特征 庫文件sig. bin,所述特征庫文件用于在系統初始化時加載到快速內 容查找協處理器中。
進一步,所述步驟2包括
步驟201:從存儲單元中讀取預編譯后的特征庫文件sig. bin; 步驟202:通過訪問接口將特征庫文件sig. bin寫入快速內容查 找協處理器的特征值映射表sig-team—info中,形成應用特征庫。 進一步,所述步驟3包括
步驟301:所述步驟3中的報文為帶有有效栽荷(有效載荷通常 是指跟在IP報頭后面的數據)的報文,對所述帶有有效載荷的報文 進行預處理,截取其有效載荷的特定部分:起始為有效載荷第O字節, 截取長度為16字節,組織成供特征庫匹配使用的查找關鍵字 search—keyj
步驟302 :用快速內容查找協處理器的特征映射表sig-tcam—info訪問接口 ,發出查詢請求。如果search—key與特征 庫中BitTorrent的某一個特征字符串匹配,則該報文所在的會話就 -故標記為BitTorrent網絡應用;
進一步,所述步驟4中管理員通過管理界面瀏覽特征庫中的 BitTorrent應用。
進一步,所述步驟4中管理員通過管理界面修改BitTorrent應 用名稱。
進一步,所述步驟4中管理員通過管理界面添加或刪除 BitTorrent應用。
進一步,所述步驟4中管理員通過管理界面編輯BitTorrent應 用的已有的任何特征字符串及添加或刪除其特征字符串。
權利要求
1、一種基于特征庫的流量識別方法,其特征在于,包括如下步驟步驟1將各種網絡應用的特征生成為特定格式的特征庫;步驟2將所述特征庫加載到支持快速內容查找的協處理器中;步驟3按照會話對流量的報文進行特征匹配,匹配成功的會話被標記成特征所對應的網絡應用;步驟4管理員通過管理界面對特征庫中的特征進行增刪改查。
2、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟l包括步驟101:將各種網絡應用的特征按照特定格式編輯成一個可讀 的特征文件;步驟102:將編輯好的特征文件進行預編譯,生成特征庫文件, 所述特征庫文件用于在系統初始化時加載到快速內容查找協處理器 中。
3、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟2包括步驟201:從存儲單元中讀取預編譯后的特征庫文件; 步驟202:通過訪問接口將特征庫文件寫入快速內容查找協處理 器的特征值映射表中,形成應用特征庫。
4、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟3包括步驟301:所述步驟3中的報文為帶有有效載荷的報文,對所述帶有有效載荷的報文進行預處理,截取其有效載荷的特定部分,組織 成供特征庫匹配使用的查找關鍵字;步驟302:用快速內容查找協處理器的特征映射表訪問接口,發出查詢請求。
5、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟4中管理員通過管理界面瀏覽特征庫中的每一個應 用。
6、 才艮據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟4中管理員通過管理界面修改應用名稱。
7、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟4中管理員通過管理界面添加或刪除應用。
8、 根據權利要求1所述的基于特征庫的流量識別方法,其特 征在于,所述步驟4中管理員通過管理界面編輯已有的任何特征字符 串及添加或刪除特征字符串。
全文摘要
一種基于特征庫的流量識別方法,包括如下步驟特征庫生成;初始化特征庫加載;特征庫流量識別;特征庫在線維護。本發明的基于特征庫的流量識別方法由于一種網絡應用協議可以配置多條特征值描述,并且這些特征可以在快速內容查找協處理器中并發地進行匹配,因此不僅有效提高了流量識別的準確性,而且也有效提高了流量識別的性能。管理員通過管理界面,可以瀏覽特征庫中的每一個應用、修改應用的名稱、添加或者刪除應用,對于特征庫中的一個應用,管理員可以編輯已有的任何特征字符串,可以添加或者刪除特征字符串,所有對于特征庫的修改,在管理員確認后都會實時加載到快速內容查找協處理器中,從而在流量識別的擴展性上獲得有效提高。
文檔編號H04L12/56GK101442489SQ20081024113
公開日2009年5月27日 申請日期2008年12月30日 優先權日2008年12月30日
發明者凡 鄧 申請人:北京暢訊信通科技有限公司