一種利用深度包檢測技術進行p2p網絡識別的方法
【專利摘要】一種利用DPI技術進行P2P網絡識別的方法,首先判斷待識別網絡的拓撲范圍值,若大于第一閾值則使用DPI技術進行判斷,否則則判斷一定時間內的輸入輸出數據量的比值。通過應用以上技術,能夠使得在流量識別中更加準確、快捷的得到識別結果,并且在識別流程上也大幅優化,能夠更容易的在現有設備中實現。
【專利說明】一種利用深度包檢測技術進行P2P網絡識別的方法
【技術領域】
[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技術進行P2P網絡識別的方法,包括:
步驟202、對待識別網絡進行測量,得到該參與該網絡的主機的拓撲范圍值,該拓撲范圍值為參與所述網絡中數據交互的主機的最大拓撲距離;
步驟204、判斷該拓撲范圍值是否大于預設的第一閾值,若是,則進入步驟206,若否,則進入步驟210 ; 步驟206、所述待識別網絡中的主機接收報文,對報文進行DPI處理,掃描其中的文本,進行模式匹配,使用由正則表達式構成的狀態機,將接收到的文本中的內容和狀態機中的模式相比較,確定接收到的報文的模式;
步驟208、若識別出該報文為P2P報文,則上報該網絡為P2P網絡,進入步驟214 ;若非P2P報文則不進行上報,進入步驟214 ;
步驟210、統計一段時間內主機的輸入數據量和輸出數據量,獲得所述輸入數據量和輸出數據量的比值;
步驟212、若所述比值小于第二閾值,則進入步驟206 ;否則不上報該網絡為P2P網絡,進入步驟214 ;
步驟214、流量識別結束。
[0015]網絡范圍的大小很大程度上標明了網絡協議的特性。本發明中,通過首先判斷網絡范圍,再進行有針對性的識別的方式,有效的區別了不同情況下的流量識別方式。并且,通過正則表達式構成的狀態機實現了 DPI的處理,精確的獲取處理結果。通過應用以上技術,能夠使得在流量識別中更加準確、快捷的得到識別結果,并且在識別流程上也大幅優化,能夠更各易的在現有設備中實現。
【專利附圖】
【附圖說明】
[0016]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例。對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0017]圖1為本發明實施例一的流程圖。
[0018]圖2為本發明實施例二的流程圖。
【具體實施方式】
[0019]為使本發明的目的、技術方案及優點更加清楚明白,以下將通過具體實施例和相關附圖,對本發明作進一步詳細說明。
[0020]實施例一
本發明實施例一提供了一種利用DPI技術進行P2P網絡識別的方法,包括:
步驟202、對待識別網絡進行測量,得到該參與該網絡的主機的拓撲范圍值,該拓撲范圍值為參與所述網絡中數據交互的主機的最大拓撲距離;
步驟204、判斷該拓撲范圍值是否大于預設的第一閾值,若是,則進入步驟206,若否,則進入步驟210 ;
步驟206、所述待識別網絡中的主機接收報文,對報文進行DPI處理,掃描其中的文本,進行模式匹配,使用由正則表達式構成的狀態機,將接收到的文本中的內容和狀態機中的模式相比較,確定接收到的報文的模式;
步驟208、若識別出該報文為P2P報文,則上報該網絡為P2P網絡,進入步驟214 ;若非P2P報文則不進行上報,進入步驟214 ;
步驟210、統計一段時間內主機的輸入數據量和輸出數據量,獲得所述輸入數據量和輸出數據量的比值;
步驟212、若所述比值小于第二閾值,則進入步驟206 ;否則不上報該網絡為P2P網絡,進入步驟214 ;
步驟214、流量識別結束。
[0021]實施例二
實施例一中測量拓撲范圍值具體為:
步驟2021、以任意一個主機為起點,標明該主機范圍值為0,以該主機為當前主機;步驟2022、獲取當前主機的范圍值,若其他未標明范圍值的主機發送數據到當前主機,則標明該主機的范圍值為當前主機范圍值減一;若其他未標明范圍值的主機從當前主機接收數據,則標明該主機的范圍值為當前主機范圍值加一;
步驟2023、跳轉到任意與當前主機有連接關系且已標明范圍值的主機,以該主機為當前主機,重復步驟2022,直到所有主機均標明范圍值為止;
步驟2024、將所有主機中最大的范圍值減去最小的范圍值,所得的差即為所述拓撲范圍值。
[0022]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過主機程序來指令相關的硬件來完成,所述的程序可存儲于一主機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0023]上列較佳實施例,對本發明的目的、技術方案和優點進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種利用DPI技術進行P2P網絡識別的方法,包括: 步驟202、對待識別網絡進行測量,得到該參與該網絡的主機的拓撲范圍值,該拓撲范圍值為參與所述網絡中數據交互的主機的最大拓撲距離; 步驟204、判斷該拓撲范圍值是否大于預設的第一閾值,若是,則進入步驟206,若否,則進入步驟210 ; 步驟206、所述待識別網絡中的主機接收報文,對報文進行DPI處理,掃描其中的文本,進行模式匹配,使用由正則表達式構成的狀態機,將接收到的文本中的內容和狀態機中的模式相比較,確定接收到的報文的模式; 步驟208、若識別出該報文為P2P報文,則上報該網絡為P2P網絡,進入步驟214 ;若非P2P報文則不進行上報,進入步驟214 ; 步驟210、統計一段時間內主機的輸入數據量和輸出數據量,獲得所述輸入數據量和輸出數據量的比值; 步驟212、若所述比值小于第二閾值,則進入步驟206 ;否則,不上報該網絡為P2P網絡,進入步驟214 ; 步驟214、流量識別結束。
2.根據權利要求1所述的方法,其特征在于,所述得到拓撲范圍值具體為: 步驟2021、以任意一個主機為起點,標明該主機范圍值為0,以該主機為當前主機;步驟2022、獲取當前主機的范圍值,若其他未標明范圍值的主機發送數據到當前主機,則標明該主機的范圍值為當前主機范圍值減一;若其他未標明范圍值的主機從當前主機接收數據,則標明該主機的范圍值為當前主機范圍值加一; 步驟2023、跳轉到任意與當前主機有連接關系且已標明范圍值的主機,以該主機為當前主機,重復步驟2022,直到所有主機均標明范圍值為止; 步驟2024、將所有主機中最大的范圍值減去最小的范圍值,所得的差即為所述拓撲范圍值。
【文檔編號】H04L29/08GK104243521SQ201310243431
【公開日】2014年12月24日 申請日期:2013年6月19日 優先權日:2013年6月19日
【發明者】蘇長君, 鄭曙光 申請人:北京思普崚技術有限公司