一種基于深度包檢測的流量識別方法
【專利摘要】一種基于深度包檢測的流量識別方法,首先判斷接收到的報文中的TCP端口號是否大于第一閾值,若大于第一閾值則使用DPI技術進行判斷,否則則使用TCP連接信息進行判斷。通過應用以上技術,能夠使得在流量識別中更加準確、快捷的得到識別結果,并且在識別流程上也大幅優化,能夠更容易的在現有設備中實現。
【專利說明】一種基于深度包檢測的流量識別方法
【技術領域】
[0001]本發明涉及通信【技術領域】,尤其涉及一種深度包檢測的方法。
【背景技術】
[0002]隨著近年來基于P2P (peer to peer)流量模型的新型網絡應用的不斷發展,網絡帶寬資源的消耗速度不斷加快,網上傳統業務也受到了越來越大的沖擊和影響。P2P本身是一種很好的技術,有廣闊的使用前景,但同時P2P也是一種殺傷力很強的技術。目前,基于P2P的應用多為帶寬耗盡型的下載業務,使得原本富裕的接入、匯聚和骨干帶寬資源被消耗殆盡,網絡鏈路經常處于滿負荷狀態,導致網絡服務質量惡化(丟包率、時延及抖動大大增加),使部分對端到端QoS (quality of service)要求較高的語音、視頻、游戲類業務的發展受到很大影響,同時擠占了傳統互聯網應用的帶寬資源。如何有效控制此類低價值業務流量對帶寬的侵蝕,解決骨干網增量不增收的現狀,是擺在運營商面前的一個現實問題。
[0003]深度包檢測(DPI)技術是一種基于應用層的流量檢測和控制技術,當IP數據包、TCP或UDP數據流通過基于DPI技術的帶寬管理系統時,該系統通過深入讀取IP包載荷的內容來對OSI七層協議中的應用層信息進行重組,從而得到整個應用程序的內容,然后按照系統定義的管理策略對流量進行整形操作。深度包檢測法就是基于這種原理,通過檢測各種P2P應用協議使用的固定特征字來識別各種P2P應用。
[0004]使用DPI技術能帶來以下好處:
a)檢測準確率比基于端口和流量模式的方法高,端口的變化不會影響檢測率。
[0005]b)能夠檢測使用最廣泛的P2P應用。
[0006]c)適合流量的精確檢測。
[0007]發明人在實現實際使用DPI技術時,發現現有技術至少存在如下缺點: a)無法識別新出現的、經加密的P2P應用,會出現漏判。
[0008]b)協議分析和特征搜尋需要投入大量人力及時間。
[0009]c)難以獲取加密協議的特征。
[0010]d)特征的選擇對檢測性能有很大影響。
[0011]e)系統檢測模塊需不定期地進行升級。
[0012]f)查看應用層的內容涉及隱私的問題。
[0013]g)對檢測設備的處理能力要求較高。
【發明內容】
[0014]本發明提供了一種利用DPI技術進行TCP流量識別的方法,包括:
步驟202、接收TCP連接報文,所述報文中包括網絡控制數據和用戶發送的數據;
步驟204、識別報文中包括的源端的端口號,對端口號進行判斷;
步驟206、若端口號大于預設的第一閾值則跳轉到步驟212,否則進入步驟208 ;
步驟208、對報文進行DPI處理,提取報文中的字符串,將字符串經過由I個哈希函數構成的Bloom Filter,進行粗匹配,若匹配成功則直接報告匹配結果,進入步驟210 ;若匹配不成功,貝1J進入細匹配,將字符串經過由η個哈希函數構成的Bloom Filter,其中η為自然數且η>1,獲得匹配結果,進入步驟210 ;
步驟210、所述匹配結果進行分析,若是異常結果則對異常進行上報,進入步驟214 ;若非異常結果則不進行上報,進入步驟214 ;
步驟212、對TCP連接信息進行分析,若在一定的時間內TCP的連接數大于第二閾值且該一定的時間內最大連接數和最小連接數差值高于第三閾值,則判斷流量異常,對異常進行上報,進入步驟214 ;否則不上報異常,進入步驟214 ;
步驟214、流量識別結束。
[0015]本發明中,通過首先判斷端口號,再進行有針對性的識別的方式,有效的區別了不同情況下的流量識別方式。并且,通過Bloom Filter實現了 DPI的處理,精確的獲取處理結果。同時,通過判斷TCP連接的特征更加便捷的實現了流量的識別。通過應用以上技術,能夠使得在流量識別中更加準確、快捷的得到識別結果,并且在識別流程上也大幅優化,能夠更容易的在現有設備中實現。
【專利附圖】
【附圖說明】
[0016]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹。
[0017]顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0018]圖1為本發明實施一的流程圖。
【具體實施方式】
[0019]為使本發明的目的、技術方案及優點更加清楚明白,以下將通過具體實施例和相關附圖,對本發明作進一步詳細說明。
[0020]實施例一
本發明實施例一提供了一種利用DPI技術進行TCP流量識別的方法,包括:
步驟202、接收TCP連接報文,所述報文中包括網絡控制數據和用戶發送的數據;
步驟204、識別報文中包括的源端的端口號,對端口號進行判斷;
步驟206、若端口號大于預設的第一閾值則跳轉到步驟212,否則進入步驟208 ;
步驟208、對報文進行DPI處理,提取報文中的字符串,將字符串經過由I個哈希函數構成的Bloom Filter,進行粗匹配,若匹配成功則直接報告匹配結果,進入步驟210 ;若匹配不成功,貝1J進入細匹配,將字符串經過由η個哈希函數構成的Bloom Filter,其中η>1,獲得匹配結果,進入步驟210 ;
步驟210、對所述匹配結果進行分析,若是異常結果則對異常進行上報,進入步驟214 ;若非異常結果則不進行上報,進入步驟214 ;
步驟212、對TCP連接信息進行分析,若在一定的時間內TCP的連接數大于第二閾值且連接數的變化率高于第三閾值,則判斷流量異常,對異常進行上報,進入步驟214 ;否則不上報異常,進入步驟214; 步驟214、流量識別結束。
[0021]實施例二
在實施例一的步驟214完成后,繼續進行步驟216、將異常的報文的特征進行存儲,以參照該特征對后續報文進行識別,所述特征包括以下至少一項:所述TCP連接的五元組、所述匹配結果。
[0022]實施例三
在實施例二的參照該特征對后續報文進行識別中,具體為:根據異常報文所在的TCP的源IP地址和目的IP地址識別發送異常報文的通信雙方,對于該通信雙方的所有端口上發送的數據進行DPI處理,獲取匹配結果,并進行分析,上報異常結果。
[0023]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0024]上列較佳實施例,對本發明的目的、技術方案和優點進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種利用DPI技術進行TCP流量識別的方法,其特征在于,包括: 步驟202、接收TCP連接報文,所述報文中包括網絡控制數據和用戶發送的數據; 步驟204、識別報文中包括的源端的端口號,對端口號進行判斷; 步驟206、若端口號大于預設的第一閾值則跳轉到步驟212,否則進入步驟208 ; 步驟208、對報文進行DPI處理,提取報文中的字符串,將字符串經過由I個哈希函數構成的Bloom Filter,進行粗匹配,若匹配成功則直接報告匹配結果,進入步驟210 ;若匹配不成功,貝1J進入細匹配,將字符串經過由η個哈希函數構成的Bloom Filter,其中η>1,獲得匹配結果,進入步驟210 ; 步驟210、所述匹配結果進行分析,若是異常結果則對異常進行上報,進入步驟214 ;若非異常結果則不進行上報,進入步驟214 ; 步驟212、對TCP連接信息進行分析,若在一定的時間內TCP的連接數大于第二閾值且連接數的變化率高于第三閾值,則判斷流量異常,對異常進行上報,進入步驟214;否則不上報異常,進入步驟214; 步驟214、流量識別結束。
2.根據權利要求1所述的方法,其特征在于,在步驟214之后,還包括: 步驟216、將異常的報文的特征進行存儲,以參照該特征對后續報文進行識別,所述特征包括以下至少一項:所述TCP連接的五元組、所述匹配結果。
【文檔編號】H04L12/801GK104243225SQ201310243498
【公開日】2014年12月24日 申請日期:2013年6月19日 優先權日:2013年6月19日
【發明者】不公告發明人 申請人:北京思普崚技術有限公司