摘 要: 分析了幾類主要的P2P業(yè)務(wù)識別方法,,重點分析了基于流的內(nèi)在特征的各種識別方法,,并對其優(yōu)缺點作出評價,,指出了P2P識別技術(shù)進(jìn)一步的發(fā)展方向,。
關(guān)鍵詞: P2P;識別技術(shù),;網(wǎng)絡(luò)流的內(nèi)在特征
當(dāng)前P2P業(yè)務(wù)已占到網(wǎng)絡(luò)業(yè)務(wù)的60%~70%,,成為網(wǎng)絡(luò)帶寬主要的使用者,而且P2P應(yīng)用呈現(xiàn)快速增長的趨勢,。P2P的飛速發(fā)展,,一方面給用戶帶來方便,提供了多種類的業(yè)務(wù),,但另一方面也帶來了許多負(fù)面的問題,。如:P2P文件共享過程中的版權(quán)問題;應(yīng)用中大量占用網(wǎng)絡(luò)帶寬的問題,;流量模式對傳統(tǒng)網(wǎng)絡(luò)設(shè)計帶來的挑戰(zhàn)等,。因此,,如何有效地識別P2P業(yè)務(wù)并進(jìn)一步對其進(jìn)行管理,對互聯(lián)網(wǎng)業(yè)務(wù)提供者或運營商(ISP)及企業(yè)用戶等已成為迫切需要解決的問題,。
P2P(Peer-to-Peer)即點對點技術(shù),。該技術(shù)與傳統(tǒng)網(wǎng)絡(luò)技術(shù)顯著的不同點在于其結(jié)構(gòu)模式的不同。傳統(tǒng)技術(shù)采用客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu),,而P2P從總體上來說是一種分布式網(wǎng)絡(luò)模型,。C/S模式中,1臺計算機(jī)想獲取服務(wù),,需向存儲大量數(shù)據(jù)的服務(wù)器提出請求才能獲得服務(wù),,這種模式存在著明顯的主從關(guān)系,當(dāng)服務(wù)器過載時,,服務(wù)器就變成了網(wǎng)絡(luò)中的瓶頸,。而在P2P中,成千上萬臺彼此連接的計算機(jī)都處于對等地位,,整個網(wǎng)絡(luò)一般不依賴于專用中央服務(wù)器,, 每個結(jié)點既是資源提供者(Server),又是資源獲取者(Client)[1],。正是這種結(jié)構(gòu)促使P2P業(yè)務(wù)能充分利用各臺主機(jī)的資源,,包括帶寬、存儲空間和計算能力而得到了快速發(fā)展,。
目前P2P的應(yīng)用主要有如下幾個方面[2]:文件共享類,、視頻點播類和即時通信類等。文件共享類包括迅雷,,BT,、電驢等,視頻點播類包括PPlive等,,即時通信類包括QQ,、MSN、SKYPE等,。此外,,P2P還應(yīng)用于分布式計算、協(xié)同工作等領(lǐng)域,。
P2P業(yè)務(wù)在給網(wǎng)絡(luò)用戶帶來便利的同時也產(chǎn)生了一些問題,。據(jù)估計,在現(xiàn)今互聯(lián)網(wǎng)帶寬中,,P2P業(yè)務(wù)已占據(jù)大部分,,且P2P用戶經(jīng)常是長時間占用帶寬。因為大量占用帶寬,,從而影響了用戶正常的網(wǎng)絡(luò)使用業(yè)務(wù),,如瀏覽網(wǎng)頁,、收發(fā)郵件等。同時還帶來了一些其他的問題,,如安全、版權(quán)問題等,,同時P2P的結(jié)構(gòu)模式對現(xiàn)有網(wǎng)絡(luò)設(shè)計規(guī)劃也帶來影響,。因此,就需要對P2P業(yè)務(wù)進(jìn)行有效的管理,,而識別P2P業(yè)務(wù)是進(jìn)行管理的前提,。
1 早期P2P業(yè)務(wù)識別技術(shù)
1.1 端口法
最早出現(xiàn)的P2P業(yè)務(wù)具有固定的默認(rèn)端口,因此用端口識別法能很容易地將P2P業(yè)務(wù)識別出來,,但不能適應(yīng)業(yè)務(wù)發(fā)展的要求,,準(zhǔn)確率也低。
1.2 簽名匹配法[3]
這種方法的出發(fā)點是在P2P的各種協(xié)議中具有特定的報文信息,,可根據(jù)這些特定的報文信息來識別每種具體的P2P應(yīng)用,。其識別準(zhǔn)確率高,尤其是能識別具體的應(yīng)用,。但只能對已有的業(yè)務(wù)進(jìn)行識別,,對加密的業(yè)務(wù)不能識別,會涉及到隱私問題,,效率不高,。
以上2種識別方法對新業(yè)務(wù)的適應(yīng)性都不是很好,若能提取P2P業(yè)務(wù)內(nèi)在的固有的特征,,則有可能從根本上解決問題,,這也是目前研究的方向。
2 基于各種內(nèi)在特征的P2P業(yè)務(wù)識別方法
2.1 利用傳輸層信息
傳輸層連接模式特征識別法[4]是基于P2P網(wǎng)絡(luò)的連接模式,,而不是基于分組內(nèi)容,。因此,不依賴于P2P協(xié)議具體的數(shù)據(jù)內(nèi)容就能進(jìn)行識別,,而且也能識別出以前未知的P2P協(xié)議,。此法只統(tǒng)計用戶分組的首部信息,即源IP地址,、目的IP地址,、協(xié)議類型、源端口,、目的端口,,這是因為P2P業(yè)務(wù)所用的傳輸協(xié)議及其連接的{IP,Port}對其獨有的,、有別于其他業(yè)務(wù)的特征可以來識別P2P業(yè)務(wù),。以此為基礎(chǔ),,Thomas Karagiannis等人給出了如下兩種啟發(fā)式方法:
(1)TCP/UDP混用
識別出那些同時使用TCP和UDP進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)用。P2P節(jié)點一般在初始連接階段采用UDP來發(fā)送控制信息,,而采用TCP來傳輸數(shù)據(jù),。通常的應(yīng)用極少同時使用UDP和TCP。因此,,可以利用這個特征來識別P2P流,。研究表明,大約2/3的P2P協(xié)議同時使用TCP和UDP協(xié)議,,而其他應(yīng)用中,,同時使用2種協(xié)議的只有NetBIOS、游戲,、視頻等少量應(yīng)用,,而這些應(yīng)用通常有固定的使用端口,因此能很容易將其區(qū)分出來,。如果某個應(yīng)用同時使用TCP和UDP作為傳輸協(xié)議,,那么可以認(rèn)為這個應(yīng)用很有可能就是P2P應(yīng)用。
(2){IP,,Port}對的連接模式
P2P網(wǎng)絡(luò)是分布式或混合式的,,根據(jù)不同的網(wǎng)絡(luò),P2P節(jié)點可能會存儲網(wǎng)絡(luò)中其他節(jié)點,、服務(wù)器或超級節(jié)點的IP地址,。這一方法的基本依據(jù)是:在混合式P2P 結(jié)構(gòu)中,存在著超級節(jié)點,,這種節(jié)點存儲了其所在組內(nèi)的其他節(jié)點的信息,,既防止了組內(nèi)某網(wǎng)絡(luò)節(jié)點突然斷開時造成的信息丟失,也方便了新的節(jié)點的加入,。當(dāng)1個新的主機(jī)A加入P2P系統(tǒng)后,,它將通知超級節(jié)點其IP地址以及接受連接的端口號Port。超級節(jié)點查詢緩存中滿足A請求的節(jié)點,,并將滿足條件的節(jié)點信息返回給A節(jié)點,,A節(jié)點收到返回的信息后將直接與滿足條件的節(jié)點建立連接、傳送數(shù)據(jù),。這樣,,對端口Port而言,與其建立連接的IP地址數(shù)目就等于與其建立連接的不同端口數(shù)目(因為不同主機(jī)選擇同一端口與主機(jī)A建立連接的可能性是很低的,,完全可以忽略不計),。而其他一些應(yīng)用如Web,1個主機(jī)通常使用多個端口并行接收對象,,這樣建立連接的IP地址數(shù)目將遠(yuǎn)小于端口數(shù)目,。但是另外一些應(yīng)用,,如MAIL、DNS等,,也具有類似的屬性,,因此,使用這種方法在實際識別過程中需要將它們區(qū)分出來,。
2.2 根據(jù)P2P流統(tǒng)計特征
2.2.1基于連接流量特征的識別方法[5]
此方法的出發(fā)點是在P2P網(wǎng)絡(luò)中節(jié)點既可作為客戶機(jī)也可作為服務(wù)器,,即既能接受其他節(jié)點的服務(wù)也能向其他節(jié)點提供服務(wù),以此過程中表現(xiàn)出的特征作為識別的依據(jù),。本文給出了2個啟發(fā)式算法:
(1)連出連接數(shù)與連入連接數(shù)之比。參與P2P的節(jié)點既有大量的連入連接也有大量的連出連接,,而非P2P節(jié)點要么有大量的連出連接,,要么有大量連入連接,它們的出入連接必定是不平衡的,。因此,,統(tǒng)計在某段時間內(nèi)某節(jié)點連入連接與連出連接之比,并與使用傳統(tǒng)網(wǎng)絡(luò)應(yīng)用的主機(jī)的經(jīng)驗觀測值作比較,,就可以判斷此節(jié)點是否參與P2P,。
(2)上行流量與下行流量之比。P2P節(jié)點不僅從其他節(jié)點處獲得數(shù)據(jù),,同時也為其他節(jié)點提供數(shù)據(jù),,因此,它的節(jié)點流量更多體現(xiàn)為上行下行基本對稱的特點,,而且對于2個節(jié)點A,、B之間建立的同一個連接,可能A既在下載B的數(shù)據(jù),,也在給B上傳數(shù)據(jù),。在整個過程中,每個節(jié)點的上行流量與下行流量都是大體對稱的,。而對于傳統(tǒng)的網(wǎng)絡(luò)應(yīng)用,,如HTTP等,一般都是客戶發(fā)送1個請求(幾千字節(jié)到幾百萬字節(jié)),,然后服務(wù)器返回客戶機(jī)所需要的數(shù)據(jù)(幾千字節(jié)Kb,、幾兆字節(jié)或更多)。在這種網(wǎng)絡(luò)結(jié)構(gòu)中,,上行流量與下行流量是不平衡的,。但是一些服務(wù)器主機(jī),如FTP服務(wù)器,,同時提供用戶的上傳與下載,,其流量特征與P2P主機(jī)類似,,因而要依據(jù)端口將這些特殊的服務(wù)器排除。該方法實現(xiàn)簡單,,只是不同的閾值選取識別結(jié)果不同,,需根據(jù)具體情況選取。
2.2.2 根據(jù)P2P流的內(nèi)在統(tǒng)計特征進(jìn)行識別的方法
流量模式識別法,,這是在Caspian路由器中實現(xiàn)的一種功能,。該路由器記錄經(jīng)過它的每條流的信息,因此可以實現(xiàn)基于流的流量識別和控制功能,,以一種新的方式對P2P流量進(jìn)行識別和控制,。幾種常見IP服務(wù)的流量特征如表1所示。
由表1可以看出,,P2P應(yīng)用的特點是持續(xù)時間長,、平均速率較高以及總的傳輸字節(jié)數(shù)高。這與文件傳輸如FTP 等應(yīng)用有些類似,。但是該類應(yīng)用可以很方便地通過端口號識別出來,,而且由于這些應(yīng)用與用戶的交互性不如Web、視頻等應(yīng)用高,,因此,,出現(xiàn)一定的誤判對它們的流量限制不會造成大的問題。另外,,根據(jù)流所包含的字節(jié)數(shù),,可以很容易將普通Web流量同P2P文件共享流量區(qū)分開。
通過分析不同應(yīng)用的流量模式,,可以實現(xiàn)識別P2P流量的目的,。而且這一方法不需要對分組內(nèi)部用戶數(shù)據(jù)進(jìn)行檢查,因此不受數(shù)據(jù)是否加密的限制,,擴(kuò)大了其適用范圍,。
除了流量模式特征外,P2P業(yè)務(wù)一些其他的內(nèi)在特征,,如持續(xù)時間,、分組數(shù)量、平均到達(dá)間隔時間[6-7]等,,也可以作為識別的依據(jù),,同時也可對這些特征進(jìn)行分析,進(jìn)一步提取新的特征[8],。參考文獻(xiàn)[8]提出了1個新的參數(shù):分組大小變換頻率,。在這些特征的基礎(chǔ)上可應(yīng)用各種機(jī)器學(xué)習(xí)(ML)算法等對P2P業(yè)務(wù)進(jìn)行識別[9-12],算法識別的精確性很高,其中C4.5識別的精確性可達(dá)99 %以上,,但算法的選擇,、特征的選取、訓(xùn)練數(shù)據(jù)的數(shù)量,,對識別結(jié)果的精確性,、識別時間等有影響,不易實現(xiàn)實時識別,,且不能實現(xiàn)具體識別,。
2.3 根據(jù)P2P協(xié)議特征
2.3.1 從數(shù)據(jù)信號和信令信號的特征的不同對P2P業(yè)務(wù)進(jìn)行區(qū)分
參考文獻(xiàn)[13]更多的是從網(wǎng)絡(luò)的角度對P2P業(yè)務(wù)進(jìn)行特征提取,如對P2P業(yè)務(wù)的數(shù)據(jù)下載和信令會話階段的行為,,包括傳送內(nèi)容大小,、會話到達(dá)間隔時間以及時長等進(jìn)行進(jìn)一步深入的分析,提取出不同的特征,。一般可以用3個不同的流特征來描述流的長度:分組數(shù)量,、有效載荷字節(jié)數(shù)量、頭部和有效負(fù)載字節(jié)數(shù),,但參考文獻(xiàn)[13]只采用有效負(fù)載字節(jié)數(shù)作為流的長度。
該方法識別的依據(jù)是:在文件下載期間,,1個節(jié)點一般接收到的分組數(shù)據(jù)是很大的,,會達(dá)到MTU值,對接收到的數(shù)據(jù)進(jìn)行確認(rèn),,這時向發(fā)送節(jié)點發(fā)送的確認(rèn)分組數(shù)量就會很少,,即使節(jié)點向其他節(jié)點交換1個文件的片段,在這個過程中其會話是平衡的,,平均有效負(fù)載一般也會達(dá)到MSS(最大段大小),。相反,在信令會話過程中具有平穩(wěn)的特征,,在這個過程中交換的字節(jié)和分組數(shù)量都更加地均衡,。可以用1個閾值來區(qū)分這2種不同的業(yè)務(wù),,如果1個會話CTI(內(nèi)容轉(zhuǎn)變索引)值超過這個閾值即為數(shù)據(jù)下載業(yè)務(wù),;反之則為信令業(yè)務(wù)??筛鶕?jù)這一特征對不同的網(wǎng)絡(luò)行為進(jìn)行識別,。
2.3.2 根據(jù)P2P協(xié)議內(nèi)容重新分配特征
每個節(jié)點既是服務(wù)器也是客戶機(jī)[14],因此,,節(jié)點會重新分配從其他節(jié)點收到的內(nèi)容,,依據(jù)這個過程中表現(xiàn)出來的行為特征作為識別的依據(jù)。此方法在識別PPlive方面能達(dá)到99 %的精確率。
2.3.3 利用P2P協(xié)議的基本特征
P2P協(xié)議的基本特征是:較大的網(wǎng)絡(luò)直徑,、絕大多數(shù)節(jié)點既作為服務(wù)器又作為客戶機(jī),,利用這一特征對P2P業(yè)務(wù)進(jìn)行識別[15]。
2.4 基于網(wǎng)絡(luò)中最大流的識別[16]
基于此方法的識別思想是網(wǎng)絡(luò)中一小部分流量產(chǎn)生了網(wǎng)絡(luò)中大部分的分組和字節(jié),,將網(wǎng)絡(luò)中這一部分流量識別出來以后再對其業(yè)務(wù)類型進(jìn)行分析,。參考文獻(xiàn)[16]主要識別5種業(yè)務(wù):P2P文件共享類業(yè)務(wù)、P2P流類業(yè)務(wù),、掃描行為,、蠕蟲病毒行為、DOS攻擊行為,。所提出的各種識別的特征依據(jù)是:如短時間內(nèi)連接數(shù)或業(yè)務(wù)數(shù)據(jù)的大小,、時長、節(jié)點分布等,,根據(jù)不同業(yè)務(wù)具有的不同的特征可將其識別出來,,如P2P文件共享類業(yè)務(wù)具有連接數(shù)量大、快速傳送大量業(yè)務(wù)數(shù)據(jù),、時間周期短,、端口分布規(guī)律、大量節(jié)點參與業(yè)務(wù)等特征,。
這種方法可解決重量級P2P 協(xié)議流量識別問題,, 還可以識別出殺手級用戶和熱點文件的特征, 在解決實際問題方面有重要的意義,。
2.5 BLINC方法
參考文獻(xiàn)[17]提出的BLINC方法,,按照主機(jī)的行為模式作為識別依據(jù),對節(jié)點在社會,、功能,、應(yīng)用等3個層面進(jìn)行分析,得出P2P節(jié)點行為特征,,利用這些特征,,識別出P2P節(jié)點。(1)社會層面:1臺主機(jī)與其他主機(jī)的互動,。首先是檢查這臺主機(jī)的活躍性,,其次識別與這臺主機(jī)通信的節(jié)點。(2)功能層面:捕獲主機(jī)的行為特征,,分析看其在網(wǎng)絡(luò)中扮演的角色是業(yè)務(wù)提供者還是業(yè)務(wù)接收者或者兩者兼有,。例如,若1臺主機(jī)用1個端口與其他多臺主機(jī)通信,,那么這臺主機(jī)在這個端口上應(yīng)是一個業(yè)務(wù)提供者的角色,。(3)應(yīng)用層面:捕獲特定主機(jī)的特定端口傳輸層之間的互動識別業(yè)務(wù)的發(fā)起方。
實驗結(jié)果表明,BLINC方法能夠?qū)W(wǎng)絡(luò)中的80%~90%的流量進(jìn)行識別,,識別的準(zhǔn)確率達(dá)95%,。但這種方法難以做到實時檢測,且復(fù)雜度高,,易將P2P文件共享業(yè)務(wù)流與DOS攻擊流混淆,。
以上各種基于P2P業(yè)務(wù)內(nèi)在特征的方法可直接應(yīng)用,也可作為啟發(fā)式算法與其他業(yè)務(wù)結(jié)合應(yīng)用或作為ML算法的訓(xùn)練數(shù)據(jù)應(yīng)用,,能解決數(shù)據(jù)加密等問題,,可以識別出未知的P2P業(yè)務(wù),但不能具體識別出P2P業(yè)務(wù),。
根據(jù)對各種技術(shù)優(yōu)缺點的分析,,預(yù)測P2P識別技術(shù)未來的發(fā)展方向是:(1)將基于P2P內(nèi)在特征的技術(shù)與以前的技術(shù)相結(jié)合,根據(jù)不同的環(huán)境,、不同的要求,,綜合運用各種識別方法,以實現(xiàn)更加有效,、具體的識別,;(2)深入挖掘P2P業(yè)務(wù)獨有的業(yè)務(wù)特征,并從已有的特征中分析出其有決定作用的核心特征,,進(jìn)行具體分析,,發(fā)現(xiàn)各種主流P2P業(yè)務(wù)其各自獨有的特征,以實現(xiàn)具體的識別,。
參考文獻(xiàn)
[1] 暴勵.P2P技術(shù)的應(yīng)用與研究[J].電腦開發(fā)與應(yīng)用,2009(2):67-69.
[2] 董振江.P2P發(fā)展現(xiàn)狀與運營方案[J].中興通訊技術(shù),,2008(2):49-53.
[3] SUBHABRATA S,, OLIVER S, DONGMEI W. Accurate,, scalable in-network identification of P2P traffic using application signatures. WWW2004,, NewYork, New York,,ACM 1-58113-844-X/04/0005,,2004:512-521.
[4] THOMAS K, ANDRE B.Transport layer identification of P2P traffic[C]. IMC’04,, October 25-27,, 2004, Taormina,, Sicily,, Italy. Copyright 2004 ACM 1-58113-821-0/04/0010 2004:121-134.
[5] 柳斌,李之棠,李佳.一種基于流特征的P2P流量實時識別方法[J].廈門大學(xué)學(xué)報(自然科學(xué)版),,2007,,46(2):132-135.
[6] CLAFFY K C, BRAUN H W. Internet traffic profiling.1-25.Caida,, San diego supercomputer Center,,http://www.caida.org/outreach/papers/1994/itf/,1994.
[7] LAN K C,,HEIDEMANN J. A measurement study of correlations of Internet flow characteristics[J]. Computer Network,,2006,50:46-62.
[8] 周豐谷.P2P flow identidication[D].臺灣科技大學(xué),,2006.
[9] ARLITT J E M,, MAHANTI A.Traffic classification using clustering algorithms. in Proceedings of the 2006 SIGCOMM Workshop on Mining Network Data(MineNet06),2006.
[10] MOORE A W,, ZUEV D. Internet traffic classification using Bayesian analysis techniques. in ACM Sigmetrics,, 2005:50-60.
[11] AULD A W M T, GULL S F. Bayesian neural networks for internet traffic classification. IEEE Transactions on Neural Networks,,2007,,18:223-239.
[12] SCHMIDT S E G, SOYSAL M. An intrusion detection based approach for the scalable detection of P2P traffic in the national academic network backbone[R]. in 7th International Symposium On Computer Networks(ISCN06),, 2006.
[13] RAFFAELE B,, MARCO C, RICCARDO R.Characterizing the network behavior of P2P traffic[EB]. IT-NEWS 2008,, 978-1-4244-1845-9/08,,IEEE,2008:14-19.
[14] LU Xing,, DUAN Hai xin,,LI Xing. Identification of P2P traffic based on the content redistribution Characteristic[M]. ISCIT 2007, IEEE,, 1-4244-0977-2/07/:596-601.
[15] FIVOS C,, PANAYIOTIS M. Identifying known and unknown Peer-to-Peer traffic[R]. Fifth IEEE International Symposium on Network Computing and Applications(NCA′06),0-7695-2640-3/06,,2006.
[16] WANG Jiao,, ZHOU Ya Jian, YANG Yi Xian.Classify the majority of the total bytes on the Internet[R]. 2008 International Symposiums on Information Processing,, 978-0-7695-3151-9/08 IEEE,,2008:68-72.
[17] KARAGIANNIS T, PAPAGIANNAKI K,, FALOUTSO S M. Blinc: multilevel traffic classification in the dark. Proceeding of the 2005 Conference on Applications,, Technologies,, Architectures, and Protocols for Computer Communications[C]. Los Angeles: ACM Press,,2005:229-240.