彭立志 張宏莉
摘 要:在互聯(lián)網(wǎng)產(chǎn)生的早期階段對其進行準確有效的識別,對于網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全來說都有著極其重要的意義。鑒于此,近年來越來越多的研究致力于僅僅基于流量早期的數(shù)個數(shù)據(jù)包,建立有效的機器學習模型對其進行識別。本文力圖基于柔性神經(jīng)樹(FNT)構(gòu)建有效的互聯(lián)網(wǎng)流量早期識別模型。兩個開放數(shù)據(jù)集和一個實驗室采集的數(shù)據(jù)集用于實驗研究,并將FNT與8種經(jīng)典算法進行對比。實驗結(jié)果表明,F(xiàn)NT在大多數(shù)情況下,其識別率和誤報率指標優(yōu)于其他算法,這說明FNT是一種有效的流量早期識別模型。
關(guān)鍵詞:流量識別;機器學習;早期特征;柔性神經(jīng)樹
中圖分類號:TP391.41 文獻標識號:A 文章編號:2095-2163(2015-)02-
Early Stage Internet Traffic Identification Model based on Flexible Neural Trees
PENG Lizhi, ZHANG Hongli
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: Identifying Internet traffic at their early stages accurately is very important for network management and security. Recent years, more and more studies have devoted to find effective machine learning models to identify traffics with the few packets at the early stage. This paper tries to build an effective early stage traffic identification model by applying flexible neural trees. Three network traffic data sets including two open data sets are used for the study. Eight classical classifiers are employed as the comparing methods in the identification experiments. FNT outperforms the other methods for most cases in the identification experiments, and it behaves very well for both of TPR and FPR. Thus, FNT is effective for early stage traffic identification.
Keywords:Traffic Identification; Machine Learning; Early Stage Features; Flexible Neural Trees
0 引 言
近年來,Internet流量早期識別越來越受到關(guān)注,因為在流量發(fā)生的早期階段對其進行快速識別切合實際應(yīng)用的真實需求。傳統(tǒng)的基于機器學習的流量識別技術(shù)都是針對完整的流量樣本提取特征,進而對其進行識別。這種基于完整流的特征集用于離線研究非常有效,但在實際情況下,當流已經(jīng)結(jié)束后對其進行特征提取,然后再進行識別是沒有實際意義的。因為無論從網(wǎng)絡(luò)管理還是安全的角度講,流結(jié)束后,已經(jīng)無法對其進行有效管理與控制。因而實際應(yīng)用的Internet流量識別技術(shù)必須具備在流量發(fā)生的早期對其快速準確識別的能力,只有這樣,針對流量的后續(xù)管理與安全策略才能正常實施。所以,近年來,越來越多的研究者開始致力于構(gòu)建有效的識別模型,用于Internet流量的早期識別。
1 相關(guān)工作
L. Bernaille等于2006年提出了一個著名的早期流量識別的方法[1],其中直接使用TCP流的前屬多個數(shù)據(jù)包的包大小作為特征,然后使用K均值聚類方法對10種典型的Internet應(yīng)用流量進行識別,獲得了比較理想的識別結(jié)果。A. Este等在2009年針對流量早期特征提取問題做了一項重要的研究[2],研究使用早期數(shù)據(jù)包的RTT、包大小、包到達時間間隔和包方向等作為早期特征,應(yīng)用信息理論進行分析,并用多種分類器進行驗證試驗。研究結(jié)果表明,早期數(shù)據(jù)包能攜帶足夠用于流量識別的信息,而且這些原始特征中,數(shù)據(jù)包大小是最有效的特征。N. Huang等2008年研究了Internet應(yīng)用在發(fā)生早期的行為特征,并將這些行為特征用于流量的識別[3]。最近,又進一步通過對應(yīng)用開始的早期階段的協(xié)商過程的行為進行分析,抽取流量的早期特征,然后將這些特征應(yīng)用到基于機器學習的識別模型中,取得了很高的識別性能[4]?;诖耍珺. Hullár等則提出一種計算資源與內(nèi)存資源消耗代價很小的早期P2P流量識別模型[5]。此外,A. Dainotti也提出一種高效的混合分類器用于早期流量識別[6]。
柔性神經(jīng)樹(Flexible neural trees,F(xiàn)NT)是一種采用樹形結(jié)構(gòu)的特殊神經(jīng)網(wǎng)絡(luò)[7-9],可廣泛應(yīng)用于各種分類與預(yù)測問題中[10-12]。FNT模型與普通神經(jīng)網(wǎng)絡(luò)相比,有著靈活的柔性結(jié)構(gòu),使得這種模型能通過樹結(jié)構(gòu)優(yōu)化算法如免疫編程(IP)[13]和PIPE[14]等對網(wǎng)絡(luò)結(jié)構(gòu)進行自動優(yōu)化調(diào)整,克服了普通神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)化困難的問題。通過網(wǎng)絡(luò)結(jié)構(gòu)的自動優(yōu)化,F(xiàn)NT 對各種分類與預(yù)測問題有著強大的自適應(yīng)能力,并獲得很高的分類與預(yù)測精度。另外FNT還具有自動特征選擇的天然特性:在網(wǎng)絡(luò)結(jié)構(gòu)自動優(yōu)化過程中,F(xiàn)NT通過對運算算子與輸入特征的隨機組合構(gòu)建備選結(jié)構(gòu),這一過程自然地選擇出有效的輸入(即有效特征)。本文在前期對互聯(lián)網(wǎng)流量早期特征有效性研究工作的基礎(chǔ)上[15, 16],應(yīng)用FNT進行互聯(lián)網(wǎng)流量的早期識別研究,力圖通過FNT良好的識別性能與泛化能力,以及自動特征選擇能力,構(gòu)建一種新的高效互聯(lián)網(wǎng)流量早期識別模型。
2柔性神經(jīng)樹
在FNT的樹形網(wǎng)絡(luò)結(jié)構(gòu)中,主要有葉節(jié)點和非葉節(jié)點兩種。其中,葉節(jié)點是輸入節(jié)點,對應(yīng)著目標問題中的一個具體特征;非葉節(jié)點則是神經(jīng)元,對應(yīng)著一個具體的運算算子。因而FNT模型中包含兩種類型的指令:柔性神經(jīng)元指令(函數(shù)指令)和終端指令。具體地,柔性神經(jīng)元指令用于樹結(jié)構(gòu)的非葉節(jié)點連接其子樹,終端指令則是各輸入特征。函數(shù)指令集合F和終端指令集合T可以表示為:
S = F∪T = {+2, +3, …, +N}∪ {x1, x2, … , xn},……………………………(1)
其中,+i (i = 2, 3, … , N)表示非葉節(jié)點指令有i個參數(shù)。x1, x2, … , xn則是葉節(jié)點指令,沒有參數(shù),實際上就是輸入變量。非葉節(jié)點的輸出按圖1(a)左部分所示的柔性神經(jīng)元計算模型計算。
(a) 一柔性神經(jīng)元 (b) 神經(jīng)樹結(jié)構(gòu)
(a) A flexible neuron operator (b) A representation of FNT
圖1 柔性神經(jīng)樹
Fig.1 Flexible neural tree
在神經(jīng)樹的創(chuàng)建過程中,如果一個非葉節(jié)點指令,即+i (i = 2, 3, … , N)被選擇,則產(chǎn)生i個隨機實數(shù)作為該節(jié)點與其下屬的i個子節(jié)點之間的連接強度。另外,還產(chǎn)生兩個可調(diào)節(jié)的參數(shù)ai和bi作為柔性激活函數(shù)的參數(shù)。在本文的研究中,使用如下所示激活函數(shù)。
…………………………………………………(2)
柔性神經(jīng)元+n的輸出則按式(3)計算。
…………………………………………………(3)
其中,xj(j = 1, 2, … , n)是該柔性神經(jīng)元的各輸入,則該節(jié)點的總激勵為:
…………………………………(4)
圖1(b)是一個典型的柔性神經(jīng)樹模型,神經(jīng)樹的總輸出可以用遞歸的方法從左至右深度優(yōu)先計算得出。
3 實驗設(shè)置
3.1 數(shù)據(jù)集
本文采用兩個開放數(shù)據(jù)集和一個在校園網(wǎng)實驗室采得的流量數(shù)據(jù)集,對應(yīng)地可分別稱為Auckland II數(shù)據(jù)集、UNIBS數(shù)據(jù)集和UJN數(shù)據(jù)集。所選數(shù)據(jù)集的應(yīng)用類型、樣本數(shù)以及字節(jié)數(shù)等特征如表1所示。
表1 各數(shù)據(jù)集特征
Tab.1 Characteristics of the selected data sets
Auckland II數(shù)據(jù)集
UNIBS數(shù)據(jù)集
UJN數(shù)據(jù)集
應(yīng)用類型
樣本數(shù)
總字節(jié)數(shù)
應(yīng)用類型
樣本數(shù)
總字節(jié)數(shù)
應(yīng)用類型
樣本數(shù)
總字節(jié)數(shù)
ftp
251
136 241
bittorrent
3 571
6 393 487
Web Browser
11 890
58 025 350
ftp-data
463
5 260 804
edonkey
379
241 587
Chat
11 478
60 212 804
http
23 721
1.39E+08
http
25 729
1.07E+08
Cloud Disk
1 563
1.1E+08
imap
193
86 455
imap
327
860 226
Live Update
2 169
28 759 962
pop3
498
98 699
pop3
2 473
4 292 419
Stream Media
810
785 556
smtp
2 602
1 230 528
skype
801
805 453
803
2 092 862
ssh
237
149 502
smtp
120
43 566
P2P
326
2 521 089
telnet
37
21 171
ssh
23
39 456
Other
1 408
3 635 558
3.2 對比算法
本文采用8種廣泛使用的機器學習分類器用于識別實驗,這些分類器都在著名的數(shù)據(jù)挖掘軟件Weka上實現(xiàn),所有的實驗也是在Weka環(huán)境下執(zhí)行。前面部分所述生成的特征數(shù)據(jù)集都采用Weka數(shù)據(jù)格式進行格式化,生成“arff”數(shù)據(jù)文件用于識別實驗。依據(jù)Weka的分類,這8種分類器可區(qū)分為五類,如表2所示。
表2 對比算法
Tab.2 Compared algorithms
算法
類型
算法
類型
BayesNet
貝葉斯分類器
NBTree
樹分類器
Bagging
元分類器
RandomForest
樹分類器
OneR
規(guī)則分類器
SVM
函數(shù)分類器
PART
規(guī)則分類器
RBFNetwork
函數(shù)分類器
3.3 性能評估指標
一般來說,對識別模型的性能評估方法有很多種,簡單地可以采用正確率(Acc)對模型性能評估,Acc只是從總體上反映模型對數(shù)據(jù)的一個識別正確率,并不考量各類樣本之間錯誤分類的樣本數(shù)對模型性能的影響,因而對模型的性能評估不夠全面。本文采用真陽性率(True Positive Rate, TPR)和假陽性率(False Positive Rate)兩個指標對模型性能進行評估。TPR又稱為識別率,F(xiàn)PR也稱為誤報率。對于一個只包含正樣本(陽性樣本)和負樣本(陰性樣本)的二分類問題,模型的分類結(jié)果包含四個基本量:正確分類的正樣本數(shù)TP,正確分類的負樣本數(shù)TN,錯誤分類的正樣本數(shù)FP,以及錯誤分類的負樣本數(shù)FN。則TPR 定義為:
…………………………………………………(5)
而FPR定義為:
…………………………………………………(6)
4 實驗結(jié)果與分析
本文將九種對比算法在三個數(shù)據(jù)集上進行識別實驗,由于每個數(shù)據(jù)集有多個流量類別,每一種流量類別在實驗中都有相應(yīng)的TPR和FPR,因而本文對每個數(shù)據(jù)集的實驗結(jié)果中所有流量類別的TPR和FPR計算平均值,用平均值作為最終結(jié)果,并以柱狀圖的方式直觀地顯示各種算法在該數(shù)據(jù)集上的識別率和誤報率。
4.1 實驗結(jié)果
圖2顯示了各種對比算法在Auckland II數(shù)據(jù)集上的實驗結(jié)果。在所有對比算法的識別率(TPR)結(jié)果中,Bagging、PART、NBTree、RandomForest 和FNT都獲得了超過99% 的識別率,其中FNT的TPR最高,并明顯高于其他算法。其他四種算法的識別率均小于98%,與前五種差別較為明顯。從TPR 上看,F(xiàn)NT獲得了最好的識別性能。再觀察漏報率(FPR)指標,除SVM和OneR之外,其他算法的FPR均在3%的較低水平以下。FNT的FPR同樣是最低的,F(xiàn)NT 在獲得最高的識別率的情況下,同時能保持最低的漏報率,說明其在Auckland II數(shù)據(jù)集上的識別效果比較理想。
圖2 Auckland II數(shù)據(jù)集識別實驗結(jié)果
Fig.2 Identification results of Auckland II data set
圖3給出了在UNIBS數(shù)據(jù)集上的實驗結(jié)果。與Auckland II數(shù)據(jù)集的實驗結(jié)果一樣,F(xiàn)NT在UNIBS數(shù)據(jù)集上同樣獲得了最高的識別率,并明顯高于其他算法,Bagging、PART、NBTree 和RandomForest四個算法也獲得了比較高的TPR。從誤報率的角度看,F(xiàn)NT未獲得最小的誤報率,但其FPR與BayesNet、PART、NBTree和RandomForest 等其他幾個算法的FPR 區(qū)別很小,均在1%以下。
圖3 UNIBS數(shù)據(jù)集識別實驗結(jié)果
Fig.3 Identification results of UNIBS data set
從圖4顯示的UJN數(shù)據(jù)集的實驗結(jié)果看,各算法的行為模式大體與其在UNIBS數(shù)據(jù)集上的行為模式類似,但總體的識別精度有所下降。Bagging、PART、NBTree、RandomForest和FNT五個算法的識別性能明顯高于其他幾個算法。FNT再次獲得了最高的識別率,同時也獲得了最低的誤報率。這一實驗結(jié)果也進一步說明FNT 的識別性能要好于其他算法。
圖4 UJN數(shù)據(jù)集識別實驗結(jié)果
Fig.4 Identification results of UJN data set
4.2分析與討論
從三個數(shù)據(jù)集的結(jié)果總體上分析,不難看出:
(1)首先實驗中大部分算法利用僅僅6個早期數(shù)據(jù)包大小就能獲得較為理想的識別性能,說明利用數(shù)據(jù)包大小進行早期識別是完全可以適應(yīng)實際識別要求的。
(2)FNT在三個數(shù)據(jù)集上均能獲取最高的識別率(TPR),這就意味著FNT在早期識別中有效地將目標流量類型樣本識別出來;另外FNT在獲得高TPR的同時能保持低水平的FPR,說明FNT 在準確識別目標流量類型的同時,不容易產(chǎn)生誤報,確保識別結(jié)果的有效性。
(3)作為經(jīng)典的函數(shù)分類器,SVM和RBFNetwork在識別實驗中的表現(xiàn)明顯略遜于其他幾個性能較好的分類器。這與這兩個模型的復雜性有關(guān),參數(shù)的調(diào)節(jié)對模型的性能影響比較大,如果針對具體數(shù)據(jù)集對SVM 和RBFNetwork進行進一步的參數(shù)調(diào)節(jié)可能會獲得更好的識別性能。
5 結(jié)束語
本文研究柔性神經(jīng)樹FNT在流量早期識別中的應(yīng)用,采用進化算法對柔性神經(jīng)樹進行結(jié)構(gòu)優(yōu)化,進一步應(yīng)用PSO算法對選擇的樹結(jié)構(gòu)進行參數(shù)優(yōu)化,這一求解過程反映了FNT的靈活性及其對解空間搜索的全面性。本文實驗中采用6個早期數(shù)據(jù)包大小作為特征進行識別,從實驗結(jié)果的分析可以得出以下結(jié)論:FNT能對各類流量數(shù)據(jù)獲得比較理想的識別率,并在高識別率下保證較低的誤報率,是一種高性能的早期流量識別模型。
參考文獻:
[1] BERNAILLE L, TEIXEIRA R, AKODKENOU I, et al. Traffic classification on the fly[C]//Procedings of ACM SIGCOMM'06, Pisa, Italy: ACM, 2006:23-26.
[2] ESTE A, GRINGOLI F, SALGARELLI L. On the stability of the information carried by traffic flow features at the packet level[C]//Procedings of ACM SIGCOMM'09, BARCELONA, Spain: ACM, 2009:13-18.
[3] HUANG N, JAI G, CHAO H. Early identifying application traffic with application characteristics[C]// Proceedings of IEEE Int. Conference on Communications (ICC'08), Beijing, China: IEEE, 2008:5788-5792.
[4] HUANG N, JAI G, CHAO H, et al. Application traffic classification at the early stage by characterizing application rounds[J]. Information Sciences, 2013,232(20):130-142.
[5] HULLAR B, LAKI S, GYORGY A. Early identification of peer-to-peer traffic[C]//2011 IEEE International Conference on Communications (ICC). Kyoto, Japan: IEEE,2011:1-6.
[6] DAINOTTI A, PESCAPE A, SANSONE C. Early classification of network traffic through multi-classification[J]. Lecture Notes on Computer Science, 2011,6613:122-135.
[7] CHEN Y, YANG B, DONG J, Nonlinear systems modeling via optimal design of neural trees[J]. International J. Neural Syst, 2004,14:125-138.
[8] CHEN Y, YANG B, DONG J, et al. Time Series Forecasting Using Flexible Neural Tree Model[J]. Information Sciences, 2005,174:219-235.
[9] CHEN Y, CHEN F, YANG J Y. Evolving MIMO flexible neural trees for nonlinear system identification[C]// IC-AI 2007, Hyderabad, India: IEEE, 2007:373-377.
[10] CHEN Y, YANG B, ABRAHAM A. Flexible neural trees ensemble for stock index modeling[J]. Neurocomputing, 2007,70: 697-703.
[11] QU S, LIU Z, CUI G, et al. Modeling of cement decomposing furnace production process based on flexible neural tree[C]//Proc. of the 2008 International Conference on Information Management, Innovation Management and Industrial Engineering, Taipei, China: IEEE, 2008:128-133.
[12] ZHOU J, LIU Y, CHEN Y. ICA based on KPCA and hybrid flexible neural tree to face recognition[C]//Proc. of the 6th International Conference on Computer Information Systems and Industrial Management Applications, MN, USA: IEEE, 2007:245-250.
[13] PETR M, ADRIEL L, MAREKT R, et al. Immune Programming[J]. Information Sciences, 2006,176: 972-1002.
[14] SALUSTOWICZ R P, SCHMIDHUBER J. Probabilistic incremental program evolution[J]. Evol. Comput, 1997,2(5):123-141.
[15] PENG L, ZHANG H, YANG B, et al. Feature evaluation for early stage Internet traffic identification[C]//The 14th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP2014), Dalian, China: IEEE, 2014:511-525.
[16] PENG L, ZHANG H, YANG B, et al. How many packets are most effective for early stage traffic identification: An experimental study[J]. China Communications, 2014,11(9):206-216.
1 基金項目:國家973重點基礎(chǔ)研究發(fā)展計劃( 2011CB302605); 國家863高技術(shù)研究發(fā)展計劃(2011AA010705, 2012AA012502, 2012AA012506); “十一五”國家科技支撐計劃(2012BAH37B01); 國家自然科學基金 (11226239, 6110018, 61173144, 61472164)。
作者簡介:彭立志(1975-),男,山東濟南人,博士研究生,主要研究方向: 機器學習、流量識別、信息安全;
張宏莉(1973-),女,吉林榆樹人,博士,教授,博士生導師,主要研究方向:信息內(nèi)容安全、網(wǎng)絡(luò)測量和建模、并行計算。