摘 要: 分析了幾類主要的P2P業(yè)務識別方法,重點分析了基于流的內在特征的各種識別方法,并對其優(yōu)缺點作出評價,指出了P2P識別技術進一步的發(fā)展方向。
關鍵詞: P2P;識別技術;網(wǎng)絡流的內在特征
當前P2P業(yè)務已占到網(wǎng)絡業(yè)務的60%~70%,成為網(wǎng)絡帶寬主要的使用者,而且P2P應用呈現(xiàn)快速增長的趨勢。P2P的飛速發(fā)展,一方面給用戶帶來方便,提供了多種類的業(yè)務,但另一方面也帶來了許多負面的問題。如:P2P文件共享過程中的版權問題;應用中大量占用網(wǎng)絡帶寬的問題;流量模式對傳統(tǒng)網(wǎng)絡設計帶來的挑戰(zhàn)等。因此,如何有效地識別P2P業(yè)務并進一步對其進行管理,對互聯(lián)網(wǎng)業(yè)務提供者或運營商(ISP)及企業(yè)用戶等已成為迫切需要解決的問題。
P2P(Peer-to-Peer)即點對點技術。該技術與傳統(tǒng)網(wǎng)絡技術顯著的不同點在于其結構模式的不同。傳統(tǒng)技術采用客戶機/服務器(C/S)結構,而P2P從總體上來說是一種分布式網(wǎng)絡模型。C/S模式中,1臺計算機想獲取服務,需向存儲大量數(shù)據(jù)的服務器提出請求才能獲得服務,這種模式存在著明顯的主從關系,當服務器過載時,服務器就變成了網(wǎng)絡中的瓶頸。而在P2P中,成千上萬臺彼此連接的計算機都處于對等地位,整個網(wǎng)絡一般不依賴于專用中央服務器, 每個結點既是資源提供者(Server),又是資源獲取者(Client)[1]。正是這種結構促使P2P業(yè)務能充分利用各臺主機的資源,包括帶寬、存儲空間和計算能力而得到了快速發(fā)展。
目前P2P的應用主要有如下幾個方面[2]:文件共享類、視頻點播類和即時通信類等。文件共享類包括迅雷,BT、電驢等,視頻點播類包括PPlive等,即時通信類包括QQ、MSN、SKYPE等。此外,P2P還應用于分布式計算、協(xié)同工作等領域。
P2P業(yè)務在給網(wǎng)絡用戶帶來便利的同時也產(chǎn)生了一些問題。據(jù)估計,在現(xiàn)今互聯(lián)網(wǎng)帶寬中,P2P業(yè)務已占據(jù)大部分,且P2P用戶經(jīng)常是長時間占用帶寬。因為大量占用帶寬,從而影響了用戶正常的網(wǎng)絡使用業(yè)務,如瀏覽網(wǎng)頁、收發(fā)郵件等。同時還帶來了一些其他的問題,如安全、版權問題等,同時P2P的結構模式對現(xiàn)有網(wǎng)絡設計規(guī)劃也帶來影響。因此,就需要對P2P業(yè)務進行有效的管理,而識別P2P業(yè)務是進行管理的前提。
1 早期P2P業(yè)務識別技術
1.1 端口法
最早出現(xiàn)的P2P業(yè)務具有固定的默認端口,因此用端口識別法能很容易地將P2P業(yè)務識別出來,但不能適應業(yè)務發(fā)展的要求,準確率也低。
1.2 簽名匹配法[3]
這種方法的出發(fā)點是在P2P的各種協(xié)議中具有特定的報文信息,可根據(jù)這些特定的報文信息來識別每種具體的P2P應用。其識別準確率高,尤其是能識別具體的應用。但只能對已有的業(yè)務進行識別,對加密的業(yè)務不能識別,會涉及到隱私問題,效率不高。
以上2種識別方法對新業(yè)務的適應性都不是很好,若能提取P2P業(yè)務內在的固有的特征,則有可能從根本上解決問題,這也是目前研究的方向。
2 基于各種內在特征的P2P業(yè)務識別方法
2.1 利用傳輸層信息
傳輸層連接模式特征識別法[4]是基于P2P網(wǎng)絡的連接模式,而不是基于分組內容。因此,不依賴于P2P協(xié)議具體的數(shù)據(jù)內容就能進行識別,而且也能識別出以前未知的P2P協(xié)議。此法只統(tǒng)計用戶分組的首部信息,即源IP地址、目的IP地址、協(xié)議類型、源端口、目的端口,這是因為P2P業(yè)務所用的傳輸協(xié)議及其連接的{IP,Port}對其獨有的、有別于其他業(yè)務的特征可以來識別P2P業(yè)務。以此為基礎,Thomas Karagiannis等人給出了如下兩種啟發(fā)式方法:
(1)TCP/UDP混用
識別出那些同時使用TCP和UDP進行數(shù)據(jù)傳輸?shù)膽?。P2P節(jié)點一般在初始連接階段采用UDP來發(fā)送控制信息,而采用TCP來傳輸數(shù)據(jù)。通常的應用極少同時使用UDP和TCP。因此,可以利用這個特征來識別P2P流。研究表明,大約2/3的P2P協(xié)議同時使用TCP和UDP協(xié)議,而其他應用中,同時使用2種協(xié)議的只有NetBIOS、游戲、視頻等少量應用,而這些應用通常有固定的使用端口,因此能很容易將其區(qū)分出來。如果某個應用同時使用TCP和UDP作為傳輸協(xié)議,那么可以認為這個應用很有可能就是P2P應用。
(2){IP,Port}對的連接模式
P2P網(wǎng)絡是分布式或混合式的,根據(jù)不同的網(wǎng)絡,P2P節(jié)點可能會存儲網(wǎng)絡中其他節(jié)點、服務器或超級節(jié)點的IP地址。這一方法的基本依據(jù)是:在混合式P2P 結構中,存在著超級節(jié)點,這種節(jié)點存儲了其所在組內的其他節(jié)點的信息,既防止了組內某網(wǎng)絡節(jié)點突然斷開時造成的信息丟失,也方便了新的節(jié)點的加入。當1個新的主機A加入P2P系統(tǒng)后,它將通知超級節(jié)點其IP地址以及接受連接的端口號Port。超級節(jié)點查詢緩存中滿足A請求的節(jié)點,并將滿足條件的節(jié)點信息返回給A節(jié)點,A節(jié)點收到返回的信息后將直接與滿足條件的節(jié)點建立連接、傳送數(shù)據(jù)。這樣,對端口Port而言,與其建立連接的IP地址數(shù)目就等于與其建立連接的不同端口數(shù)目(因為不同主機選擇同一端口與主機A建立連接的可能性是很低的,完全可以忽略不計)。而其他一些應用如Web,1個主機通常使用多個端口并行接收對象,這樣建立連接的IP地址數(shù)目將遠小于端口數(shù)目。但是另外一些應用,如MAIL、DNS等,也具有類似的屬性,因此,使用這種方法在實際識別過程中需要將它們區(qū)分出來。
2.2 根據(jù)P2P流統(tǒng)計特征
2.2.1基于連接流量特征的識別方法[5]
此方法的出發(fā)點是在P2P網(wǎng)絡中節(jié)點既可作為客戶機也可作為服務器,即既能接受其他節(jié)點的服務也能向其他節(jié)點提供服務,以此過程中表現(xiàn)出的特征作為識別的依據(jù)。本文給出了2個啟發(fā)式算法:
(1)連出連接數(shù)與連入連接數(shù)之比。參與P2P的節(jié)點既有大量的連入連接也有大量的連出連接,而非P2P節(jié)點要么有大量的連出連接,要么有大量連入連接,它們的出入連接必定是不平衡的。因此,統(tǒng)計在某段時間內某節(jié)點連入連接與連出連接之比,并與使用傳統(tǒng)網(wǎng)絡應用的主機的經(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)絡應用,如HTTP等,一般都是客戶發(fā)送1個請求(幾千字節(jié)到幾百萬字節(jié)),然后服務器返回客戶機所需要的數(shù)據(jù)(幾千字節(jié)Kb、幾兆字節(jié)或更多)。在這種網(wǎng)絡結構中,上行流量與下行流量是不平衡的。但是一些服務器主機,如FTP服務器,同時提供用戶的上傳與下載,其流量特征與P2P主機類似,因而要依據(jù)端口將這些特殊的服務器排除。該方法實現(xiàn)簡單,只是不同的閾值選取識別結果不同,需根據(jù)具體情況選取。
2.2.2 根據(jù)P2P流的內在統(tǒng)計特征進行識別的方法
流量模式識別法,這是在Caspian路由器中實現(xiàn)的一種功能。該路由器記錄經(jīng)過它的每條流的信息,因此可以實現(xiàn)基于流的流量識別和控制功能,以一種新的方式對P2P流量進行識別和控制。幾種常見IP服務的流量特征如表1所示。
由表1可以看出,P2P應用的特點是持續(xù)時間長、平均速率較高以及總的傳輸字節(jié)數(shù)高。這與文件傳輸如FTP 等應用有些類似。但是該類應用可以很方便地通過端口號識別出來,而且由于這些應用與用戶的交互性不如Web、視頻等應用高,因此,出現(xiàn)一定的誤判對它們的流量限制不會造成大的問題。另外,根據(jù)流所包含的字節(jié)數(shù),可以很容易將普通Web流量同P2P文件共享流量區(qū)分開。
通過分析不同應用的流量模式,可以實現(xiàn)識別P2P流量的目的。而且這一方法不需要對分組內部用戶數(shù)據(jù)進行檢查,因此不受數(shù)據(jù)是否加密的限制,擴大了其適用范圍。
除了流量模式特征外,P2P業(yè)務一些其他的內在特征,如持續(xù)時間、分組數(shù)量、平均到達間隔時間[6-7]等,也可以作為識別的依據(jù),同時也可對這些特征進行分析,進一步提取新的特征[8]。參考文獻[8]提出了1個新的參數(shù):分組大小變換頻率。在這些特征的基礎上可應用各種機器學習(ML)算法等對P2P業(yè)務進行識別[9-12],算法識別的精確性很高,其中C4.5識別的精確性可達99 %以上,但算法的選擇、特征的選取、訓練數(shù)據(jù)的數(shù)量,對識別結果的精確性、識別時間等有影響,不易實現(xiàn)實時識別,且不能實現(xiàn)具體識別。
2.3 根據(jù)P2P協(xié)議特征
2.3.1 從數(shù)據(jù)信號和信令信號的特征的不同對P2P業(yè)務進行區(qū)分
參考文獻[13]更多的是從網(wǎng)絡的角度對P2P業(yè)務進行特征提取,如對P2P業(yè)務的數(shù)據(jù)下載和信令會話階段的行為,包括傳送內容大小、會話到達間隔時間以及時長等進行進一步深入的分析,提取出不同的特征。一般可以用3個不同的流特征來描述流的長度:分組數(shù)量、有效載荷字節(jié)數(shù)量、頭部和有效負載字節(jié)數(shù),但參考文獻[13]只采用有效負載字節(jié)數(shù)作為流的長度。
該方法識別的依據(jù)是:在文件下載期間,1個節(jié)點一般接收到的分組數(shù)據(jù)是很大的,會達到MTU值,對接收到的數(shù)據(jù)進行確認,這時向發(fā)送節(jié)點發(fā)送的確認分組數(shù)量就會很少,即使節(jié)點向其他節(jié)點交換1個文件的片段,在這個過程中其會話是平衡的,平均有效負載一般也會達到MSS(最大段大小)。相反,在信令會話過程中具有平穩(wěn)的特征,在這個過程中交換的字節(jié)和分組數(shù)量都更加地均衡??梢杂?個閾值來區(qū)分這2種不同的業(yè)務,如果1個會話CTI(內容轉變索引)值超過這個閾值即為數(shù)據(jù)下載業(yè)務;反之則為信令業(yè)務。可根據(jù)這一特征對不同的網(wǎng)絡行為進行識別。
2.3.2 根據(jù)P2P協(xié)議內容重新分配特征
每個節(jié)點既是服務器也是客戶機[14],因此,節(jié)點會重新分配從其他節(jié)點收到的內容,依據(jù)這個過程中表現(xiàn)出來的行為特征作為識別的依據(jù)。此方法在識別PPlive方面能達到99 %的精確率。
2.3.3 利用P2P協(xié)議的基本特征
P2P協(xié)議的基本特征是:較大的網(wǎng)絡直徑、絕大多數(shù)節(jié)點既作為服務器又作為客戶機,利用這一特征對P2P業(yè)務進行識別[15]。
2.4 基于網(wǎng)絡中最大流的識別[16]
基于此方法的識別思想是網(wǎng)絡中一小部分流量產(chǎn)生了網(wǎng)絡中大部分的分組和字節(jié),將網(wǎng)絡中這一部分流量識別出來以后再對其業(yè)務類型進行分析。參考文獻[16]主要識別5種業(yè)務:P2P文件共享類業(yè)務、P2P流類業(yè)務、掃描行為、蠕蟲病毒行為、DOS攻擊行為。所提出的各種識別的特征依據(jù)是:如短時間內連接數(shù)或業(yè)務數(shù)據(jù)的大小、時長、節(jié)點分布等,根據(jù)不同業(yè)務具有的不同的特征可將其識別出來,如P2P文件共享類業(yè)務具有連接數(shù)量大、快速傳送大量業(yè)務數(shù)據(jù)、時間周期短、端口分布規(guī)律、大量節(jié)點參與業(yè)務等特征。
這種方法可解決重量級P2P 協(xié)議流量識別問題, 還可以識別出殺手級用戶和熱點文件的特征, 在解決實際問題方面有重要的意義。
2.5 BLINC方法
參考文獻[17]提出的BLINC方法,按照主機的行為模式作為識別依據(jù),對節(jié)點在社會、功能、應用等3個層面進行分析,得出P2P節(jié)點行為特征,利用這些特征,識別出P2P節(jié)點。(1)社會層面:1臺主機與其他主機的互動。首先是檢查這臺主機的活躍性,其次識別與這臺主機通信的節(jié)點。(2)功能層面:捕獲主機的行為特征,分析看其在網(wǎng)絡中扮演的角色是業(yè)務提供者還是業(yè)務接收者或者兩者兼有。例如,若1臺主機用1個端口與其他多臺主機通信,那么這臺主機在這個端口上應是一個業(yè)務提供者的角色。(3)應用層面:捕獲特定主機的特定端口傳輸層之間的互動識別業(yè)務的發(fā)起方。
實驗結果表明,BLINC方法能夠對網(wǎng)絡中的80%~90%的流量進行識別,識別的準確率達95%。但這種方法難以做到實時檢測,且復雜度高,易將P2P文件共享業(yè)務流與DOS攻擊流混淆。
以上各種基于P2P業(yè)務內在特征的方法可直接應用,也可作為啟發(fā)式算法與其他業(yè)務結合應用或作為ML算法的訓練數(shù)據(jù)應用,能解決數(shù)據(jù)加密等問題,可以識別出未知的P2P業(yè)務,但不能具體識別出P2P業(yè)務。
根據(jù)對各種技術優(yōu)缺點的分析,預測P2P識別技術未來的發(fā)展方向是:(1)將基于P2P內在特征的技術與以前的技術相結合,根據(jù)不同的環(huán)境、不同的要求,綜合運用各種識別方法,以實現(xiàn)更加有效、具體的識別;(2)深入挖掘P2P業(yè)務獨有的業(yè)務特征,并從已有的特征中分析出其有決定作用的核心特征,進行具體分析,發(fā)現(xiàn)各種主流P2P業(yè)務其各自獨有的特征,以實現(xiàn)具體的識別。
參考文獻
[1] 暴勵.P2P技術的應用與研究[J].電腦開發(fā)與應用,2009(2):67-69.
[2] 董振江.P2P發(fā)展現(xiàn)狀與運營方案[J].中興通訊技術,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].廈門大學學報(自然科學版),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].臺灣科技大學,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.