摘 要: P2P流量已經占據了目前互聯網帶寬的大部分,對P2P流量的有效監控管理已經成為網絡服務提供商(ISP)迫切解決的問題之一。首先分析了P2P流量分類的研究現狀,對現有的各種流量分類技術以及研究成果進行了比較分析,指出了其中存在的問題。接著詳細地分析了已發現的P2P流量特征及網絡行為特征,對分類器常用的分類算法進行概括總結。最后分析目前P2P流量分類相關研究中的主要問題并給出下一步研究方向。
關鍵詞: P2P; 流量特征; 流量識別; 分類算法
中圖分類號: TP393 文獻標識碼: A 文章編號:2095-2163(2013)03-0001-06
Research on P2P Traffic Classification
LU Gang, ZHANG Hongli
(1.School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China;
2.State Key Lab of Computer Information Content Security, Harbin 150001, China)
Abstract: At present, most bandwidth on Internet is already occupied by P2P traffic. Monitoring and controlling P2P traffic efficiently has been one of the pressing problems for Internet Service Provider. In this paper, the current situation of P2P traffic classification is analyzed firstly. All kinds of present research and related results on P2P traffic classification are compared and analyzed, and then the shortcomings are outlined. The features of P2P traffic and network behavior are discussed in detail. The classifying algorithms in classifier are generalized. Finally, the main problems in the related research about P2P traffic classification are analyzed and some suggestions for future work are also put forward.
Key words: P2P; Traffic Feature; Traffic Identification; Classifying Algorithm
近年來,對等網絡P2P(Peer-to-Peer)已廣泛應用于文件共享、實時通信、流媒體傳輸等技術領域。相關研究表明,由全球視角,P2P流量最高可占據整個網絡帶寬的95%[1] 。P2P流量的迅猛增長給網絡帶寬造成了嚴重的負擔,而且還以其近乎對稱的流量模式加劇了網絡的擁塞狀況。因此,對P2P流量進行分類并加以控制,已經成為P2P網絡研究的熱點之一。
P2P流量分類是利用P2P流量特征,將P2P流量與其他流量,例如E-mail和RTSP(Real Time Streaming Protocol,實時流傳輸協議)等有效區分,以幫助ISP為不同的業務提供相應的服務質量。目前,網絡設備生產商和網絡服務提供商推出各種流量分類技術,例如,端口識別技術,DPI(deep packet inspection,深層數據包檢測)技術,流統計模式識別技術,行為規則匹配技術等等,這些技術從不同的角度對P2P流量進行了識別與控制。Sen等人[2]首次提出了流量分類技術的原則要求,即準確性、可擴展性和健壯性。
P2P流量分類技術涉及到網絡測量、網絡行為學、圖論、算法設計、統計學、數據挖掘、模式識別等多個基礎研究領域。其研究內容可以歸結為三個問題:
(1)如何在高速網絡環境下進行P2P數據的采集分析。流量分類首先要獲取數據,而在高速網絡環境下,計算及存儲資源的限制給P2P流對象的采集分析提出了新的挑戰。
(2)如何識別P2P流量,將P2P流量與其他流量區分開。
(3)如何建立實用的P2P流量模型,以預測和量化P2P流量對網絡的影響。
這三方面內容分別涉及到P2P的三個研究方向:P2P的流量測量,P2P流量識別,P2P的流量建模。其中,P2P流量測量是P2P流量識別的基礎;P2P流量識別又是P2P流量建模的核心。
本文第1節介紹P2P流量分類研究現狀,對目前各種分類技術進行了比較分析。第2節討論了P2P系統的特征,第3節介紹了目前常用的流量分類算法。最后,給出目前P2P流量分類的主要研究問題。
1 P2P流量分類研究現狀
P2P流量分類技術按其發展的時間順序,大致可分為基于端口的流量分類,基于深層數據包檢測的流量分類、基于流量統計的分類、基于網絡行為模式的分類、基于人工智能的流量分類技術和分布式協同分類六種。早期的P2P應用程序使用固定的端口號,所以利用端口即可以識別P2P流量,然而,目前的P2P應用程序使用端口跳變技術和端口偽裝技術以繞開流量檢測,Bleul等人[3]分析DirectConnect網絡得出,在已觀察到的端口中,70%的端口僅使用了一次。因此,若僅使用端口進行流量分類,勢必會造成較高的誤報率和漏報率,該技術已不是目前的主要研究趨勢,本節主要研究后五種流量分類技術。
1.1 基于深層數據包檢測的流量分類
基于深層數據包檢測的流量技術(DPI, Deep Packet Inspection)是利用協議分析與還原技術,分析P2P載荷并提取相應的協議特征值,進而判斷是否屬于P2P應用。Sen等人[2]查閱大量的P2P協議相關文檔和包級別蹤跡(packet-level traces),提取得出P2P應用程序的特征,設計了一個在線P2P應用分類器。該分類器通過搜索數據報文的負載并利用模式匹配技術得到較準確的流量識別結果。然而,一些P2P協議文檔并不是對外開放的,所以基于這些協議的P2P應用程序的流量特征也很難獲得,且DPI技術是一種事后處理方案,也就是將很難識別未知的P2P流量。更嚴重的是,目前越來越多的P2P協議使用應用層負載加密技術,例如,一些流行的Bittorrent客戶端,像uTorrent,BitComet,和Azureus都有協議加密功能或者是消息流加密功能,這極大地限制了DPI技術的應用。因此,研究者集中于研究P2P流量和網絡行為的本質特征,以提高流量分類的準確性和有效性。第3期 魯剛,等:P2P流量分類研究 智能計算機與應用 第3卷
1.2 基于流量統計的分類
流量統計分類是一種不依賴于應用層負載信息的技術,主要是利用網絡層和傳輸層的特征來識別流量。流量統計分類一般需要兩個特征:包級(Packet level)特征和流級(flow level)特征。包級統計要求分析待聚類的單個數據流的所有數據包長度的期望和方差的變化、數據包到達的時間序列等等;流級統計特征包括流的持續時間、流的大小等等。具體將在第2節詳細分析流量統計的包級和流級特征。
Roughan等人[4]統計數據流中包的平均大小,包到達的間隔時間,數據流的平均持續時間等,提出區分大數據塊流量(bulk-data traffic)和流媒體的方法,并且利用啟發式方法來識別未知的流量。陳慶章[5]等人指出FTP流量和P2P流量各自的流統計特征。 Perényi等人[6]分析了Skype流量的統計特征并提出Skype流量的識別算法。
Sen[7]等人指出,P2P網絡最本質的特征是動態性。動態性體現在兩個方面:拓撲的動態性和流量的動態性。而流量的動態性會使得P2P流量在某些情況下不具有區別于其他流量的顯著統計特征,例如在一個P2P文件共享的系統中,有兩個對等體A和B交換文件,按照流統計的觀點,可以利用P2P流量比FTP流量的流持續時間更長、流的總長度更大等特點[5],將P2P流與FTP流區分開。但是如果對等體A失去對下載文件的興趣,而中途離開P2P系統,那么P2P流就不具有區分FTP流的明顯特征了。因此,不應忽略網絡行為對流量分類的影響,需要結合P2P網絡的行為進一步挖掘P2P系統的動態特征。
1.3 基于網絡行為模式的分類
基于網絡行為模式的流量分類主要著眼于主機的流行度、主機間的連接模式、主機的功能角色以及網絡群體行為模式等特征。Constantinou[8]等人通過記錄每個節點與其他節點建立連接的情況而得到P2P系統的邏輯連接拓撲圖,并計算其網絡直徑。研究表明,與其他網絡形成的邏輯拓撲圖相比,P2P系統所形成的邏輯拓撲圖具有更大的直徑。如果某個網絡的直徑大于規定的最大直徑閾值,并且網絡中的既是服務器又是客戶端的結點數超過特定的閾值,則認為該網絡是P2P網絡。可見,閾值的選擇直接影響著檢測的準確性,閾值太高會產生漏報,閾值太低會產生誤報。該方法具有初步的群體特征思想。陳貞翔[9]對Maze、PPlive、Game和Web Thunder等進行研究,得到部分應用的群體特征并建立形成相應的群體特征庫。群體特征庫完善程度越好,對群體發現的準確率以及相應的流量識別率越高。
Karagiannis等人利用P2P網絡中對等體的連接模式識別P2P流量[10],其誤報率大約在8%-12%之間[10]。為提高流量識別的準確率,Karagiannis等人又提出BLINC方法[11],該方法是在傳輸層上觀察主機的行為模式,由三個層面即社會層面、功能層面和應用層面來分析主機的行為模式。在社會層面上,觀察主機的流行度;在功能層面上,關注主機是服務的提供者還是服務的請求者;在應用層面上,則著重主機間的交互行為,其目的是識別應用的來源。Lin等人[12]利用這種思想,提取可得一組線性可分的特征并采用多項邏輯斯諦回歸分類算法進行網絡流量分類。
網絡行為模式分類技術必須從每一臺主機的若干個數據流中提取信息,此后才能決定該主機的功能角色、群體行為等特征,這顯然是耗時的。所以,很難將網絡行為模式的分類技術應用于高速網絡的實時測量中。
另一方面,由于同一應用程序的不同版本網絡行為特征不盡相同,而且同一應用程序的不同流的流量統計特征也未必都相同,例如P2P文件共享系統中的信令流與文件傳輸流就具有不同的流統計特征,甚至帶有不同的傳輸協議,所以在某種網絡環境下所獲得的分類器不一定能適用于任何一種網絡環境。無論是基于流量統計的分類技術還是基于網絡行為模式的分類技術,其分類器都需要具備一定的學習能力和自適應能力以適應不同網絡狀態下的分類需要。
1.4 基于人工智能的流量分類技術
基于人工智能的流量分類技術是目前P2P流量分類的主要研究趨勢之一。劉瓊[13] 等人指出P2P流量在地域分布上具有差異性,時間特性上也體現了晝行性。所以分類器也應該能夠適應地域和時間的變化,即分類器需要具有一定的自適應能力。于是,相應地就可將人工智能領域的相關技術應用到流量分類中。
按照分類器的學習方式,基于人工智能的流量分類技術在實際應用中大致可分為兩種:基于半監督學習的流量分類和基于非監督學習的流量分類。
其中,基于半監督學習的P2P流量的分類過程通常是,首先在離線方式下利用有標記的訓練樣本建立分類器,即學習的過程,再使用分類器在線分類無標記的流量。Gao[14]等人利用支持向量機模糊網絡(SVMFN)分類流量,目的是使分類器在不同的網絡環境下具有更好的適應性和準確性。Fuke等人[15]提出了利用BP神經網絡分類網絡流量, Couto等人[16]的研究方法與Fuke相似。Hu等人[17]則利用關聯挖掘的方法進行P2P流量分類。Morre等人[18]使用貝葉斯分類技術對網絡流量進行分類。采用半監督學習的方式建立分類器,訓練樣本的質量將直接影響分類的準確性。然而,獲得一個優質的訓練樣本是較難且耗時的,即使在可控環境下,訓練數據的完備性也很難得到確實的保證。
非監督學習的方法利用沒有類別標簽的樣本集進行工作。文獻[19,20]采用聚類分析建立分類器。聚類分析的方法一般適用于離線的分類,而不適合在線識別。Chen[21]等人利用神經樹,設計了基于網絡處理器的硬件分類器在線分類流量。Wang 等人[22] 提出了一種基于可信列表的啟發式流量檢測方法,該方法通過將已識別的連接加入到一個可信列表中,具有“記憶”能力。但是,該方法在網絡連接增多時,維護可信列表卻需要消耗較大內存,就會引起內存抖動問題,并且降低識別效率。
機器學習的方法使分類器適應于網絡環境的動態變化,但其明顯不足卻在于:采用機器學習進行流量分類準確性相對不高,流量類別細分能力不足,而且識別效果的驗證難度較大。
流量智能分類技術的主要目的是:使分類器智能地適應不同的網絡環境。但其面臨的最大問題就是概念飄移(concept drift),即在時刻t得到的最佳分類模型yt,與前一時刻t-1得到的最佳分類模型yt-1不一致,引發這種現象的原因在于P2P網絡的動態性。如何在P2P流量分類中解決概念飄移的問題將是未來的主要研究方向。
1.5 分布式協同流量分類
隨著網絡流速的不斷提高、網絡規模的不斷擴大,基于固定點或者有限范圍的流量分類,其準確性和效率都在不斷下降,且對網絡行為分析的能力也已顯不足。而分布式協同分類技術則為大規模互聯網分布式流量識別和行為分析提供了一個新的思路,業已成為目前分類領域的研究熱點之一。該技術已經應用于垃圾郵件檢測、網頁內容自動分類、入侵檢測等領域。
Datta[23]等人提出基于P2P網絡的分布式分類方法,通過P2P的流量數據證明這種分類方法的有效性。Bandyopadhyay[24]等人提出一種基于P2P環境的分布式聚類技術。 陳貞翔等人[9]提出了基于DHT(分布式哈希表)設計分布式的自組織識別聯盟模型,在聯盟成員之間共享流量特征、數據樣本和分類經驗,借用醫療會診思想實施聯盟協助識別和預警。
分布式協同流量分類的有效性常與分布式識別聯盟結點間的通信開銷、結點間路由協議的選擇等問題有關,如何設計更有效的分布式算法以解決這些問題亦是未來主要研究方向。
1.6 P2P流量分類技術的分析比較
基于端口的分類技術由于僅利用UDP/TCP端口號來分類流量,計算開銷小,所以可擴展性好。另一方面,基于端口的分類技術僅使用單一數據包就分類流量,若數據包丟失勢必影響分類,所以健壯性就差。同時,正如第1節所述,基于端口的分類技術的準確性也為差。基于深層數據包檢測的分類由于負載加密和隱私等因素的考慮,其分類的準確性正在逐漸下降。而基于流量統計特征的分類技術和基于網絡行為模式的分類技術需要采集和分析大量的數據,計算開銷很大,可擴展性也因之就差。但隨著分析數據的不斷增多,這兩種分類技術的準確性也不斷提高,并且由于需要分析大量的數據,個別的數據包丟失,亂序等因素對流量分類的影響不大,由此健壯性就較好。基于人工智能的流量分類技術和分布式協同分類技術具有一定的網絡環境自適應能力,所以健壯性和準確性均好,但其可擴展性相對于基于端口的分類技術,則較差。
綜上所述,各種分類技術的比較結果如表1所示。
表1 流量分類技術的比較
Tab.1 The comparison of traffic classification techniques
流量分類技術 準確性 可擴展性 健壯性
基于端口的分類 差 好 差
基于深層數據包檢測的分類 較好 較好 差
基于流量統計特征的分類 較好 差 較好
基于網絡行為模式的分類 較好 差 較好
基于人工智能的流量分類 好 較差 好
分布式協同分類 好 較差 好
P2P流量分類工作大致可以分為特征提取和分類器設計兩部分。關于P2P系統的特征研究已經實現了從靜態特征研究向動態特征研究的積極轉變。分類器的設計目的在于提高分類算法的速度和效率,且要求分類算法具有良好的網絡自適應能力,能夠動態檢測網絡的變化[25]。下面即從P2P系統的特征分析和分類器設計兩個方面進行介紹。
2 P2P系統特征分析
就流量分類而言,P2P系統的特征可分為靜態特征和動態特征。靜態特征包括端口特征和應用層負載特征,而動態特征在本節主要分析的是P2P流的統計特征。
2.1 P2P系統的靜態特征
常用的P2P應用程序端口號和相應的負載特征在表2中列出。
表2 端口號和負載特征
Tab.2 Port number and payload-based signatures
P2P應用程序 端口號 應用層負載特征
Gnutella 6346-6347 ‘Gnutella’
eDonkey 4662 ‘0xe3\’
BitTorrent 6881-6889 ‘0x13BitTorrent protocol’
正如第1節所述,由于目前P2P應用程序采用隨機端口、加密應用層負載等技術,這極大地限制了靜態特征識別方法的應用。研究P2P系統的動態特征是流量分類的本質問題。其后著重對P2P流量的統計特征、P2P系統的網絡行為特征進行分析。
2.2 P2P流量的統計特征
P2P流量統計特征可以從數據包級和數據流級兩個層面測量。利用流統計方法識別P2P流量,其優點在于不受隨機端口和應用層負載加密技術的約束,更重要的是,可以通過P2P流量的統計分布進一步分析P2P流量的動態性。
2.2.1 數據包級特征
定義1 網絡中存在任意兩臺主機A與B通信,假設主機A的IP地址為IPA,端口為PORTA,主機B的IP地址為IPB,端口為PORTB,通信協議為Protocol,則兩臺主機的通信模式可以描述為一個五元組。在超時約束下,采用相同通信模式的一組單向數據包的集合稱之為流。
數據包級的流量測定需要統計待分類的單個流內數據包大小、數據包到達的間隔時間、數據包比率(單位時間內傳輸數據包的個數)、帶寬等等。Perényi等人[6]對Skype呼叫流量進行實驗,發現平均語音數據包大小在40~320字節之間變化。單向話語流的帶寬在20Kbit/s~80Kbit/s之間變化。語音數據包到達的時間間隔是30ms或者60ms,相應的數據包比率分別是33個數據包/每秒和16個數據包/每秒。并利用這些特征將Skype流量與其他的VOIP流量(MSN、Yahoo Messenger、AOL Messenger、Gtalk)做以區別。Perényi等人僅對P2P即時通訊流量進行分析并加以識別,但沒有區分其他種類的P2P流量,例如,P2P流媒體應用。同時,Roughan [4]等人指出僅在數據包層面上統計還不足以區分大數據塊流和流媒體,也不能將FTP流與WWW流區分開。因此,還需要在數據流級獲取更多的統計特征。
2.2.2 數據流級特征
目前,互聯網流量主要是由P2P流量和Web流量組成,在此主要比較Web流量和P2P流量的特征。文獻[7]分析了大規模網絡下P2P流量特征,指出P2P流量的分布具備有偏性(skewed),即10%的大流量對象(heavy hitter)提供了99%的流量。但從定量分析而言,P2P流量并不服從Zipf分布。文獻[3]指出P2P文件共享應用的流量具有很強的突發性,而文獻[4]指出P2P流媒體的網絡流量較少出現突發性,可見,不同應用的P2P流量之間,其特性也有所不同。文獻[26,27]比較分析了web流量和P2P流量的特征,同時文獻[26]還比較了Gnutella和BitTorrent之間流量特征的不同。就P2P數據流級的統計特征,大多數的研究主要在于流大小,流持續時間,流到達間隔時間和流速率這幾個方面,相關定義表述如下:
定義2 設i和j是同一個應用程序發起的兩個連續的流,Tsi是流i的開始時間,Tsj是流j的開始時間,則流到達間隔時間IAT=| Tsi-Tsj|。
定義3 令Lij表示第i個流的第j個數據包大小,Ni表示第i個流的數據包個數,那么,第i個流的大小 Si=∑Nij=1Lij。
定義4 設Tsi是第i個流的開始時間,Tei是第i個流的結束時間,則流的持續時間Td=Tei-Tsi。
定義5 假設第i個流的大小為Si,流的持續時間為Td,則流的速率Ri=Si/Td。
由于不同的P2P應用程序采用了不同的運行機制,因此流量特征上具有一定的差別,可以采用不同的數學模型,實現建模。一般而言,目前關于P2P流量建模,所采用的數學模型主要有Pareto分布模型、Weibull分布模型、Weibull-Pareto分布模型、泊松分布模型、對數正態分布模型,冪律分布模型。
現在,對以上定義的研究工作進行完整綜述如下。
(1) 流到達間隔時間IAT
文獻[26]的實驗數據表明,P2P流到達間隔時間的數學期望和標準差要比Web流量的相應結果都要高,這說明P2P流到達間隔時間比Web流到達間隔時間更長且更分散。文獻[27]提出可以利用泊松過程為P2P流量實行建模。而文獻[26,27]認為Web流到達間隔時間IAT服從雙模邊界的Weibull分布,P2P流到達間隔時間IAT服從Weibull-Pareto分布。
(2) 流大小
P2P流大小的均值比Web流大小的均值要大[26, 27],這是由于P2P流量中既包括很多小字節流也包括很多大字節流,小字節流主要是由信令(signaling)構成,而大字節流則主要是用于文件或媒體信息傳輸。Web流量更多是由小字節流組成,很少出現大字節流。Web流量和P2P流量都體現了重尾分布(heavy-tailed)的特點,但P2P流量的重尾程度卻比Web流量更大。如果采用Pareto分布近似模擬,那么相對于Web流量,P2P流量的Pareto分布的參數α就較小。流大小的重尾分布說明少數的大字節流占據整個流量字節數的大部分比例。
(3) 流持續時間
P2P流的持續時間要比Web流的持續時間長,文獻[26]認為Web流持續時間服從雙模的Pareto分布而P2P流持續時間服從Weibull-Pareto分布。而文獻[27]認為Web流持續時間和P2P流持續時間近似服從對數正態分布。Web流量中絕大多數是短持續時間且短字節流,而P2P流量中絕大多數是長持續時間且長字節流。Web流速率均值及方差均要比P2P相應值為高[27]。
其他相關研究也有從P2P的上行流量和下行流量的比值來探討P2P流量的統計特征。盡管利用這種特征在識別P2P流媒體和P2P文件共享流量中,會得到較好的結果,但是在識別QQ、SKYPE、MSN等P2P交互應用程序中,這種特征卻并未達到較為明顯。
通過比較文獻[26]與文獻[27]的結論可以看出,由于P2P流量在地域分布上的差異性,所以在不同的網絡實驗環境下得到的實驗數據將會不同,流量建模也會有所差異。另一方面,文獻[26,27]提出的模型并未區分信令流量和數據傳輸流量之間的不同,也未體現P2P流量對其他流量的影響。文獻[28]指出在P2P流量識別中應該充分考慮數據傳輸流量和信令流量之間的不同,文獻[29]又提出P2P IPTV的信令流對上行流量和下行流量則有不同的影響,因此需要對P2P的信令流和數據傳輸流分別進行建模分析。
中國的文化背景、版權管理法令以及網絡運營商的計費策略均與其他國家不同,所以建立一個適合于本國國情的P2P流量模型極其重要。該模型不僅能夠凸顯P2P流量的固有特征,而且還能定量地分析P2P流量對其他流量的影響,這對ISP網絡管理更具有實際的意義。
在P2P流量識別過程中,無論是基于靜態特征的識別還是基于動態特征的識別,均有各自的優點。而在具體的工程實踐中,卻是常常將這兩種流量識別方法相結合。例如,利用端口特征和負載特征在線實時識別P2P流量,再利用動態特征的識別方法對未知的P2P流量進行識別。這種方法就具有較高的識別準確率。
3 分類器設計
流量分類技術可以形式化描述如下:
令流集合F={f1,f2,f3……,fn},fi的一系列屬性為{xi1,xi2,xi3……,xim}(i=1,2,3……n),流的類別集合C={c1,c2,c3……,cp},流量分類的目的就是為了找到映射關系y:F→C。
分類器的工作方式可分為兩種:在線分類和離線分類,下面詳述之。
3.1 在線分類
在線分類過程可以有兩種情況。一種是在線實時分類。這種分類清況下的流量分類函數y是已知的,并且使用已知的靜態特征實時識別P2P流量。另一種是在線學習分類。在這種分類學習方法中,可以憑經驗事先預知一個分類函數y,再從連續的數據流中抽取特征并相應地調整分類函數y。使用在線學習分類方法,典型地有文獻[10]所提到的BP神經網絡算法。在線學習分類算法要求較高質量的訓練樣本和較長的訓練時間。此外,由于P2P網絡具有動態特性,常常出現新的對等體加入,而舊的對等體離開(churn,擾動現象),這使得P2P網絡更易發生概念飄移情況。為解決概念飄移問題,在線學習分類以特定的頻度重新修正分類函數,這常常使得算法變得更加復雜。因此,需要研究最新的學習算法以適應動態的概念飄移數據流環境。
大部分的在線分類算法是常駐內存的,通常假定處理的數據量很小,所以并不適于大規模高速網絡環境下的實時流量分類。為了解決這一問題,并行處理技術和分布式處理技術[27]的思想也都應用到設計在線分類算法中。
3.2 離線分類
利用離線方式分類,多數情況下流量分類函數y是未知的。因此,需要通過預先采集流量樣本,再分析流量樣本fi的屬性特征和流類別C的關系,憑此確定流量分類函數y。離線情況下,分類數據的方法大致可分為兩種[17]:確定性(deterministic)分類和不確定性(probabilistic)分類。機器學習、模式識別和數據挖掘等相關領域的算法大多可以歸于這兩類。
3.2.1 確定性分類
確定性分類可形式化描述如下:
定義類別集合C={c1,c2,c3……,cp},分類后的數據點集合ci={dij},(i=1,2……p,j=1,2……n),下標i表示數據點所屬類別,下標j表示某一類別中的某一個數據點。dist(dik,djt)表示類別i中的第k個數據點與類別j中第t個數據點的相似性距離,則確定性分類結果應該同時滿足下列條件:
確定性分類中,典型的算法有k-NN算法、K均值聚類算法等。其中,K-NN分類算法在數據維度較低時,有較好的分類性能,但對高緯度的數據處理效率較低。K-均值聚類算法在細分不同的具體應用時,有較高的準確率但不利于發現未知新類別,且需要重復調整聚類中心。文獻[9]提出基于數據引力的分類算法,該算法受到牛頓萬有引力定律的啟發而得出,并在分類過程中考慮了數據類別中元素個數。
3.2.2 不確定性分類
使用不確定性分類技術進行數據分類是基于概率機制的。例如,如果觀察到的流量屬于P2P的概率是0.8,而屬于E-Mail類別的概率為0.2,則該流量應該劃分到P2P類別中。不確定性分類技術可以形式化描述如下:
定義類別集合C={c1,c2,c3……,cp},數據點集合D={d1,d2,d3……dn},如果P{cj|d=di}=maxk∈{1,2,……,p}P{ck|d=di},(di∈D, cj∈C),則數據點di將劃分到cj類別。
典型的不確定性分類算法包括貝葉斯分類算法、EM算法等。不確定分類技術對于測量過程中出現的誤差,具有魯棒性。而且能夠識別分類后的流量間的相關特征,例如,如果觀察到的流量屬于WWW流類別的概率是0.8,屬于大數據塊(BULK)流類別的概率是0.2,那么這個流量很可能正在使用HTTP協議下載文件。
離線分類能夠處理較大的數據量,但其不足在于事后處理方案。文獻[9]對機器學習識別的在線化展開了嘗試性的工作,雖然識別結果的準確率較低(準確率大約在0.6~0.8之間),但是卻提供了一個新的研究思路。由此進一步提高在線機器學習識別準確率,可作為下一步的研究方向。
4 下一步主要研究工作
綜上,P2P系統流量分類總體上還處于起步階段,無論是P2P系統的特征建模還是分類算法設計,都存在大量的開放性問題有待于進一步研究。鑒于P2P流量分類的研究現狀,下一步的研究路線主要概括為以下4個方面:
(1)建立一個P2P流量對網絡態勢的影響模型,該模型不僅可以刻畫P2P流量的統計特性,還可以量化分析P2P流量對其他網絡流量的影響,并利用量化分析的結果對P2P流量加以控制。
(2)研究不同種類的P2P流量(包括惡意流量)各自的網絡行為特性和共同屬性,細化識別不同的P2P流量。
(3)設計一個在線分類算法,該算法不僅能夠有效且快速地解決概念飄移的發生,還能夠有較低的計算復雜度、以及提高實時性能。
(4)目前,P2P流量特征分析均是基于被動測量技術的,被動測量方法的不足在于無法深入了解P2P網絡行為,所以,未來研究可將被動測量和數據主動獲取技術相結合,如此更利于發現P2P網絡內在的群體行為特征。
參考文獻:
[1]WANG J, ZHOU Y, YANG Y, et al. Classify the majority of the total bytes on the Internet[C]// YU F, Luo Q. Piscataway, NJ, USA: IEEE, 2008: 68-72.
[2]SEN S, SPATSCHECK O, WANG D. Accurate, scalable in-network identification of p2p traffic using application signatures[C]//New York, NY, USA: ACM, 2004:512-521.
[3]BLEUL H, RATHGEB E P, ZILLING S B I. Advanced P2P multiprotocol traffic analysis based on application level signature detection[C]//345 E 47TH ST, NEW YORK, NY 10017 USA: IEEE, 2006:89-94.
[4]ROUGHAN M, SEN S, SPATSCHECK O, et al. Class-of-service mapping for QoS: a statistical signature-based approach to IP traffic classification [C]// Proceedings of the 4th ACM SIGCOMM conference on Internet measurement.Taormina, Sicily, Italy : ACM, 2004:135-148.
[5]陳慶章, 邵奔, 陳超. 基于復合特征的P2P業務識別系統的研究與實現[J]. 東南大學學報(自然科學版). 2008(S1):109-113.
[6]PER E N M, MOLN A R S A N. Enhanced skype traffic identification[C]//ICST, Brussels, Belgium, Belgium: ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2007:1-9.
[7]SEN S, WANG J. Analyzing peer-to-peer traffic across large networks[J]. IEEE-ACM TRANSACTIONS ON NETWORKING. 2004, 12(2): 219-232.
[8]CONSTANTINOU F, MAVROMMATIS P B I. Identifying known and unknown peer-to-peer traffic[C]//345 E 47TH ST, NEW YORK, NY 10017 USA: IEEE, 2006: 93-100.
[9]陳貞翔. 具有規模適應性的互聯網流量識別研究[D]. 濟南:山東大學, 2008.
[10]KARAGIANNIS T, BROIDO A, FALOUTSOS M, et al. Transport layer identification of P2P traffic[C]//New York, NY, USA: ACM, 2004:121-134.
[11]KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC: multilevel traffic classification in the dark[C]//New York, NY, USA: ACM, 2005: 229-240.
[12]林平,余循宜,劉芳,等.基于流統計特性的網絡流量分類算法[J].北京郵電大學學報,2008(2):15-19.
[13]劉瓊, 徐鵬, 楊海濤, et al. Peer-to-Peer文件共享系統的測量研究[J]. 軟件學報, 2006(10): 2131-2140.
[14]GAO Z, LU G, GU D. A novel P2P traffic identification scheme based on support vector machine fuzzy network[C]//LUO Q, GONG M. 10662 LOS VAQUEROS CIRCLE, PO BOX 3014, LOS ALAMITOS, CA 90720-1264 USA: IEEE COMPUTER SOC, 2009:909-912.
[15]FUKE S, PAN C, XIAOLI R. Research of P2P traffic identification based on BP neural network[C]//LIAO B Y, PAN J S, JAIN L E, et al. 10662 LOS VAQUEROS CIRCLE, PO BOX 3014, LOS ALAMITOS, CA 90720-1264 USA: IEEE COMPUTER SOC, 2007:75-78.
[16]COUTO A, NOGUEIRA A, SALVADOR P, et al. Identification of peer-to-peer applications' flow patterns[C]//345 E 47TH ST, NEW YORK, NY 10017 USA: IEEE, 2008:292-299.
[17]HU Y, CHIU D, LUI J C S. Profiling and identification of P2P traffic[J]. COMPUTER NETWORKS. 2009, 53(6, Sp. Iss. SI): 849-863.
[18]MOORE A W, ZUEV D. Internet traffic classification using bayesian analysis techniques[J]. SIGMETRICS Perform. Eval. Rev. 2005, 33(1): 50-60.
[19]ERMAN J, MAHANTI A, ARLITT M, et al. Identifying and discriminating between web and peer-to-peer traffic in the network core[C]// New York, NY, USA: ACM, 2007:883-892.
[20]JUNIOR G P S, MAIA J E B, HOLANDA R, et al. P2P traffic identification using cluster analysis[C]//Piscataway, NJ, USA: IEEE, 2007, 128:132-133.
[21]CHEN Z, YANG B, CHEN Y, et al. Online hybrid traffic classifier for peer-to-peer systems based on network processors[J]. Applied Soft Computing, 2009, 9(2): 685-694.
[22]王蛟, 周亞建, 楊義先. 基于可信列表的啟發式流量檢測模型[J]. 北京郵電大學學報,2008, 31(2): 95-98.
[23]DATTA S, BHADURI K, GIANNELLA C, et al. Distributed data mining in peer-to-peer networks[J]. IEEE INTERNET COMPUTING, 2006, 10(4): 18-26.
[24]BANDYOPADHYAY S, GIANNELLA C, MAULIK U, et al. Clustering distributed data streams in peer-to-peer environments[J]. INFORMATION SCIENCES, 2006, 176(14): 1952-1985.
[25]RAAHEMI B, ZHONG W, LIU J. Exploiting unlabeled data to improve peer-to-peer traffic classification using incremental tri-training method[J]. Peer-to-Peer Networking and Applications, 2009, 2(2): 87-97.
[26]BASHER N, MAHANTI A, MAHANTI A, et al. A comparative analysis of web and peer-to-peer traffic[Z]. ACM 2 Penn Plaza, Suite 701 New York NY USA, 2008:287-296.
[27]MORI T, UCHIDA M, GOTO S. Flow analysis of internet traffic: World Wide Web versus peer-to-peer[J]. Syst. Comput. Japan. 2005, 36(11): 70-81.
[28]BOLLA R, CANINI M, RAPUZZI R, et al. On the double-faced nature of P2P traffic[C]//Piscataway, NJ, USA: IEEE, 2008:524-530.
[29]SILVERSTON T, FOURMAUX O, BOTTA A, et al. Traffic analysis of peer-to-peer IPTV communities[J]. COMPUTER NETWORKS, 2009, 53(4, Sp. Iss. SI): 470-484.