戴 瑾,王天宇,王少尉
(1. 南京大學(xué)金陵學(xué)院 信息科學(xué)與工程學(xué)院, 江蘇 南京 210089;2. 南京大學(xué) 電子科學(xué)與工程學(xué)院, 江蘇 南京 210023;3. 東南大學(xué) 國家移動通信研究實驗室, 江蘇 南京 210096)
隨著Internet的發(fā)展,各種網(wǎng)絡(luò)應(yīng)用不斷涌現(xiàn),導(dǎo)致網(wǎng)絡(luò)流量的復(fù)雜性快速增長[1]。網(wǎng)絡(luò)流量復(fù)雜性的增加,本質(zhì)上是網(wǎng)絡(luò)中運行業(yè)務(wù)的復(fù)雜性不斷增加而造成的。目前的網(wǎng)絡(luò)業(yè)務(wù)主要來源于以下幾個方面:一方面,隨著生活和無線業(yè)務(wù)的互聯(lián)網(wǎng)化,媒體、零售和金融等傳統(tǒng)業(yè)務(wù)通過從線下搬到線上,逐步加入互聯(lián)網(wǎng);另一方面,隨著人們學(xué)習(xí)生活需求的變化,不斷有像慕課、電子支付和電子導(dǎo)航等新型的網(wǎng)絡(luò)業(yè)務(wù)加入互聯(lián)網(wǎng);此外,隨著5G時代的來臨,大量基于增強移動寬帶(enhance Mobile BroadBand,eMBB)的3D、超高清視頻等大流量移動寬帶業(yè)務(wù),基于海量機器類通信(massive Machine Type of Communication,mMTC)的智慧城市、環(huán)境監(jiān)測、智能農(nóng)業(yè)等大規(guī)模物聯(lián)網(wǎng)業(yè)務(wù),以及基于超高可靠超低時延通信(Ultra-Reliable Low Latency Communication,URLLC)的無人駕駛、工業(yè)自動化等新興網(wǎng)絡(luò)業(yè)務(wù)將會充斥整個互聯(lián)網(wǎng)。如何有效地從海量的網(wǎng)絡(luò)數(shù)據(jù)中識別出應(yīng)用類型,如何從流量數(shù)據(jù)中分析提取有價值的信息,已經(jīng)成為人們關(guān)注的重要技術(shù)領(lǐng)域。因此,網(wǎng)絡(luò)流量分類作為增強網(wǎng)絡(luò)可控性的關(guān)鍵技術(shù),在網(wǎng)絡(luò)資源分配、流量調(diào)度和網(wǎng)絡(luò)安全等諸多研究領(lǐng)域受到廣泛關(guān)注[2]。
網(wǎng)絡(luò)實際應(yīng)用中流量數(shù)據(jù)具有結(jié)構(gòu)復(fù)雜、數(shù)量龐大和屬性隨著網(wǎng)絡(luò)狀態(tài)動態(tài)變化的特性[3],機器學(xué)習(xí)算法在解決諸如此類規(guī)模大、復(fù)雜性高的網(wǎng)絡(luò)流量分類問題中表現(xiàn)出先天的優(yōu)勢。目前研究使用的基于機器學(xué)習(xí)的流量分類方法主要包括支持向量機(Support Vector Machine,SVM)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和 隨機森林(Random Forest,RF)算法。在文獻(xiàn)[4]中,作者采用了基于流的分析方法,使用SVM分類算法對動態(tài)端口和加密應(yīng)用程序按流量進(jìn)行分類,流量分類算法的精度為88.785%。文獻(xiàn)[5]將流量分別處理為時間序列、圖片和視頻,模型訓(xùn)練前將網(wǎng)絡(luò)流預(yù)處理成為灰度圖,把CNN對圖像識別的能力應(yīng)用到網(wǎng)絡(luò)流量分類中,其分類精度可達(dá)到93%。文獻(xiàn)[6]提出將RF方法應(yīng)用到網(wǎng)絡(luò)流量分類問題中,隨機森林通過綜合多個決策樹的預(yù)測和樣本屬性的隨機選取,能較好地解決網(wǎng)絡(luò)流量樣本種類數(shù)量失衡而產(chǎn)生的過擬合問題。
目前的網(wǎng)絡(luò)流量分類方法依然存在準(zhǔn)確率不高、開銷大且應(yīng)用領(lǐng)域受限等問題。其中單一機器學(xué)習(xí)分類方法在復(fù)雜多變的網(wǎng)絡(luò)環(huán)境下,分類性能往往會迅速下降。例如:SVM分類器更利于對線性屬性的數(shù)據(jù)樣本的處理,處理離散的、大規(guī)模的數(shù)據(jù)分類處理時,分類準(zhǔn)確率低;CNN分類器擅長解決圖像樣本的分類問題,網(wǎng)絡(luò)數(shù)據(jù)流需要經(jīng)過煩瑣的預(yù)處理過程生成圖像,當(dāng)網(wǎng)絡(luò)層數(shù)過多時,會出現(xiàn)計算復(fù)雜度高、運行速度慢等問題。在文獻(xiàn)[7]中比較了121個數(shù)據(jù)集上的數(shù)百個分類,結(jié)果表明基于RF分類器解決網(wǎng)絡(luò)流量分類問題是最適合的方法,分類精度可達(dá)到94.1%,但RF在處理多分類、樣本規(guī)模小、噪音較大的流量樣本時,依然容易出現(xiàn)過擬合的現(xiàn)象。
針對上述問題,本文提出基于多粒度級聯(lián)森林(multi-grained cascade Forest, gcForest)算法來構(gòu)建網(wǎng)絡(luò)流量分類器。 gcForest是一種決策樹的深度監(jiān)督網(wǎng)絡(luò)算法,該算法采用多粒度掃描樣本和級聯(lián)多種分類器的設(shè)計思想,使分類模型不受樣本數(shù)量規(guī)模和特征向量規(guī)模的限制[8]。gcForest在解決商品分類、手部運動識別、情感分類以及垃圾郵件發(fā)送者檢測等多分類問題中均表現(xiàn)出了優(yōu)越的性能[9]。
研究中利用了經(jīng)典的Moore網(wǎng)絡(luò)流量集訓(xùn)練和測試分類模型,它是Moore等采集并經(jīng)過統(tǒng)計處理的劍橋大學(xué)的流量數(shù)據(jù)。Moore數(shù)據(jù)集曾被用于眾多網(wǎng)絡(luò)流量識別和分類等領(lǐng)域[10]。
Moore_set網(wǎng)絡(luò)流數(shù)據(jù)集是通過采集主干網(wǎng)上的數(shù)據(jù),經(jīng)過基于流的分析方法處理獲得[11]。數(shù)據(jù)集中的樣本數(shù)據(jù)包含了大量在會話規(guī)模尺度上統(tǒng)計處理網(wǎng)絡(luò)層和傳輸層的消息生成的特征屬性,包括流量持續(xù)時間的分布、流量空閑時間、數(shù)據(jù)包到達(dá)時間、數(shù)據(jù)包長度等。數(shù)據(jù)集中的每個樣本均由一組統(tǒng)計信息和一個定義網(wǎng)絡(luò)應(yīng)用程序的類別來描述。
數(shù)據(jù)集中每一個樣本都是以特征屬性描述的一條完整的傳輸控制協(xié)議(Transmission Control Protocol,TCP)流。在Internet中,TCP流可以定義為在兩個計算機地址之間傳播的一個或多個數(shù)據(jù)包。TCP作為一種有狀態(tài)的協(xié)議,對TCP流定義了明確的開始標(biāo)志和結(jié)束標(biāo)志。因此,研究者能夠有效地從紛亂的網(wǎng)絡(luò)數(shù)據(jù)包中提取出完整的TCP流,也稱之為會話。進(jìn)一步對TCP流中每個數(shù)據(jù)包提供的信息進(jìn)行分類統(tǒng)計,統(tǒng)計結(jié)果就是標(biāo)識流樣本的特征屬性。本研究中選用的Moore_set數(shù)據(jù)集,就是由劍橋大學(xué)的高性能網(wǎng)絡(luò)監(jiān)測器在不丟失數(shù)據(jù)包的情況下,全速率捕獲和統(tǒng)計處理數(shù)據(jù)包而生成的完整TCP流的樣本數(shù)據(jù)集合。該數(shù)據(jù)集中包含的11種不同應(yīng)用類型的分布情況如表1所示。其中由于INTERACTIVE類型的樣本在數(shù)據(jù)集中的數(shù)量太少,僅有3條流樣本,無法正常參與訓(xùn)練,因此本文所使用的模型訓(xùn)練和測試的數(shù)據(jù)子集不包含此分類,實驗中訓(xùn)練的是10種網(wǎng)絡(luò)流量的分類模型。
在本問題中,流集合被定義為D= {d1,d2, …,dn,…,dN,},其中每個樣本dn包含248個特征屬性,N為基于流的數(shù)據(jù)樣本的數(shù)目,N=24 863。定義類別屬性集合C={c1,c2, …,cm,…,cM},其中M=11表示有11個不同的類別。流量分類問題可以定義為構(gòu)造從流集合D到類別集合C的映射關(guān)系:cm=f(dn)。
表1 TCP流數(shù)據(jù)集的應(yīng)用類型分布
在監(jiān)督分類的機器學(xué)習(xí)中,無關(guān)和冗余的特征屬性往往會給分類的準(zhǔn)確性帶來負(fù)面影響。通過選擇出能高度區(qū)分不同流類別的特征向量來降低樣本維度,對于模型訓(xùn)練的速度以及分類的準(zhǔn)確性是至關(guān)重要的。因此,本文采用人工選取加算法測試的方法從Moore_set的248個特征屬性中選出13個特征屬性用于分類模型的訓(xùn)練和測試,樣本的特征屬性及描述如表2所示。
本文提出的網(wǎng)絡(luò)流量分類器是基于gcForest深度機器學(xué)習(xí)算法,其核心思想是優(yōu)化的決策森林。算法所采用的多粒度掃描和級聯(lián)森林兩種關(guān)鍵技術(shù)在流量分類中發(fā)揮了重要的作用。gcForest分類器組織結(jié)構(gòu)如圖1所示。
在gcForest算法中,森林是由決策樹構(gòu)成的決策樹森林,即森林中的每棵樹都是由決策樹的節(jié)點分裂生長而成,每個決策森林中又包含了許多棵決策樹。其中決策樹的種類和棵數(shù)是算法的超參數(shù),可根據(jù)解決問題的規(guī)模進(jìn)行適當(dāng)?shù)恼{(diào)整。在解決本文中的流量分類問題中,可設(shè)置為4個決策森林:2個隨機森林和2個完全隨機森林。
表2 選取的流特征屬性及其描述
級聯(lián)森林擁有多個網(wǎng)絡(luò)層,每個森林將產(chǎn)生一個類向量,分別代表檢測的網(wǎng)絡(luò)應(yīng)用的分布概率,如圖1所示。在這個網(wǎng)絡(luò)流量分類問題中,每個森林會產(chǎn)生一個10維的類向量,每層輸出的結(jié)果和原始輸入屬性相連接構(gòu)成了級聯(lián)森林下一層的輸入。訓(xùn)練過程中,層級將會不斷深入,直到某層觸發(fā)終止條件,停止層級的增長。終止條件為達(dá)到所需精度或達(dá)到最大層數(shù)。在最后一層上,gcForest算法計算求得四類向量的平均值,并從中選出概率最大的類作為最終的分類結(jié)果。由此可見,這種級聯(lián)機制可以實現(xiàn)樣本特征向量的跨層級處理,且層數(shù)根據(jù)計算規(guī)模自動調(diào)整,有效減少了算法的復(fù)雜度。
圖1 gcForest結(jié)構(gòu)Fig.1 Constructure of gcForest
在深度學(xué)習(xí)模型的啟發(fā)下,gcForest還利用多粒度掃描技術(shù)對級聯(lián)森林進(jìn)行增強。多粒度掃描是在模型中引入了類似卷積神經(jīng)網(wǎng)絡(luò)的多個滑動窗口。如圖1所示,在一個具有多分類能力的深度森林分類器中,輸入一個完整的X維樣本,首先通過長度為W的滑動窗口進(jìn)行采樣,得到X-W+1個W維特征向量的子樣本集合;隨后子樣本集合分別送入完全隨機森林和普通隨機森林進(jìn)行訓(xùn)練,每個子樣本從每個森林中分別獲得一個長度為分類個數(shù)的概率向量;然后把每層所得所有森林的結(jié)果拼接在一起,得到該層輸出。gcForest通過多粒度掃描,實現(xiàn)了對同一個樣本不同規(guī)模的局部特征的選取,有效地增強了樣本的維度和樣本特征屬性之間的關(guān)聯(lián)。
在本實驗中,采用了人工選取特征結(jié)合模型測試的數(shù)據(jù)預(yù)處理方法。根據(jù)常用TCP流量統(tǒng)計特征預(yù)選出17個特征屬性,逐一剔除特征屬性構(gòu)建訓(xùn)練數(shù)據(jù)集,輸入gcForest算法訓(xùn)練模型并測試分類準(zhǔn)確率。當(dāng)某項特征屬性去除后,準(zhǔn)確率沒有變化或有微弱的上升,表明它屬于冗余、相關(guān)性極弱的特征,可以剔除。數(shù)據(jù)集經(jīng)過預(yù)處理后,剔除了4個特征屬性——pure_acks_sent_serverTOclient、pure_acks_sent_clientTOserver、mss_requested_serverTOclient和mss_requested_clientTOserver,最終確定在樣本中引入了server_port、client_port、actual_data_ pkts_clientTOserver、duration等13種特征屬性,詳細(xì)內(nèi)容見表2。
實驗訓(xùn)練數(shù)據(jù)利用Moore_set的 24 863個樣本,從中選出25%的樣本共6226條網(wǎng)絡(luò)流用于gcForest算法分類模型訓(xùn)練和測試數(shù)據(jù)子集, 其中4980條網(wǎng)絡(luò)流用于模型訓(xùn)練,占數(shù)據(jù)子集的80%;剩余的20%(包含樣本1246條網(wǎng)絡(luò)流)作為測試集,用于模型的精度測試。樣本集中包含了WWW、MAIL、DATABASE、FTP-DATA等10種網(wǎng)絡(luò)應(yīng)用類別。
表3 各類樣本的查全率和查準(zhǔn)率
在相同測試集上,將gcForest分類器同傳統(tǒng)的SVM和RF分類器在分類正確率和測試時間兩個方面進(jìn)行了比較,如表4所示。實驗設(shè)備采用主頻1.6 GHz 的Intel Core i5-8250U處理器,內(nèi)存容量4.0 GB的單機。實驗數(shù)據(jù)顯示,基于RBF核函數(shù)的SVM的準(zhǔn)確率為49.14%;基于線性核函數(shù)的SVM的準(zhǔn)確率為88.17%;RF的準(zhǔn)確率是96.15%;gcForest準(zhǔn)確率最高,為96.36%。 然而,gcForest分類模型在線預(yù)測1000條流量數(shù)據(jù)的時間為0.902 s,計算速度低于基于線性核函數(shù)的SVM分類器和RF分類器,但略高于基于RBF核函數(shù)的SVM分類器。
實驗結(jié)果表明,盡管在測試時間的效率上gcForest分類器沒有表現(xiàn)出絕對的優(yōu)勢,但就模型分類準(zhǔn)確率而言,gcForest流量分類器遠(yuǎn)高于傳統(tǒng)的SVM單分類算法,甚至比目前公認(rèn)最適宜解決流量分類問題的RF算法的性能更好。
表4 不同分類模型的性能比較
對網(wǎng)絡(luò)流量進(jìn)行準(zhǔn)確的識別是網(wǎng)絡(luò)資源分配和網(wǎng)絡(luò)安全保障的重要依據(jù),也是提高網(wǎng)絡(luò)應(yīng)用服務(wù)質(zhì)量的重要手段。為了進(jìn)一步提高網(wǎng)絡(luò)流量識別的正確性和穩(wěn)定性,提出基于gcForest的網(wǎng)絡(luò)流量分類方法,并在Moore數(shù)據(jù)集上進(jìn)行了訓(xùn)練和測試,最終結(jié)果表明該分類器對網(wǎng)絡(luò)流量分類的整體準(zhǔn)確率達(dá)到了96.36%,網(wǎng)絡(luò)流量分類的性能好于傳統(tǒng)SVM和RF機器學(xué)習(xí)分類方法。