陳金富 趙 慧 常 鵬 張永錚
1(中國科學院信息工程研究所 北京 100093)2(中國科學院大學 北京 100049)3(國家計算機網絡應急技術處理協調中心 北京 100029)
P2P應用流量的高效分類方法研究
陳金富1,2趙 慧3*常 鵬1張永錚1
1(中國科學院信息工程研究所 北京 100093)2(中國科學院大學 北京 100049)3(國家計算機網絡應急技術處理協調中心 北京 100029)
隨著互聯網應用的廣泛使用,網絡應用已經呈現出很多類別,尤其是P2P應用流量的暴增。傳統的流量分類和應用識別方法已經達不到穩定可觀的應用識別率。為了提高P2P應用流量分類準確率和穩定性,科學管理規劃網絡,提出WMFA(滑動窗口多流關聯)分類算法,使用P2P應用流量統計特征,通過降低流統計特征維數,以及減少計算每個流中包的數量,利用C4.5決策樹算法對P2P主流應用進行一次分類,采用WMFA算法進行誤識別流的挖掘,再進行多流關聯進行二次識別,從而提高P2P應用流量分類準確率。實驗表明,在降低流特征維數以及減少每個流數據包的前提下,面向國內主流P2P應用WMFA算法對P2P應用在線識別的分類正確率達到96%以上,在準確率上比現有方法平均提高3%。
P2P流量分類 應用識別 WMFA算法 多流關聯
據中國互聯網絡信息中心統計,截至2015年6月,我國網民規模達6.68億,互聯網普及率為48.8%。據思科最新統計,對于劇增的流量,P2P流量占絕大部分。P2P網絡應用流量的暴漲,占據了巨大的網絡帶寬,不利于高質量的服務,這些問題說明,研究如何提高P2P應用流量分類準確率迫在眉睫。P2P流量分類和應用識別對于很多單位的網絡管理員、使用者都有很大的好處。準確地分類P2P應用流量可以為一些網絡管理員合理地分配網絡流量,科學地規劃網絡資源。同時,應用服務的提供商可以高效地管理流量計費服務,也方便消費者查看已經消耗的流量。
以往的P2P網絡流量分類和應用識別研究方法主要是基于端口、負載特征來判別,但是因為P2P應用的暴增,加上一些通信協議的不斷更新,以往研究方法分類準確率越來越不穩定。2005年,Moore等做了端口識別應用的實驗,運用端口來進行應用分類,結果表明準確率不超過70%[1]。端口識別應用存在過大的誤報率問題,接著提出基于數據包負載分析的技術[2],指解析數據包的負載,并判斷是否匹配已知應用的指紋來進行應用分類。該分類方法識別率有很大的提升,但是對于P2P流量而言,很多加密流量,一些很難挖掘特征的應用沒辦法進行準確的分類。后來提出基于主機網絡行為來進行P2P應用分類,網絡行為代表了大類應用的交互特征,所以沒辦法進行細粒度的應用識別。由于機器學習算法的迅猛發展,研究者們提出使用機器學習的算法來進行P2P應用流量分類,通過離線網絡流的特征學習,建立分類模型,然后對P2P流量進行在線的分類,很多研究表明可以達到較高的分類準確率。在以往的研究中,機器學習方法訓練集是經過大量計算的流特征,根據Moore等提出的249個流特征[3],選擇一定的特征子集。但是機器學習的方法比較依賴數據集,在計算一些流特征的時候,需要計算流中每個包的特征,在網絡流量暴漲情況下,應用識別的性能有所下降,分類準確率不穩定。
為了有效地提高P2P應用流量分類準確率,本文提出WMFA(滑動窗口多流關聯算法)分類算法,可以在一個時間單位窗口中在線的實時識別P2P應用流量。通過降低P2P應用流特征維度,以及減少流中數據包個數的方式,利用C4.5的方法來對P2P應用進行一次識別,再用WMFA算法來去除C4.5誤識別的流,然后采用時空關聯來進行多流關聯識別,從而提高P2P應用流量分類準確率。實驗結果表明該方法可以在線實時對P2P應用流量進行有效分類,不僅分類穩定,而且對P2P應用識別具有較高準確率。
現有的P2P應用流量分類方法主要包括基于端口、數據包負載、網絡行為以及機器學習的分類方法,本節主要介紹各種分類方法并總結各種方法存在的問題。
1.1 基于端口的P2P應用分類方法
在P2P網絡通信過程中,無論是客戶端還是服務端,或者是一個Peer節點,必須提供IP地址和端口和另一方進行通信,在一定的時間內,主機某個端口關聯一個網絡應用,端口小于1 024的一般作保留使用。一些常見的有RFC文檔描述的網絡協議基本有固定的端口,識別傳統的協議較簡單,只需解析端口號,然后和IANA機構頒布的端口進行比對,有比較高的識別率,而且基于端口識別方法簡單,容易實現,分類性能很高。但是對于P2P應用來說,大多采用了端口跳變技術。隨著P2P網絡應用端口的動態使用,基于端口的P2P應用識別和流量分類很不穩定,有的研究表明采用固定端口的P2P流量僅僅占30%左右[4-5]。
1.2 基于負載的P2P應用分類方法
因為P2P網絡應用采用端口跳變的技術,所以基于端口的P2P應用分類具有很高的誤報率。為了有效提高P2P應用流量分類準確率,提出了基于數據包負載的識別方法。通過分析數據包的有效負載,并判斷是否匹配已知應用的指紋來進行應用分類,研究表明該方法分類有比較高的準確性。Sen等[6]使用負載分析方法來識別P2P應用,實驗結果顯示分類中誤報率小于5%。Liu等[7]使用深度流負載識別迅雷流量,TCP流量的識別準確率僅有87%。基于數據包負載進行P2P應用分類準確率得到一定的提升,而且可以達到細粒度的識別。但是對于P2P流量而言,很多是私有協議以及加密流量,比如迅雷就采用了私有協議來傳輸數據,很難挖掘負載特征。所以使用該方法還是無法有效的識別P2P應用,無法確保一些特征的有效性和實時性。
1.3 基于網絡行為的P2P應用分類方法
私有協議和加密的流量無法挖掘有效負載特征,為了保證分類準確率穩定性,繼而提出通過P2P應用的交互行為來進行應用分類。Karagiannis等[8]利用應用交互過程的行為特征來分類,提出盲分類方法,方法沒有考慮端口號,而且不用解析數據包的有效負載,實驗結果表明該分類方法能夠達到95%的精度,但是盲分類方法實踐比較困難,無法滿足實時性的分類要求。Collins等[9]采用P2P應用TCP連接特征來識別P2P應用的TCP流量,該方法沒有給出UDP流量分類的方案,而且容易和別的一些流量混淆。Wang等[10]使用應用行為特征來對P2P流量分類,但是平均分類準確率只有90%。主機交互行為方法不用考慮端口號,而且不用對數據包進行深度解析,有效提高了分類性能。但是它不能精細化分類P2P應用,也因為P2P應用在交互過程中路由具有動態性,致使該方法分類穩定性不高。
1.4 基于機器學習的P2P應用分類方法
目前研究熱點主要在基于機器學習的分類方法,不同應用網絡流量具有一定的流特征,將流特征提取出來并用機器學習算法來訓練建立分類模型,然后對在線應用流量進行分類。Zuev等[11]采用樸素貝葉斯方法,提取網絡流特征訓練,但是分類準確率僅有60%左右, 而且分類算法依賴數據流特征之間的獨立性。在2009年,Huang等[12]用KNN(K最近鄰)分類算法來對網絡流量進行分類,實驗結果表明分類準確率達到90%,但是KNN算法計算復雜度高,每有數據包到來就需要計算訓練集中所有的流,性能比較低。同時在2009年,徐鵬等[13]采用C4.5決策樹對流量進行分類,分類準確率能達到94%,但是該算法需要的流特征較多,需要的數據分組較多,計算復雜度偏高。2013年,周文剛等[14]使用譜聚類算法對網絡流量進行分類,總體準確率達到94.62%,該方法對協議進行分類,沒有精細化到應用分類。2014年,Patel等[15]采用迭代式調整的SVM算法對網絡流量進行分類,該方法對一般的協議分類準確率達到90%,但是對于P2P和多媒體流量分類準確率在70%左右。2015年,Hong等[16]使用SVM對網絡流量進行粗粒度分類,P2P流量分類準確率僅有80%左右。
目前已有的流量分類和應用識別研究往往具有一定的局限性,當前研究大都針對粗粒度分類,面向P2P應用細粒度分類研究較少。采用基于機器學習的流量分類方法,識別率不穩定,算法計算復雜性比較高等,從而影響網絡流量的管理和應用類別的監控。與上述研究工作相比,本文面向主流P2P類應用流量分類,提出WMFA算法進行P2P流量的在線實時分類,實時的粒度體現在一個時間單位窗口上。在減少流統計特征,減少會話開始的數據包數量,利用C4.5決策樹算法對P2P主流應用進行一次分類,用WMFA算法進行誤識別流的挖掘,再進行多流關聯進行二次識別,可以達到較高的分類準確率。
P2P應用流量分類中,機器學習比較依賴數據集所以識別率有時候不穩定。面向主流P2P應用分類,本文提出基于WMFA算法的應用在線實時分類方法,基于滑動時間窗口的多流在線關聯方法集成了C4.5和多元離群點檢測方法,采用信息增益率來選擇P2P流特征,然后使用C4.5對P2P進行一次識別,挖掘誤識別流,利用時空關聯將已識別的流來關聯未識別的流作二次精確識別。
通過信息增益率來篩選P2P網絡應用行為特征,在特征提取方面,本文提出的優化方案是將TCP流和UDP流分開進行處理,在性能方面,每個流僅選取前9個報文進行分析。
2.1 特征選擇
2005年,Moore等[3]提出了249個對流量分類的流統計特征。在實際分類中考慮到計算復雜度問題,通常只選擇部分流統計特征來對流量進行分類。在特征選擇方面,潘吳斌等[17]提出選擇性集成的嵌入式特征選擇算法,分類準確率達到95%,但是分類沒有精細化到應用。特征選擇的目的是在保持較高分類準確率的條件下,盡量的降低流統計特征的維數。
本文采用信息增益率方法來選擇P2P流特征,不考慮應用中攜帶的廣告流量和DNS流量。優化方案體現在分開處理P2P應用TCP和UDP流量,僅考慮通過每個P2P網絡流的前10個數據包來計算流統計特征。在該特征選擇算法,用GR代表信息增益率,Gain是信息增益,SpInfo表示分裂信息。那么在流統計特征屬性T上,針對訓練數據集D的信息增益率的計算如式(1)所示:
(1)
信息增益表示兩個信息需求之間的差值。通過流統計特征T劃分前后類別期望信息的差值比較,這個差值越大說就表示流統計屬性T劃分越好,劃分后類別更純。信息增益的計算為Gain(T)=Info(D)-InfoT(D),通過信息熵的方式來計算信息增益。Info(D)就是數據集D的熵。令Ri表示D中網絡流屬于第i個應用的概率,使用m代表P2P應用類別的總數,可以計算信息熵,則P2P應用流量數據集中網絡流分類的信息熵計算如式(2)所示:
(2)
通過信息增益率選擇的分類屬性,按照增益率的大小排序,然后選擇增益率較大的前15個分裂屬性。在信息增益率算法的基礎上,通過卡方檢驗來判斷信息增益選擇的流特征相關性,并去除具有相關性的特征。針對P2P應用TCP和UDP流量,使用信息增益率作為度量標準選擇了10個最有效的流統計特征如表1所示。

表1 P2P流量TCP和UDP流統計特征
本文在Moore的特征基礎上,增加了P2P應用的一些特有流特征,因為P2P應用大部分使用私有協議,每個流攜帶交互信息的數據包最大概率出現在前3個包,熵值是最大的。同時,在分析P2P應用中,我們發現交互過程中初始化窗口攜帶的分類信息很大。
2.2 WMFA分類算法
機器學習方法分類主要依賴數據集,使用C4.5對P2P流量進行分類,結果大多數存在誤識別的流。為去除誤識別流提出WMFA算法(基于滑動時間窗口多流關聯) ,主要目的是在線實時挖掘每個時間窗口中誤識別的流,再進行時空關聯將未識別的流標記為已識別的流。
P2P通信應用流量具有流量連續性、端口離散性、流大窗口連續性、流小窗口短暫性以及輸入輸出流量均衡性。使用滑動時間窗口來量化流量的連續性。設定一個單位統計時間為一個窗口。根據經驗規則,單位時間設置為5分鐘。設置窗口尺寸為wn,這里的窗口尺寸設置為4。
將一個時間窗口P2P流量分類結果數據集中同應用的流作為輸入,挖掘誤識別的流并清除流標記。本文運用基于χ2統計量的多元分類結果離群點檢測,這里的離群點是指誤識別的應用流。使用多元屬性來度量P2P通信原理,多元屬性分別為f1端口離散性,f2輸入/輸出流量比,f3大窗口持續性,f4小窗口短暫性,四個屬性的量化如下。
在線實時量化四個P2P通信屬性,這里實時粒度是一個時間窗口,本文設置為5分鐘。f1端口離散性記錄每個流客戶端端口ClientPort值,由于P2P應用通信端口一般比較大,而其他三個屬性的量化結果在0到1區間范圍內,為平衡各屬性的權重,使用hash函數將客戶端端口hash到0到1區間內,f1的量化如式(3)所示:
f1=Hash(ClientPort)
(3)
f2輸入/輸出流量比使用每條流的輸入字節數fbytes和輸出字節數bbytes量化,如式(4)所示:
(4)
f3大窗口連續屬性使用每條流中包負載大于初始化窗口大小包數量big_wins和整條流包數flow_packets來量化,如式(5)所示:
(5)
f4小窗口短暫屬性使用每條流中包負載小于流前三個包長的數量small_wins和整條流包數flow_packets來量化,如式(6)所示。
(6)
基于χ2統計量的多元分類結果離群點檢測,使用上述量化的P2P應用流量特征,如計算式(7)所示:
(7)
其中fi是當前窗口第i個屬性特征值,EiWn是前wn窗口內被標記為內同一應用第i屬性的均值,n代表屬性維度,這里n表示4。在識別過程中,時間窗口會不斷向后滑動,EiWn代表每個屬性的窗口尺寸平均值會不斷改變。如果在某個時間窗口中χ2統計量較大,則將該流視為誤識別并將該流的應用分類標記去除。
通過離群點檢測算法,將誤報的流標記被刪除并在一個時間單位窗口中使用在線實時多流時空關聯,實時的粒度是一個時間窗口,空間是指該窗口中每條流中IP和端口PORT。如果在一個時間窗口上,同一個IP和端口PORT的流有未識別的流,則將該流標記為對應IP和PORT已識別的流,偽代碼如下:
算法 多流時空關聯
輸入:一次識別結果集Data,時間窗口win_time
輸出:關聯后的識別結果
1:foreach flow in Data do
2: if flow.IP and flow.Port is same then
3: if flow.TIME < win_time then
4: AppNames.add(flow.AppName)
5: AppName = Max(AppNames)
6:endforeach
7:foreach flow in Data do
8: if flow.AppName == null then
9: flow.AppName = AppName
10:endforeach
11:return Data
算法的輸入是C4.5識別的結果集Data和時間窗口長度win_time,時間窗口代表了在線實時的粒度,本文設置實時粒度是5分鐘。輸出是WMFA關聯識別的結果集。第2行中如果流的客戶端IP和端口PORT一樣,并且流的時間小于win_time,則將流中標記的應用名稱記錄。第5行中計算出現頻率最高的應用編碼。采用了hash原理,將每條流的IP和PORT作為鍵key,每條流的應用編號作為值value,在同一個時間窗口中客戶端IP和PORT一樣的流進行關聯。AppName記錄了應用編碼,將一次識別結果Data中未識別的流或者誤識別的流標記成AppName已識別的應用編碼。
3.1 實驗評估
本文實驗的度量指標分別是準確率和召回率。準確率和召回率使用下面三個變量來計算。
(1) 真陽率TP(True Positive):算法識別為某P2P應用的網絡數據流,而且確實屬于該應用的網絡數據流。
(2) 假陽率FP(False Positive):算法識別為某P2P應用的網絡數據流,但是不屬于該應用的網絡數據流。
(3) 假陰率FN(False Negative):算法識別為非某P2P應用的網絡數據流,但是屬于該協議或者應用的網絡數據分組。
準確率與召回率度量在分類中廣泛使用。準確率可以看作精確性的度量,而召回率是完全性的度量,二者的計算如式(8)和式(9)所示。
(8)
(9)
3.2 數據集
本文的數據集采自某局域網的網絡出口。在2015年9月和11月的不同時間段,我們用GT[18]工具采集了6個數據集,包含數據包負載的完整信息。數據集的情況如表2所示。

表2 P2P應用數據集描述
數據集通過GT進行流量標注,主要考慮國內常見P2P網絡應用流量的分類。因為本文中僅考慮P2P應用私有協議的流量,所以過濾掉HTTP流量和DNS流量,對剩下的TCP和UDP流進行分類。P2P應用實驗數據集分別是迅雷,uTorrent,QQ旋風,優酷,暴風影音,騰訊視頻,LeTV,PPTV,愛奇藝和搜狐視頻,它們是國內最常見的P2P應用。這里主要是下載類和多媒體類P2P應用。從圖中看出,迅雷在各個數據集中流量較大,搜狐和暴風流量相對較小。
3.3 每條流開始的數據包數目實驗
本實驗目的是比較每條流取前N個數據包來統計流特征時,TCP和UDP流量分類準確率的變化,從而找出在P2P流量中N的合適值。使用NetMate提取P2P應用流特征,以及工具Weka-3.7.13[19]和sklearn[20]來完成特征選擇和流量分類任務。
本節通過單因子均值實驗,驗證四種分類算法使用流開始的不同數據包數目統計特征分類的準確性,決定選擇統計分析合適的數據包數目。基于2.1節提出的流統計特征進行分類和上節的數據集,運用KNN(K最近鄰分類算法)、NB(樸素貝葉斯分類算法)、C4.5決策樹和SVM支持向量機算法對數據集data3進行學習建立模型,然后對數據集data1、data2、data4進行預測,實驗結果如表3所示。

表3 每條流前N包特征分類準確率 %
采用單因子均值分析方法驗證統計每條流開始不同數據包個數下分類平均準確率,這里的單因子是指數據包個數,它統計每條流開始的5到10個數據包,均值取的是不同測試集下不同分類算法分類準確率的平均值。
從結果可以看出,分類單因子數據包個數從5到9分類準確率均值基本呈遞增趨勢。取每條流開始5個數據包進行特征提取并使用四種算法分類時,TCP流量平均準備率是90.68%,UDP流量分類平均準確率為89.11%;6個數據包時,TCP流量平均分類準確率是89.5%,UDP流量平均分類準確率為89.81%;取7個、8個和9個數據包時,TCP流量分類平均準確率分別為91.65%,91.03%和92.46%,UDP流量分類平均準確率分別是90.56%,90.44%和92.19%;當取10個數據包時,TCP分類平均準確率是92.02%。UDP流量分類平均準確率為91.79%。可以看出,TCP和UDP流量分類統計流前9個數據包平均分類準確率較高。
因此在本文實驗數據集上,針對P2P應用流量選定每條流開始的前9個數據包來統計特征是最合適的。
3.4 WMFA算法分類實驗對比
本節實驗是使用上節結論,統計P2P應用流量每條流前9個數據包的流特征,使用data3離線訓練流基本特征,在線回放data1、data2、data4、data5和data6流量,進行在線實時分類,采用WMFA算法和其他四種分類算法進行實驗對比,分類準確率和召回率作為評估指標。P2P應用TCP分類準確率對比結果如圖1所示,UDP流量分類準確率實驗結果如圖2所示。

圖1 P2P應用TCP流量分類準確率結果

圖2 P2P應用UDP流量分類準確率結果
由圖1和圖2看出,面向主流P2P流量的在線實時分類,WMFA算法的分類準確率高于其他四種分類算法,在5個測試集上分類準確率平均能達到96%以上,而且分類準確率比較穩定,不受數據集大小的影響。對于其他四種分類算法,C4.5分類方法識別準確率相對較高,在不同數據集上,分類比較穩定,準確率基本在93%左右。KNN和NB分類算法分類準確率相對較低,TCP流量分類平均準確率分別為91.08%和91.11%,UDP流量分類平均準確率分別為90.87%和90.75%。KNN分類方法是給出測試元組才處理訓練元組,計算復雜度高,空間復雜度高;樸素貝葉斯分類方法需要條件獨立性假設,識別準確率也相對較低,基本低于91.5%;SVM分類方法準確率比樸素貝葉斯和K-NN都要高,比C4.5決策樹分類準確率低,但是需要建模的時間最長。
針對P2P應用TCP和UDP流量,5種分類算法的召回率實驗結果如圖3和圖4所示。

圖3 P2P應用TCP流量分類召回率結果

圖4 P2P應用UDP流量分類召回率結果
從實驗結果看出,召回率類似于準確率,WMFA召回率較高,無論是TCP流量還是UDP流量召回率平均在95%以上,尤其在測試集data2上的TCP流量達到了97.2%的召回率,整個召回率曲線比較平穩。C4.5決策樹對P2P流量分類的召回率維持在91%到94%之間,TCP流量的召回率相對UDP較高,但不是很穩定。SVM和NB分類平均召回率差不多,落在區間88%到92%之間,和C4.5算法類似,TCP流量的召回率相對UDP較高,NB分類召回率不穩定。KNN分類算法平均召回率最低,平均召回率在85%到91%之間,浮動比較大。
針對主流P2P應用流量的在線實時分類,WMFA算法的分類準確率和召回率都高于其他四個分類算法。WMFA算法根據P2P通信原理特征,在一個時間窗口中實時檢測離群點。挖掘C4.5分類結果中誤識別的流,再將未識別的流和已識別的流進行關聯,明顯的提高了P2P整體流量分類準確率和召回率。
用data3作為訓練集時,data2和data5數據集作為測試集。選擇data2和data5是因為data2測試集大小為1.08 GB,是5個測試集中最小的,而data5測試集大小是5.32 GB,是5個測試集中流量最大的,通過兩個流量大小差距最大的測試集來實驗,測試分類算法在不同大小應用分類準確率的穩定性。我們對比5種分類算法識別各種P2P應用TCP和UDP流量細粒度的準確率。data2作為測試集時,各個P2P應用TCP和UDP分類準確率結果如圖5和圖6所示。

圖5 data2 TCP應用分類準確率

圖6 data2 UDP應用分類準確率
data2測試集的應用分類結果可以看出,WMFA應用分類在線分類的平均準確率達到96%以上,在不同的P2P應用中分類準確率比較穩定。具體到細粒度P2P應用上,每個P2P應用TCP和UDP流量分類都是WMFA分類準確率最高。下載類的P2P應用迅雷和uTorrent以及QQ旋風流量的分類平均準確率相對較低在95.5%左右,而音視頻類的P2P應用比如優酷和暴風以及搜狐視頻分類準確率較高,最低也有96%,有的達到97.87%的分類準確率。相比其它4個分類算法,C4.5分類平均準確率相對KNN和NB以及SVM都較高,應用分類準確率平均在93%,KNN和NB分類準確率較低,應用分類平均準確率在90.8%左右。可以看到KNN分類算法,除了優酷和暴風分類準確率平均在92%以上,其它應用分類準確率在80%到91%之間。data2測試集流量比較小,5種分類算法分類都比較穩定,各個應用分類準確率浮動不大。
當使用data5作為測試集時,各個P2P應用TCP和UDP分類準確率結果如圖7和圖8所示。

圖7 data5 TCP應用分類準確率

圖8 data5 UDP應用分類準確率
在線回放測試集data5和data2,從實驗結果可以看出,兩個測試集的分類有一些差別。相同點在于,WMFA在線分類P2P應用的平均準確率也達到96%以上,在不同的P2P應用中分類準確率比較穩定。不同點在于,對其他四種分類算法,分類平均準確率有所下滑。對于TCP流量,NB分類算法下滑了2點百分點,UDP流量分類中,KNN分類算法下滑了1.5個百分點。同時單獨從測試集data5中實驗結果看出,針對P2P應用WMFA算法分類比較穩定,而其它四種算法分類準確率浮動比較大。可以看出,KNN分類算法在識別迅雷應用時分類準確率只有85.3%,騰訊視頻TCP流量分類準確率也僅有86%,NB算法在識別UTorrent的TCP流量是分類準確率僅有87.02%,其他應用分類準確率基本在89%以上。同時,SVM分類準確率從87.02%到94.48%,浮動較大。這說明NB和K-NN以及SVM分類算法受數據集大小的影響。
綜合來看,針對主流P2P應用流量在線分類,WMFA算法在P2P應用分類準確率上明顯高于其他分類算法,分類平均準確率達到96%以上,而且分類比較穩定,不受數據集大小的影響。WMFA算法中考慮了P2P應用通信原理,在分類中挖掘出分類器誤識別的應用流,并采用時空關聯方法進行多流之間的關聯,最終達到分類準確率和召回率的明顯提升。
隨著P2P網絡流量的日益復雜多樣,有效的P2P應用分類有利于科學管理規劃網絡流量。本文面向P2P主流應用細粒度在線實時分類提出基于滑動窗口多流關聯的算法WMFA,實時粒度是一個時間單位窗口,有效地提升了P2P應用流量分類的準確率和召回率。結合P2P應用通信原理,提取出P2P應用流量特征,可以有效的減少流特征的數量。在性能方面,沒有計算整個流的特征,而是通過計算每個流的前9個數據包來提升分類的性能。實驗結果表明WMFA算法針對常見P2P應用在線實時分類的平均準確率達到96%以上,相比其他分類方法分類準確率平均提高約3%,最高能提高7%,分類穩定性較高。
本文的主要貢獻在于:
(1) 有效地減少了P2P應用流統計特征維數。針對P2P應用,在Moore流特征的基礎上,本文結合P2P網絡應用通信原理,提取P2P應用特有的流屬性,包括流的窗口屬性和前三個數據包負載長度,將流特征維數降低至10維,有效的減少了流特征的維數。
(2) P2P應用流量統計特征提取只需考慮流前9個數據包,以往的研究一般是考慮從整條流提取流統計特征,本文僅考慮P2P應用每條流前N包的統計特征,并通過實驗確定N取9是最合適的,通過減少計算每條流開始的數據包數目,有效提高了分類性能。
(3) 針對主流P2P應用流量在線實時分類提出WMFA算法,有效的提升了P2P應用流量分類準確率和召回率。P2P應用流量分類達到了較高的分類準確率(平均在96%以上)。
[1]MooreAW,PapagiannakiKP.Towardtheaccurateidentificationofnetworkapplications[C]//Proceedingsofthe6thInternationalWorkshoponPassiveandActiveMeasurement(PAM2005),Boston,MA,USA,2005:41-54.
[2]DewesC,WichmannA,FeldmannA.AnanalysisofInternetchatsystems[C]//Proceedingsofthe3rdACMSIGCOMMConferenceonInternetMeasurement.NewYork:ACMPress,2003:51-64.
[3]MooreA,ZuevD,CroganM.Discriminatorsforuseinflow-basedclassification[R].RR-05-13,DepartmentofComputerScienceResearchReports,QueenMaryUniversityofLondon,2005.
[4]MadhukarA,WilliamsonC.AlongitudinalstudyofP2Ptrafficclassification[C]//Modeling,AnalysisandSimulationofComputerandTelecommunicationSystems,2006 14thIEEEInternationalSymposiumon.IEEE,2006:179-188.
[5]RoughanM,SenS,SpatscheckO,etal.Class-of-servicemappingforQoS:astatisticalsignature-basedapproachtoIPtrafficclassification[C]//Proceedingsofthe4thACMSIGCOMMConferenceonInternetMeasurement.ACM,2004:135-148.
[6]SenS,SpatscheckO,WangD.Accurate,scalablein-networkidentificationofp2ptrafficusingapplicationsignatures[C]//Proceedingsofthe13thInternationalConferenceonWorldWideWeb.ACM,2004:512-521.
[7]LiuJ,LiuF,HeD.TheidentificationforP2PThundertrafficbasedondeepflowidentification[C]//CloudComputingandIntelligentSystems(CCIS),2012IEEE2ndInternationalConferenceon.IEEE,2012:504-507.
[8]KaragiannisT,PapagiannakiK,FaloutsosM.BLINC:multileveltrafficclassificationinthedark[J].ACMSIGCOMMComputerCommunicationReview.ACM,2005,35(4):229-240.
[9]CollinsMP,ReiterMK.Findingpeer-to-peerfile-sharingusingcoarsenetworkbehaviors[C]//Proceedingsofthe11thEuropeanConferenceonResearchinComputerSecurity.Springer,2006:1-17.
[10]WangD,ZhangL,YuanZ,etal.CharacterizingApplicationBehaviorsforclassifyingP2Ptraffic[C]//Computing,NetworkingandCommunications(ICNC),2014InternationalConferenceon.IEEE,2014:21-25.
[11]ZuevD,MooreAW.Trafficclassificationusingastatisticalapproach[C]//Proceedingsofthe6thInternationalWorkshoponPassiveandActiveMeasurement(PAM2005).Springer,2005:321-324.
[12]HuangS,ChenK,LiuC,etal.Astatistical-feature-basedapproachtointernettrafficclassificationusingmachinelearning[C]//UltraModernTelecommunications&Workshops,2009InternationalConferenceon.IEEE,2009:1-6.
[13] 徐鵬,林森.基于C4. 5決策樹的流量分類方法[J].軟件學報,2009,20(10):2692-2704.
[14] 周文剛,陳雷霆,董仕.基于譜聚類的網絡流量分類識別算法[J].電子測量與儀器學報,2013,27(12):1114-1119.
[15] Patel S,Sondhi J,Motvani A,et al.Improved Intrusion Detection Technique based on Feature Reduction and Classification using Support Vector Machine and Particle of Swarm Optimization[J].International Journal of Computer Applications,2014,100(18):34-37.
[16] Hong Y,Huang C,Nandy B,et al.Iterative-tuning support vector machine for network traffic classification[C]//Integrated Network Management (IM),2015 IFIP/IEEE International Symposium on.IEEE,2015:458-466.
[17] 潘吳斌,程光,郭曉軍,等.基于選擇性集成策略的嵌入式網絡流特征選擇[J].計算機學報,2014,37(10):2128-2138.
[18] Gringoli F,Salgarelli L,Dusi M,et al.GT:picking up the truth from the ground for internet traffic[J].ACM SIGCOMM Computer Communication Review,2009,39(5):12-18.
[19] Hall M,Frank E,Holmes G,et al.The WEKA data mining software:an update[J].ACM SIGKDD Explorations Newsletter,2009,11(1):10-18.
[20] Buitinck L,Louppe G,Blondel M,et al.API design for machine learning software:experiences from the scikit-learn project[DB].arXiv preprint arXiv:1309.0238,2013.
RESEARCH ON EFFICIENT CLASSIFICATION METHOD OF P2P APPLICATION TRAFFIC
Chen Jinfu1,2Zhao Hui3*Chang Peng1Zhang Yongzheng1
1(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093,China)2(UniversityoftheChineseAcademyofScience,Beijing100049,China)3(NationalComputerNetworkEmergencyResponseTechnicalTeam/CoordinationCenterofChina,Beijing100029,China)
Network application has been showing a lot of categories because of the widespread use of Internet applications, especially P2P applications traffic growth. Traditional traffic classification and application identification methods can’t considerable reach stable application classification precision. In order to improve classification accuracy and stability of P2P application traffic and manage network scientifically, this paper proposes WMFA (sliding window multi-flow association) algorithm. Using P2P application traffic statistics feature by reducing the flow statistics feature dimension and reducing the number of packets in each network traffic flow, C4.5 algorithm is used to classify P2P applications. We use WMFA algorithm to mine misrecognized flows, and carry on the multi-flow association on the second recognition to improve the P2P application traffic classification accuracy. Experimental results show that with a decrease in P2P traffic flow characteristics dimension and reducing the number of each flow data packets, WMFA algorithm average classification precision for the domestic mainstream P2P application is more than 96%, the average rate of accuracy than the existing method of 3%.
P2P traffic classification Application recognition WMFA algorithm Multi-flow association
2016-01-07。國家自然科學基金項目(61572496);國家高技術研究發展計劃基金項目(2013AA014703)。陳金富,碩士生,主研領域:網絡安全。趙慧,工程師。常鵬, 工程師。張永錚,研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.04.020