錢亞冠,張 旻
(1.浙江科技學院理學院 杭州 310023;2.杭州電子科技大學計算機學院 杭州 310018)
近年來,P2P技術已被廣泛應用于文件共享、視頻內(nèi)容分發(fā)、即時通信等網(wǎng)絡應用領域。自2004年以來,P2P流量在整個互聯(lián)網(wǎng)流量中逐漸占據(jù)主導地位(60%以上)[1,2]。P2P流量的快速增長給網(wǎng)絡帶寬帶來了巨大壓力,其近乎對稱的流量模式更加劇了網(wǎng)絡的擁塞。同時,基于P2P技術的惡意流量也開始肆虐互聯(lián)網(wǎng),造成帶寬的過度消耗,甚至導致拒絕服務[3]。因此,如何快速正確地識別P2P流量已經(jīng)成為當前網(wǎng)絡管理者面臨的巨大挑戰(zhàn)。
互聯(lián)網(wǎng)流量的識別技術經(jīng)歷了最初的基于TCP端口、深度分組檢測(deep packet inspection,DPI)到目前興起的機器學習方法和基于網(wǎng)絡行為的識別等技術[4]。有的P2P應用為了躲避檢測,開始采用動態(tài)端口、數(shù)據(jù)分組加密等技術手段,使得基于TCP端口與DPI的方法效率越來越低。而基于統(tǒng)計學的機器學習方法卻可以克服上述不足,因而它逐漸顯示出在P2P流量分類中的優(yōu)勢[5]。
傳統(tǒng)的機器學習方法通常假設目標類是均勻分布的,而實際的互聯(lián)網(wǎng)流量中的各種應用的分布是不均勻的。尤其是P2P這樣的大象流(elephant traffic),它們按字節(jié)數(shù)統(tǒng)計在流量上占很大比例,對網(wǎng)絡性能的影響很大,但從數(shù)據(jù)流(flow)角度統(tǒng)計卻占很少比例[6]。目前基于機器學習的流量分類方法通常基于數(shù)據(jù)流的統(tǒng)計信息,因此占數(shù)據(jù)流比例很小的P2P流量往往難以識別,分類器傾向于將P2P數(shù)據(jù)流識別為如WWW這樣的多數(shù)類。這種目標類比例嚴重失衡而導致少數(shù)類識別誤差增大的問題通常稱為類不平衡(class imbalance)問題,是目前P2P流量難以識別的一個重要原因。
網(wǎng)絡流量中的眾多應用比例極不均衡,流量分類問題面臨的是多類不平衡問題[7]。而P2P應用本身在數(shù)據(jù)流中所占比重很小,又受到其他應用目標類的干擾,本文提出將P2P識別中的多類不平衡問題轉(zhuǎn)化為兩類不平衡問題的思路,并通過過抽樣(over-sampling)方法增加P2P流量的比重,消除分類器在學習過程中的偏倚,提高P2P的識別率。本文提出改進的迭代SMOTE(i-SMOTE)過抽樣方法來提高Na觙ve Bayes算法的識別率,實驗結(jié)果證明本文提出的識別框架具有良好的識別性能。
目前基于機器學習的流量分類方法大多利用數(shù)據(jù)流層面的統(tǒng)計信息。因此像P2P這類應用,盡管在字節(jié)流上占很大比重,在數(shù)據(jù)流層面卻占很小的比例,與WWW應用相比存在嚴重的不平衡性。這種不平衡性將導致P2P很高的誤分類率。傳統(tǒng)的機器學習分類算法旨在最小化全局分類誤差,并假設假正例與假負例的錯誤代價是相等的,因此偏向于把少數(shù)類預測到多數(shù)類上,如將P2P預測為WWW。而實際網(wǎng)絡管理過程中,可能對于識別類似P2P這樣的少數(shù)類更有價值,因此需要有提高P2P識別率的有效方法。為了克服上述類不平衡問題,機器學習界提出重抽樣技術來平衡目標類的分布,即對多數(shù)類(majority class)進行欠抽樣 (under-sampling),對少數(shù)類(minority class)進行過抽樣(over-sampling)。
傳統(tǒng)的欠抽樣與過抽樣技術都具有自身的不足:對多數(shù)類欠抽樣會導致一些信息的丟失,而對少數(shù)類的簡單重復抽樣在早期的研究中就已發(fā)現(xiàn)對于提高分類性能并無太大的幫助[8]。因此,Chawla N V等[9]提出了新的過抽樣技術SMOTE算法,其基本思想是通過人工合成新的少數(shù)類樣本來減輕類別的不平衡,解決傳統(tǒng)過抽樣技術因決策域變小而引起的過擬合現(xiàn)象。SMOTE算法的基本原理是在相距較近的少數(shù)類樣本之間進行線性插值,從而生成新的少數(shù)類樣本。首先根據(jù)過抽樣倍率N,從每個少數(shù)類樣本k(默認取5)個同類最近鄰中隨機選擇N個樣本;接著將每個少數(shù)類分別與它的N個選中的樣本按式(1)合成N個新的少數(shù)類樣本,并加入到原訓練樣本集中,形成新的訓練樣本集。
其中,i=1,2,…,N;rand表示0~1的一個隨機數(shù);NewSample表示合成的新樣本;x表示少數(shù)類樣本;y[i]表示x的第i個近鄰樣本。
整個P2P流量的分類識別方法框架如圖1所示。
圖1 P2P流量的分類識別方法框架
步驟1 將訓練數(shù)據(jù)進行兩分類標注,即標注所有的P2P數(shù)據(jù)流后,將其他應用的數(shù)據(jù)流均標注為非P2P(non-P2P)。這樣就可將多標簽分類問題歸約到相對簡單的二分類問題求解。
步驟2 采用i-SMOTE算法,獲得更大的P2P數(shù)據(jù)流樣本。原始的SMOTE算法只是在原有的少數(shù)類樣本的基礎上進行線性插值獲得新的樣本,但最新研究表明P2P這樣的流量少數(shù)類具有明顯的概念漂移現(xiàn)象[10],少量的原始樣本不能完全表達P2P的概念。因此,采用多次迭代SMOTE算法的方法,在前一次迭代獲得的樣本集合上再進行插值運算,使得SMOTE算法的輸入樣本逐漸豐富,以便獲得更完整的P2P概念表達。通過i-SMOTE算法,獲得足夠的P2P樣本數(shù),在此基礎上進行步驟 3。
步驟3 特征提取,去除冗余特征,獲得維度較低的特征空間。具體的特征提取算法可以采用基于相關性的方法[11]等。
步驟4 訓練分類器,建立預測P2P流量的模型。目前已有很多機器學習的分類模型被嘗試用于流量分類,如Na觙ve Bayes[14]、決策樹[13]、支持向量機[14]、神經(jīng)網(wǎng)絡[15]等。這些模型被應用于流量分類,具有各自的優(yōu)缺點。如Na觙ve Bayes具有模型簡單、訓練時間短的優(yōu)點,但缺點是對于少數(shù)類的識別率低;而支持向量機與神經(jīng)網(wǎng)絡的識別率比較高,但模型復雜、訓練與分類時間過長。本文考慮到實際環(huán)境中對P2P流量識別的實時性要求,認為選擇簡單的模型更有利于快速獲得預測結(jié)果,因此選擇Na觙ve Bayes模型作為評估模型。通過實驗比較分析得出,當i-SMOTE方法獲得足夠的 P2P樣本數(shù)時,Na觙ve Bayes模型可以對 P2P獲得很高的識別率。i-SMOTE算法過程如下。
本文提出通過i-SMOTE過抽樣的方法來提高P2P流量的識別率。利用最簡單的Na觙ve Bayes模型比較分析SMOTE算法和i-SMOTE算法過抽樣效果:隨著P2P樣本數(shù)的逐漸增加,考察它們對識別率的影響。選擇最簡單的Na觙ve Bayes模型的原因是:在未進行過抽樣的情況下,它的識別率非常低。如果過抽樣技術能提高這類簡單模型的識別效果,則可以證明過抽樣技術對于P2P識別的有效性。
評估指標采用召回率(recall)與精度(precision)這兩個指標:recall=TP/P,precision=TP/(TP+FP)。其中,P 為測試集中事先標識為P2P的樣本數(shù),TP為分類器正確預測為P2P的樣本數(shù),TP為被分類器錯誤地將non-P2P流量預測為P2P的樣本數(shù)。
本文采用的數(shù)據(jù)集1為劍橋大學Moore等提供的公開流量數(shù)據(jù)集[16]。該數(shù)據(jù)集通過連續(xù)采集24 h的流量數(shù)據(jù),并隨機抽取10個約28 min的數(shù)據(jù)塊,在這些數(shù)據(jù)塊上構建出數(shù)據(jù)流,構成10個數(shù)據(jù)子集Data1,Data2,…,Data10。筆者在10個數(shù)據(jù)子集上進行的實驗結(jié)果非常相似,因此只列出了Data1的實驗結(jié)果。原始Data1中共有12種流量類型,如WWW、E-mail、FTP等,將它們均表示為non-P2P數(shù)據(jù)流,共計24524條,P2P數(shù)據(jù)流共計339條,占總數(shù)的1.36%。
數(shù)據(jù)集2是從校園網(wǎng)中心的某臺交換機上通過端口映射方法獲得的流量數(shù)據(jù),該交換機匯聚了某幢男生宿舍訪問外網(wǎng)的所有網(wǎng)絡流量。經(jīng)過連續(xù)1 h(晚上 21∶30-22∶30)的連續(xù)數(shù)據(jù)采集,共計獲得325538條數(shù)據(jù)流,其中P2P數(shù)據(jù)流有18632條,占總數(shù)的5.72%。為保護隱私的需要,只截取數(shù)據(jù)分組的分組頭部分,并通過Tcpdpriv工具對IP地址進行了匿名化處理。
Moore等[12]早在2004年就已深入分析和應用Na觙ve Bayes模型到互聯(lián)網(wǎng)流量分類中。通過選擇合理的流量特征和核估計方法,Na觙ve Bayes模型在全局正確率(accuracy)上達到96.29%。但他們的工作只是提高了整體的正確率,并沒有解決類不平衡的問題,因而對于像P2P這樣的少數(shù)類的識別率提升有限。Na觙ve Bayes模型具有簡單、計算效率高的特點,與其他復雜模型相比更具有實際應用價值,因此首選它作為評估過抽樣技術的效果。
對數(shù)據(jù)集1、數(shù)據(jù)集2的原始P2P數(shù)據(jù)采用如下過抽樣倍率:N=100%、300%、700%、1500%、3100%,應用 SMOTE算法過抽樣獲得新的P2P樣本集,抽樣結(jié)果分別見表1、表2。為了便于比較,提出的i-SMOTE算法每次迭代采用固定倍率N=100%,這樣獲得的P2P樣本數(shù)可與前述SMOTE算法保持一致。另外,通過傳統(tǒng)的隨機過抽樣方法產(chǎn)生一個同比例規(guī)模的數(shù)據(jù)集作為比較基準。
表1 過抽樣數(shù)據(jù)集1獲得的結(jié)果(樣本數(shù)/所占比例)
表2 過抽樣數(shù)據(jù)集2獲得的結(jié)果(樣本數(shù)/所占比例)
采用10折交叉驗證的方法對不同P2P樣本數(shù)下 (見表1、表2)的識別率進行評估。特征選擇采用FCBF算法[17]。圖2給出了隨機抽樣、SMOTE算法與i-SMOTE算法同比例擴大P2P的樣本數(shù)的情況下召回率的對比??梢悦黠@發(fā)現(xiàn)P2P樣本數(shù)從開始的339條數(shù)據(jù)流增加到2712條數(shù)據(jù)流時,即P2P比例從1.36%增加到9.96%時,Na觙ve Bayes模型在i-SMOTE數(shù)據(jù)集上獲得的P2P召回率明顯高于SMOTE數(shù)據(jù)集與隨機過抽樣數(shù)據(jù)集,前者為81.6%,后者分別為31.2%與21.8%。同樣,當P2P樣本數(shù)增加至5424條,比例增加到18.11%時,i-SMOTE數(shù)據(jù)集上的召回率達到98.5%,而SMOTE數(shù)據(jù)集與隨機過抽樣數(shù)據(jù)集分別只有78.5%與38.2%。最后當P2P的數(shù)量比例達到30.67%時,SMOTE數(shù)據(jù)集與i-SMOTE數(shù)據(jù)集上的召回率均在97%以上,而隨機過抽樣數(shù)據(jù)集僅為47.9%。從上述過程可以看出,i-SMOTE算法與SMOTE算法及隨機過抽樣相比,可以更快速地提高召回率。同樣,可以看到三者在精度上的區(qū)別 (如圖3所示)。隨著P2P樣本數(shù)的增加,3種過抽樣方法獲得的數(shù)據(jù)集在P2P識別精度上都得到了提升,但當P2P樣本比例到達30.67%時,i-SMOTE數(shù)據(jù)集上的精度達到了99.1%,而SMOTE數(shù)據(jù)集上的精度卻從94.7%跌至53.6%,甚至低于隨機過抽樣。圖4、圖5給出了數(shù)據(jù)集2的10折交叉驗證的結(jié)果,與數(shù)據(jù)集1的驗證結(jié)果相似。從圖2~圖5的比較分析中可以得出以下兩個結(jié)論。
·通過對P2P樣本的過抽樣,與原始數(shù)據(jù)相比不論召回率還是精度都可得到提高。
·SMOTE算法可以使召回率與精度兩者同時提高到90%以上,而SMOTE算法在召回率增長到一定程度時,精度會出現(xiàn)下降。精度的下降意味著non-P2P樣本被錯誤地預測為P2P的比例增加,即假陽性率增加。傳統(tǒng)的隨機過抽樣方法盡管有所提高,但提高程度有限。
因此,綜合召回率與精度這兩個評價指標,i-SMOTE算法比SMOTE算法及隨機過抽樣技術更為有效。
圖2 數(shù)據(jù)集1不同規(guī)模的P2P樣本數(shù)的召回率
圖3 數(shù)據(jù)集1不同規(guī)模的P2P樣本數(shù)的精度
圖4 數(shù)據(jù)集2不同規(guī)模的P2P樣本數(shù)的召回率
圖5 數(shù)據(jù)集2不同規(guī)模的P2P樣本數(shù)的精度
本文通過過抽樣技術提高對P2P流量的識別率。提出基于迭代的SMOTE算法可以比原始的SMOTE算法及傳統(tǒng)的隨機過抽樣方法具有更好的表達P2P概念的能力。實驗結(jié)果表明本文提出的基于過抽樣的方法可以有效地提高 Na觙ve Bayes模型對于 P2P 的識別率。Na觙ve Bayes模型由于其簡單性,在流量分類中不及SVM、神經(jīng)網(wǎng)絡等復雜模型的正確率高,通常為研究人員所忽視。但正是Na觙ve Bayes模型的簡單性,使得它具有很好的算法效率,容易被應用到實際工作環(huán)境。機器學習方法的分類正確率不僅僅取決于分類模型,與數(shù)據(jù)預處理的質(zhì)量也有重要關系。本文正是通過改善數(shù)據(jù)質(zhì)量的思路,使得i-SMOTE方法與簡單的Na觙ve Bayes模型相結(jié)合實現(xiàn)對P2P的高精度識別。
1 Mochalski K,Schulze H.Ipoque internet study 2008/2009.http://www.ipoque.com/resources/internet-studies/internet-study-2008_2009,2009
2 MacManus R.Trend watch:P2P traffic much bigger than Web traffic.http://www.readwriteweb.com/archives/p2p_growth_trend_watch.php,2006
3 Sun X,Torres R,Rao S.Preventing DDoS attacks on internet servers exploiting P2P systems.Computer Networks,2010,54(15):2756~2774
4 Dainotti A,Pescapè A,Claffy K C.Issues and future directions in traffic classification.Network,IEEE,2012,26(1):35~40
5 Gong S F,Chen J.A P2P traffic detection method based on support vector machine.Applied Mechanics and Materials,2012,198:1280~1285
6 Erman J,Mahanti A,Arlitt M.Byte me:a case for byte accuracy in traffic classification.Proceedings of the 3rd Annual ACM Workshop on Mining Network Data,San Diego,California,USA,2007:35~38
7 Liu Q,Liu Z.A comparison of improving multi-class imbalance for internet traffic classification.Information Systems Frontiers,2012(7):1~13
8 Ling C,Li C.Data mining for direct marketing problems and solutions.Proceedings of the Fourth International Conference on Knowledge Discovery and Data Mining(KDD-98),New York,NY,1998
9 Chawla N V,Bowyer K W,Hall L O,et al.SMOTE:synthetic minority over-sampling technique.Journal of Artificial Intelligence Research,2002(16)
10 Wang R Y,Zhang L,Liu Z.Classifying imbalanced internet traffic based PCDD:a per concept drift detection method.Smart Computing Review,2013(2)
11 Hall M A.Correlation-based Feature Selection for Machine Learning.The University of Waikato,1999
12 Moore A W,Zuev D.Internet traffic classification using bayesian analysis techniques.ACM SIGMETRICS Performance Evaluation Review,2005,33(1):50~60
13 Xu P,Lin S.Internet traffic classification using C4.5 decision tree.Journal of Software,2009,20(10):2692~2704
14 Yuan R,Li Z,Guan X,et al.An SVM-based machine learning method for accurate internet traffic classification.Information Systems Frontiers,2010,12(2):149~156
15 Sun R,Yang B,Peng L,et al.Traffic classification using probabilistic neural networks. Proceedings of Natural Computation (ICNC),2010 Sixth International Conference on IEEE,Valencia,Spain,2010
16 Moore A W.Dataset.http://www.cl.cam.ac.uk/research/srg/netos/nprobe/data/papers/sigmetrics/
17 Yu L,Liu H.Feature selection for high-dimensional data:a fast correlation-based filter solution.Proceedings of the Twentieth International Conference on Machine Learning (ICML 2003),Piscataway,NJ,USA,2003