文獻標識碼: A
文章編號: 0258-7998(2014)02-0125-03
近年已有部分學者開始進行P2P流媒體識別技術的研究[1]。劉朝斌[2]等人提出了4個可區分P2P流媒體和P2P文件下載應用業務的流量特征,采用支持向量機對P2P流媒體進行識別。陳偉[3]通過提取6個端點流量特征并結合C4.5決策樹方法實現P2P流媒體的識別。上述方法通常采用P2P直播流代替P2P流媒體,未考慮P2P點播流的影響,識別算法較為片面。胡超、楊潔[4]等人通過P2P流媒體軟件的協議特征實現P2P流媒體的識別,但基于協議特征的識別方法不能識別未知的P2P流媒體軟件。周麗娟[5]利用P2P直播的暫存性,萬成威[6]分析了P2P直播失敗會話比例較高的問題,實現了P2P直播流的識別,但所屬方法需要對P2P節點的所有下行流量進行統計計算,耗時較長,且識別效果不理想。
P2P流媒體識別的關鍵在于P2P流媒體特征的選取[7]。從上述研究發現,基于協議特征的識別方法不能識別全部的P2P流媒體應用[8-9];基于流量特征的識別方法未能提取有效區分P2P直播與點播的流量特征;基于行為特征的識別方法雖然可以識別P2P直播流,但由于提取特征較少,識別效果不理想。本文以此為出發點研究P2P流媒體的直播流的行為特征,提出了可以有效識別P2P直播流的行為特征,并結合直播流的流量特征實現了P2P流媒體的快速準確識別。
1 P2P直播流識別方法
基于上述分析結果,本文提出了兩種能夠準確識別P2P直播流的行為特征,一種是基于服務器角色的節點連接度,另一種是BM信息比,將兩者特征結合可以有效地識別P2P直播流。
1.1 基于節點連接度的P2P直播流識別(DLN)
在采用基于節點連接度的P2P直播流識別方法之前,需定義如下3個變量:
定義1 客戶端角色節點連接度 C_link
將一個節點作為目的 IP 地址,記錄在一段時間內流經該節點的數據包。當數據包長度大于800 B時,記錄該數據包的源IP,最后計算相異的源IP個數,即為客戶端角色的節點連接度。
定義 2 服務器角色節點連接度 S_link
將一個節點作為源 IP 地址,記錄一段時間內該節點發出的數據包。當數據包長度大于800 B時,記錄該數據包的目的IP,最后計算相異的目的IP個數,即為服務器角色的節點連接度。
定義 3 節點出/入連接比 PL
PL=S_link/C link
DLN識別算法如下:
(1) 初始化C_link、S_link、PL和時間計數t。
(2) 當有數據包流經節點時,判斷計時t,如果t≥T,轉步驟(7);如果t<T;則轉步驟(3)。T為截取數據包時間的常量閾值。
(3) 記錄當前數據包源和目的IP,將IP與節點庫IPK中的IP進行匹配。若成功,則轉步驟(2);否則轉步驟(4),并將該IP加入到IPK中。
(4) 如果該數據包以該節點為目的節點,轉步驟(5);如果該數據包以該節點為源節點,則轉步驟(6)。
(5) 測量該數據包長度L1,若L1≥800,則C_link=C_link+1,轉步驟(2)。
(6) 測量該數據包長度L2,若L2≥800,則S_link=S_link+1,轉步驟(2)。
(7) 計算PL。PL=S_Link/C_link。
(8) 對PL進行判斷,如果PL>β,則該節點為P2P流媒體直播流。
1.2 基于BM信息比的P2P直播流識別
定義4 S為客戶端角色時的下行流量集合,S={S1,S2,…,Sn},其中Si(i=1,2,…,n)為其中的一條五元組流。
定義5 Ti為五元組流Si中IP包出現的時間數。
定義6 Di為五元組流Si中BM信息包出現的時間數。
定義7 Fi為五元組流Si的BM信息比,Fi=Di/Ti。
H-IRI方法識別步驟如下:
(1) 初始化S為空集,n=0,t=0。
(2) 對于時間t計數,如果t≥T,轉步驟(5)。
(3) 對于每一個到達的數據包P,如果flow(P)∈S,將其加入相應子流,轉步驟(2);否則轉步驟(4)。
(4) 如果length(P)≥800,則將flow(P)加入S中,同時n=n+1。
(5) 對Si(i=1,2,…,n)進行統計,開始時設置Ti,Di為0,然后進行每秒統計,在當前1 s內,其中若有數據包,則Ti=Ti+1。若數據包中有BM信息數據包,則Di=Di+1,同時統計Si的數據包個數Ni。
(6)選取Ni最大的前6項五元組流集合SS={SS1, …,SS6},其中NNi為SSi的數據包個數,TTi為SSi的IP包出現時間數,DDi為SSi的BM包出現時間數。
(7) 計算SSi的BM信息比:FFi=DDi/TTi。
(8) 計算S的平均BM信息比:
(9) 判讀F,如果F≥?濁,則該節點流為P2P直播流。
采用主流的P2P流量進行1 min流量采集,并進行BM信息比測量,結果如表1所示。
從上述數據可知,H-IRI采用權重較大的五元組流進行賦權重的BM信息比統計,增大了直播流的BM信息比,減小了其他P2P應用的BM信息比,使得直播流與其他應用的BM信息比差距增大,有利于P2P直播流的識別。
1.3 基于聯合特征的P2P直播流識別方法
單個行為特征無法全面測量P2P直播流的多方面的特性,僅僅使用單個行為特征來識別P2P直播流,必然導致識別的片面性。如果能夠綜合多個P2P直播流特征來共同識別P2P流,將有效地提高P2P直播流的識別效率。
除上述兩特征,對實現較好的P2P流媒體PPTV、PPStream及QQlive分別進行直播流和點播流的抓包測量,同時對P2P文件下載軟件迅雷和BT抓包測量。對它們的數據包長進行統計,按字節長度分為0~300 B、300~800 B及≥800 B三類包,并統計每類包的分布比例。表2為1 min內3種P2P流媒體直播、點播及2種P2P下載軟件的包長分布。
由表2可知P2P直播流短包數遠大于長包數,而P2P點播流短包數稍小于長包數。同時P2P直播流的下載速率較為穩定,一般不低于50 kb/s,而且不高于300 kb/s。
本文采用基于特征加權的P2P識別方法,其中優先級較高的特征擁有較高的權值,優先級較低的特征擁有較低的權值。設定優先級的權值為?琢i,?琢1>…>?琢n>0。根據匹配特征對識別準確性的貢獻分配優先級,進而確定權值大小。
從圖中知,采用聯合特征可以將P2P直播流的識別準確率從90%提高到約95%,由此可見該方法識別性能良好。
P2P流媒體是當前P2P技術的一個重要應用方面,本文實現了P2P直播流的識別。下一步將對P2P點播進行分析,實現P2P點播的識別。
參考文獻
[1] 孫衛喜,席少龍.對等網聯下NAT穿越問題的研究[J].電子技術應用,2013,39(5):40-42.
[2] VALENTI S, ROSSI D, MEO M,et al. Accurate, finegrained classification of P2P-TV applications by simply counting packets[C].First International Workshop on Traffic Monitoring and Analysis, Aachen, Germany, 2009.
[3] 陳偉. 基于端點特征的P2P流媒體識別方法[J]. 計算機應用研究,2012,29(7):60-62.
[4] 胡超. 實時識別P2P-TV視頻流的方法研究[J]. 電子與信息學報,2011,33(9):19-24.
[5] 周麗娟. P2P流媒體識別方法的研究[D]. 武漢:華東科技大學,2008.
[6] 萬成威. 基于P2P流媒體模型的流量特征分析及實時分類[D]. 鄭州:解放軍信息工程大學,2012.
[7] KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC: multilevel traffic classification in the dark[C].ACM SIGCOMM Conference, Philadelphia, USA, 2005.
[8] 魯剛,張宏利,葉麟. P2P流量識別[J].軟件學報, 2011,22(6):81-86.
[9] 刑玲.基于節點連接度的 P2P 流量快速識別方法[J]. 計算機工程,2012,38(21):119-122.