一種利用深度包檢測技術(shù)進(jìn)行p2p網(wǎng)絡(luò)識(shí)別的方法
【專利摘要】本發(fā)明為一種利用深度包檢測技術(shù)進(jìn)行P2P網(wǎng)絡(luò)識(shí)別的方法,通過首先判斷連接的特性,再進(jìn)行有針對(duì)性的識(shí)別的方式,有效的區(qū)別了不同情況下的網(wǎng)絡(luò)識(shí)別方式,能夠比較便捷的獲取識(shí)別結(jié)果。并且,通過正則表達(dá)式構(gòu)成的有限狀態(tài)機(jī)實(shí)現(xiàn)了DPI的處理,并使用二叉樹進(jìn)行查找,提高了查找效率,獲取了精確的處理結(jié)果。通過應(yīng)用以上技術(shù),能夠使得在流量識(shí)別中更加準(zhǔn)確、快捷的得到識(shí)別結(jié)果,并且在識(shí)別流程上也大幅優(yōu)化,能夠更容易的在現(xiàn)有設(shè)備中實(shí)現(xiàn)。
【專利說明】一種利用深度包檢測技術(shù)進(jìn)行P2P網(wǎng)絡(luò)識(shí)別的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種深度包檢測的方法。
【背景技術(shù)】
[0002]隨著近年來基于P2P (peer to peer)流量模型的新型網(wǎng)絡(luò)應(yīng)用的不斷發(fā)展,網(wǎng)絡(luò)帶寬資源的消耗速度不斷加快,網(wǎng)上傳統(tǒng)業(yè)務(wù)也受到了越來越大的沖擊和影響。P2P本身是一種很好的技術(shù),有廣闊的使用前景,但同時(shí)P2P也是一種殺傷力很強(qiáng)的技術(shù)。目前,基于P2P的應(yīng)用多為帶寬耗盡型的下載業(yè)務(wù),使得原本富裕的接入、匯聚和骨干帶寬資源被消耗殆盡,網(wǎng)絡(luò)鏈路經(jīng)常處于滿負(fù)荷狀態(tài),導(dǎo)致網(wǎng)絡(luò)服務(wù)質(zhì)量惡化(丟包率、時(shí)延及抖動(dòng)大大增加),使部分對(duì)端到端QoS (quality of service)要求較高的語音、視頻、游戲類業(yè)務(wù)的發(fā)展受到很大影響,同時(shí)擠占了傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用的帶寬資源。如何有效控制此類低價(jià)值業(yè)務(wù)流量對(duì)帶寬的侵蝕,解決骨干網(wǎng)增量不增收的現(xiàn)狀,是擺在運(yùn)營商面前的一個(gè)現(xiàn)實(shí)問題。
[0003]深度包檢測(DPI)技術(shù)是一種基于應(yīng)用層的流量檢測和控制技術(shù),當(dāng)IP數(shù)據(jù)包、TCP或UDP數(shù)據(jù)流通過基于DPI技術(shù)的帶寬管理系統(tǒng)時(shí),該系統(tǒng)通過深入讀取IP包載荷的內(nèi)容來對(duì)OSI七層協(xié)議中的應(yīng)用層信息進(jìn)行重組,從而得到整個(gè)應(yīng)用程序的內(nèi)容,然后按照系統(tǒng)定義的管理策略對(duì)流量進(jìn)行整形操作。深度包檢測法就是基于這種原理,通過檢測各種P2P應(yīng)用協(xié)議使用的固定特征字來識(shí)別各種P2P應(yīng)用。
[0004]使用DPI技術(shù)能帶來以下好處:
a)檢測準(zhǔn)確率比基于端口和流量模式的方法高,端口的變化不會(huì)影響檢測率。
[0005]b)能夠檢測使用最廣泛的P2P應(yīng)用。
[0006]c)適合流量的精確檢測。
[0007]發(fā)明人在實(shí)現(xiàn)實(shí)際使用DPI技術(shù)時(shí),發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下缺點(diǎn):
a)無法識(shí)別新出現(xiàn)的、經(jīng)加密的P2P應(yīng)用,會(huì)出現(xiàn)漏判。
[0008]b)協(xié)議分析和特征搜尋需要投入大量人力及時(shí)間。
[0009]c)難以獲取加密協(xié)議的特征。
d)特征的選擇對(duì)檢測性能有很大影響。
[0010]e)系統(tǒng)檢測模塊需不定期地進(jìn)行升級(jí)。
[0011]f)查看應(yīng)用層的內(nèi)容涉及隱私的問題。
[0012]g)對(duì)檢測設(shè)備的處理能力要求較高。
【發(fā)明內(nèi)容】
[0013]本發(fā)明提供了一種利用DPI技術(shù)進(jìn)行P2P網(wǎng)絡(luò)識(shí)別的方法,包括:
步驟202、構(gòu)造將表征識(shí)別模式的正則表達(dá)式,使用有限狀態(tài)機(jī)FSM來表示所述正則表達(dá)式;
步驟204、使用二叉樹的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)有限狀態(tài)機(jī)中的狀態(tài)轉(zhuǎn)移關(guān)系,從而使得每一個(gè)正則表達(dá)式均能由二叉樹中的一個(gè)節(jié)點(diǎn)來表示; 步驟206、獲取待測主機(jī)上當(dāng)前使用的IP連接數(shù)和當(dāng)前所使用的端口數(shù),計(jì)算他們之間的差值;
步驟208、判斷差值的絕對(duì)值是否大于第一閾值;
步驟210、若否,則進(jìn)入步驟212 ;若是,則進(jìn)入步驟222 ;
步驟212、獲取待測主機(jī)上所有IP連接所已持續(xù)的時(shí)長,將其與第二閾值比較,并統(tǒng)計(jì)時(shí)長超過第二閾值的IP連接的個(gè)數(shù);
步驟214、判斷所述超過第二閾值的時(shí)長的IP連接個(gè)數(shù)是否大于第三閾值;
步驟216、若是,則進(jìn)入步驟218 ;若否,則進(jìn)入步驟222 ;
步驟218、獲取待測主機(jī)上接收和發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行DPI處理,掃描其中的文本,進(jìn)行模式匹配,搜索所述二叉樹,將接收到的文本中的內(nèi)容和二叉樹中存儲(chǔ)的有限狀態(tài)機(jī)中的模式相比較,確定接收到的報(bào)文的模式;所述搜索所述二叉樹的方法是采用左側(cè)匹配的原則,即在二叉樹查找時(shí)使用左側(cè)最先匹配原則進(jìn)行查找;
步驟220、若識(shí)別出該報(bào)文為P2P報(bào)文,則上報(bào)該主機(jī)為P2P網(wǎng)絡(luò),網(wǎng)絡(luò)識(shí)別結(jié)束;若非P2P報(bào)文則不進(jìn)行上報(bào),進(jìn)入步驟222 ;
步驟222、不上報(bào),網(wǎng)絡(luò)識(shí)別結(jié)束。
[0014]根據(jù)P2P網(wǎng)絡(luò)的特性決定了發(fā)生P2P連接的特性,但這些特性有可能帶來不準(zhǔn)確的結(jié)果。本發(fā)明中,通過首先判斷連接的特性,再進(jìn)行有針對(duì)性的識(shí)別的方式,有效的區(qū)別了不同情況下的網(wǎng)絡(luò)識(shí)別方式,能夠比較便捷的獲取識(shí)別結(jié)果。并且,通過正則表達(dá)式構(gòu)成的有限狀態(tài)機(jī)實(shí)現(xiàn)了 DPI的處理,并使用二叉樹進(jìn)行查找,提高了查找效率,獲取了精確的處理結(jié)果。通過應(yīng)用以上技術(shù),能夠使得在流量識(shí)別中更加準(zhǔn)確、快捷的得到識(shí)別結(jié)果,并且在識(shí)別流程上也大幅優(yōu)化,能夠更容易的在現(xiàn)有設(shè)備中實(shí)現(xiàn)。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例。對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實(shí)施例一的流程圖。
【具體實(shí)施方式】
[0017]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下將通過具體實(shí)施例和相關(guān)附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0018]實(shí)施例一
本發(fā)明實(shí)施例一提供了一種利用DPI技術(shù)進(jìn)行P2P網(wǎng)絡(luò)識(shí)別的方法,包括:
步驟202、構(gòu)造將表征識(shí)別模式的正則表達(dá)式,使用有限狀態(tài)機(jī)FSM來表示所述正則表達(dá)式;
步驟204、使用二叉樹的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)有限狀態(tài)機(jī)中的狀態(tài)轉(zhuǎn)移關(guān)系,從而使得每一個(gè)正則表達(dá)式均能由二叉樹中的一個(gè)節(jié)點(diǎn)來表示;
步驟206、獲取待測主機(jī)上當(dāng)前使用的IP連接數(shù)和當(dāng)前所使用的端口數(shù),計(jì)算他們之間的差值;
步驟208、判斷差值的絕對(duì)值是否大于第一閾值;
步驟210、若否,則進(jìn)入步驟212 ;若是,則進(jìn)入步驟222 ;
步驟212、獲取待測主機(jī)上所有IP連接所已持續(xù)的時(shí)長,將其與第二閾值比較,并統(tǒng)計(jì)時(shí)長超過第二閾值的IP連接的個(gè)數(shù);
步驟214、判斷所述超過第二閾值的時(shí)長的IP連接個(gè)數(shù)是否大于第三閾值;
步驟216、若是,則進(jìn)入步驟218 ;若否,則進(jìn)入步驟222 ;
步驟218、獲取待測主機(jī)上接收和發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行DPI處理,掃描其中的文本,進(jìn)行模式匹配,搜索所述二叉樹,將接收到的文本中的內(nèi)容和二叉樹中存儲(chǔ)的有限狀態(tài)機(jī)中的模式相比較,確定接收到的報(bào)文的模式;所述搜索所述二叉樹的方法是采用左側(cè)匹配的原則,即在二叉樹查找時(shí)使用左側(cè)最先匹配原則進(jìn)行查找;
步驟220、若識(shí)別出該報(bào)文為P2P報(bào)文,則上報(bào)該主機(jī)為P2P網(wǎng)絡(luò),網(wǎng)絡(luò)識(shí)別結(jié)束;若非P2P報(bào)文則不進(jìn)行上報(bào),進(jìn)入步驟222 ;
步驟222、不上報(bào),網(wǎng)絡(luò)識(shí)別結(jié)束。
[0019]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過主機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一主機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0020]上列較佳實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種利用DPI技術(shù)進(jìn)行P2P網(wǎng)絡(luò)識(shí)別的方法,包括:
步驟202、構(gòu)造將表征識(shí)別模式的正則表達(dá)式,使用有限狀態(tài)機(jī)FSM來表示所述正則表 達(dá)式; 步驟204、使用二叉樹的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)有限狀態(tài)機(jī)中的狀態(tài)轉(zhuǎn)移關(guān)系,從而使得每一個(gè)正則表達(dá)式均能由二叉樹中的一個(gè)節(jié)點(diǎn)來表示; 步驟206、獲取待測主機(jī)上當(dāng)前使用的IP連接數(shù)和當(dāng)前所使用的端口數(shù),計(jì)算他們之間的差值; 步驟208、判斷差值的絕對(duì)值是否大于第一閾值; 步驟210、若否,則進(jìn)入步驟212 ;若是,則進(jìn)入步驟222 ; 步驟212、獲取待測主機(jī)上所有IP連接已持續(xù)的時(shí)長,將其與第二閾值比較,并統(tǒng)計(jì)時(shí)長超過第二閾值的IP連接的個(gè)數(shù); 步驟214、判斷所述超過第二閾值的時(shí)長的IP連接個(gè)數(shù)是否大于第三閾值; 步驟216、若是,則進(jìn)入步驟218 ;若否,則進(jìn)入步驟222 ; 步驟218、獲取待測主機(jī)上接收和發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行DPI處理,掃描其中的文本,進(jìn)行模式匹配,搜索所述二叉樹,將接收到的文本中的內(nèi)容和二叉樹中存儲(chǔ)的有限狀態(tài)機(jī)中的模式相比較,確定接收到的報(bào)文的模式;所述搜索所述二叉樹的方法是采用左側(cè)匹配的原則,即在二叉樹查找時(shí)使用左側(cè)最先匹配原則進(jìn)行查找; 步驟220、若識(shí)別出該報(bào)文為P2P報(bào)文,則上報(bào)該主機(jī)為P2P網(wǎng)絡(luò),網(wǎng)絡(luò)識(shí)別結(jié)束;若非P2P報(bào)文則不進(jìn)行上報(bào),進(jìn)入步驟222 ; 步驟222、不上報(bào),網(wǎng)絡(luò)識(shí)別結(jié)束。
【文檔編號(hào)】H04L12/813GK104253712SQ201310257198
【公開日】2014年12月31日 申請日期:2013年6月26日 優(yōu)先權(quán)日:2013年6月26日
【發(fā)明者】蘇長君, 鄭曙光 申請人:北京思普崚技術(shù)有限公司