邢剛 付榮 宋利


【摘要】? ? 當前因特網多媒體視頻流業務增長迅速,有效識別網絡流量P2P(Peer to Peer)視頻流服務是一項重要挑戰。本文提出一種基于機器學習的P2P視頻流識別技術。該技術中視頻流特征分析系統包括數據報采集、處理、分流和屬性特征計算模塊。其次,提出了基于統計方法的P2P視頻流數據報特征挖掘方法。仿真實驗驗證了所提出方法的高效性和準確性,能夠較好的滿足P2P視頻流識別。
【關鍵詞】? ? P2P視頻流? ? 流量識別? ? 特征分析? ? 機器學習
引言:
當前,伴隨多媒體技術與P2P(Peer to Peer)網絡技術的迅猛發展,基于P2P的視頻流應用已成為網絡用戶流量數據中的關鍵組成部分[1]。基于分布式的P2P技術具有傳統客戶端/服務器架構技術所不具備的特點與優勢。采用P2P技術實現多媒體流服務,讓用戶從分布式環境獲取流媒體資源,這樣能夠有效地降低終端用戶對服務器性能的需求,降低網絡通信開銷和帶寬資源,有效地提高流媒體的服務質量。研究人員為解決P2P視頻流服務中的安全問題,針對P2P技術的視頻流進行有效識別,是實現網絡可管理、可控制的關鍵技術。
目前,基于P2P的視頻流識別技術分為三類,分別是基于端口的P2P流媒體識別技術、基于流量特征的P2P流媒體識別技術和基于深層數據報檢測的P2P流媒體識別技術。
基于端口的P2P流媒體識別技術, 該技術通過識別P2P流量中數據報的端口字段,所識別出的字段能夠準確檢測出流量所屬P2P協議,亦能夠排除其他端口的非P2P應用。該字段再用于特定端口號匹配,這樣的方式能夠發現潛在的特定P2P流媒體。該類技術通過基于端口的識別技術不易受數據包丟失、亂序影響,具有較好的魯棒性等特征。
基于流量特征的P2P流媒體識別技術,它能夠解析其網絡數據報的傳輸層所展現出的流量特征,實現基于特征匹配的流媒體識別。常見的流量特征包含:節點角色分析、流量統計、網絡直徑計算法[2-3]。
基于深層數據報檢測的P2P流媒體識別,該方法需要訪問數據包內部有效載荷,挖掘終端用戶的應用層數據,基于協議與還原技術檢測數據報中是否含有特定協議字符串,以此來判斷數據報是否屬于P2P流媒體[4-5]。此類方法具有優越的擴展性,對已知協議的P2P應用具有準確的識別率。
現有P2P視頻流識別技術,均建立在傳統P2P應用流量識別技術之上,為了提升基于P2P的視頻流識別方法的有效性和準確率,本文提出基于統計特征與機器學習的視頻流識別方法。該方法采用機器學習中分類與聚類對P2P視頻流的流量特征進行統計,從而能夠有效識別。
一、P2P視頻流特征分析
1.1 P2P視頻流特征分析系統
P2P視頻流特征分析系統:通過采集網絡數據報作為系統輸入項,經過各模塊的挖掘處理,最終獲取P2P視頻流的統計特征。為了實現特定P2P視頻流統計特征分析,通常在采集數據報時,需要屏蔽其他P2P視頻流服務。數據報分流能夠實現預處理,將數據以流形式存儲在流隊列中。針對流量分析統計,采用模塊類包,包括數據報的采集與挖掘、數據報的分流處理、特征屬性值統計與計算。
1.2 P2P視頻流特征分析模塊
本文所提出的,視頻流量特征分析系統包含有四個功能模塊:數據報采集模塊、數據報處理模塊、數據報分流模塊和特征屬性計算模塊。下面針對系統內的四個功能模塊詳細解析:
在前期階段,系統需要感知數據,數據報采集模塊能夠實現從互聯網絡抓取特定P2P視頻流數據樣本,采用開源軟件包、爬蟲技術實現采集純凈的網絡數據報。
針對所采集到的數據,數據報處理模塊能夠對采集的樣本數據報進行標注和預處理,獲取數據報五元組信息,目的是便于后續的分流工作;處理過程中還需要挖掘出一些特征信息,如數據報大小、數據報到達時間、TTL(Time To Live)取值,這些提供給特征屬性計算模塊完成統計。
數據報分流模塊可以實現流層面P2P視頻流特征的統計分析。首先,分流模塊將具有相同五元組信息(源IP、目的IP、源端口、目的端口、TCP/UDP協議)的數據報視作同一條流;再將擁有相同五元組信息的數據報劃分至同一條矩陣列表流,存儲于流隊列中。
最終,特征屬性計算模塊實現對流隊列的挖掘與處理。該模塊對每一條流完成統計,遍歷流中所有數據報信息完成集合與計算,獲取每一條流的特征屬性值,最后計算出所有流的屬性值。
二、基于機器學習的P2P視頻流識別方案
基于機器學習的P2P視頻流識別方案結構如圖1所示。在視頻流學習之前,需要對每條視頻流量完成分流處理,提取相應的流屬性特征,采用分類學習算法挖掘此實例所屬的流量類別。運用Wireshark開源軟件進行數據報的采集,將樣本數據分為訓練集和檢測集。將訓練集樣本數據導入流量特征分析系統,最終實現分類處理。該方案中采用有監督的機器學習方法標注流的類別作為數據報的預處理,分類器與流量分類均在Weka開源數據挖掘軟件中實現。
三、實驗仿真與結果分析
驗證本文所提出的基于機器學習的P2P視頻流識別技術,構建實驗仿真平臺,通過局域網采集P2P視頻流數據報,針對PPLive、PPS和QQLive三種P2P視頻流服務分別進行流量特征選擇。實驗采用Weka開源數據挖掘平臺實現機器學習算法,通過界面操作進行算法參數配置,針對訓練數據集樣本采用十字交叉法對構建模型進行評估。仿真實驗選取機器學習算法中典型的分類算法:貝葉斯網絡(BayesNet)、K最近鄰法(KNN)和RandomTree進行P2P視頻流識別。算法評價指標為測試時間與準確率,用來評估所提出方法性能。
實驗組一:算法評估測試時間指分類算法對測試樣本識別執行時間,將視頻流訓練樣本數據建模,再對樣本數據進行流量識別。仿真實驗所得結果表示為:選擇的機器學習分類算法時間開銷最短為RandomTree等于26.35秒,BayesNet測試時間次之為81.62秒,KNN測試時間為312.74秒不能夠滿足實際應用。算法測試時間越長則表明算法的效率越差。
實驗組二:在該實驗組中,TTL值作為視頻流隊列中的基本屬性之一,作為特征變量進行P2P視頻流的識別,選取三組不同實驗數據集,仿真結果如圖2所示。圖2(1)中為包含TTL值的識別準確率,圖2(2)表示為樣本數據中不含TTL值識別結果。由圖可知,不含TTL值的流屬性在識別過程中的正確率明顯下降,含有TTL值的流隊列識別正確率較高。
實驗組準確率表示為特定P2P視頻流媒體(PPTV、PPS、QQlive)的識別正確率,其中基于BayesNet的識別率為92.34%、92.38% 、91.75%;基于KNN的識別率93.27%、90.47%、93.51%;基于RandomTree的識別率為92.17%、93.74%、90.41%。通過以上數據顯著看出不同分類算法在不同類型的P2P視頻流識別上準確性差異較小。實驗結果表明該算法和流量屬性的選擇在一定情況下,數據源中各流量類型的組成比例對流量識別的正確率影響不大。
四、結束語
P2P視頻流的識別是實現網絡流量安全管理的關鍵機制。本文提出一種基于機器學習的P2P視頻流識別技術,基于流隊列構建出視頻流特征分析系統,系統包括數據報采集模塊、數據報處理模塊、數據報分流模塊和特征屬性計算模塊;該識別技術采用統計方法進行特征選擇,挖掘P2P視頻流的數據報數量特征、數據報長度特征、流持續時間和TTL分布特征。仿真實驗采用Weka開源數據挖掘平臺對所提出方法進行驗證,仿真結果表明所提出的P2P視頻流識別技術是有效的,具有較高準確率和較低計算時間開銷。
參? 考? 文? 獻
[1]賀文華,劉浩,賀勁松.P2P網絡現狀與發展研究[J].軟件工程,2019,22(4):1-5.
[2]龍軍,王宇樓,袁鑫攀,張華超.P2P流媒體網絡的關鍵節點識別算法[J].計算機工程與科學,2019,41(1):56-64.
[3]魏赟,韓少恒.基于帶寬預測的流媒體超級節點選擇算法[J].計算機應用與軟件,2016,33(8):179-182.
[4]楊戈,劉智鵬.面向流媒體基于蟻群的副本選擇算法[J].計算機系統應用,2019,28(2):190-195.
[5]潘向輝,陳亞軍,吳學毅. 基于節點能力度的P2P流媒體資源調度算法[J]. 計算機工程, 2019, 45(5): 226-231.