網絡流量分類技術總結


以下內容主要參考西安電子科技大學的碩士論文《基於SDN和機器學習的QoS保障技術研究》的相關描述。

網絡流量定義

根據互聯網通信標准文件RFC3917中的有關定義,一條網絡流量是指在一段特定的時間間隔之內,通過網絡中某一個觀測點的所有具有相同五元組(源IP地址、目的IP地址、傳輸層協議、源端口和口的端口)的分組的集合。此外,根據TCP和UDP傳輸的雙端特性,網絡流也可以分為單向流和雙向流。其中,將具有相同五元組數據的一條網絡流認為是單向流,而雙向流的源IP和口的IP以及源端口和目的端口可以同時互換。基於不同的研究目的,研究者可以選擇按照單向流或者雙向流的定義進行網絡流量相關的研究,本文將基於雙向流的定義對網絡流展開流量分類以及QoS保障的相關研究。

網絡流量分類概念

網絡流量分類是指,利用某種算法構造一個分類模型,並用該分類模型對收集到的各種應用程序的網絡流數據進行分類識別,分類識別的結果是某種應用程序或者應用層協議,又或者是根據QoS要求划分的某種業務類型。影響分類准確率的主要是分類模型,在不同的時代和不同的應用場景下不同分類技術構造的分類模型的分類效果也不一樣。
 
最早的網絡流量分類方法是使用傳輸層協議UDP或TCP端口號進行分類,該方法易於實現,而且算法時間復雜度低,因此在只需要分類出某些指定端口的應用時經常被使用。但是,隨着應用程序及協議的多元化以及端口跳變和端口偽裝技術]的出現,導致基於端口識別的流量分類方法的准確度越來越低,該方法不再可靠,只能作為流量分類的輔助手段。Madhukar[14]等人在實驗測試中證實有接近70%的網絡流量都無法使用單獨的基於端口識別方法來正確地分類。
 
研究人員發現數據包的有效載荷部分包含着很多特殊的信息,因此深度包檢測(Deep Packet Inspection, DPI)技術逐漸受到關注。DPI技術主要是通過分析網絡流中數據包的有效載荷,如果該有效載荷部分和口前己知應用程序或協議在某些特征字上能夠匹配,那么就可以大概率地認為這條網絡流是該己知應用程序或協議。由於DPI技術不需要用到數據包的端口,因此不受端口偽裝和跳變等技術的影響,相比基於端口的流量分類,其准確率有很大提升。但是,因為數據加密和隱私安全問題,使得利用該技術對網絡流量進行分類也不再是一個好的選擇。

近年來,利用網絡流量的統計特征和機器學習算法進行流量分類的技術受到了眾多研究人員的關注。其中,Moore等人[16]的研究是具有開創性的,研究者們提出了一種基於朴素貝葉斯原理的分類方法,該分類方法研究了網絡流量的特征集與網絡類別之間的概率關系,並利用貝葉斯原理構建計算模型,最終得到的分類准確率達到65 %。雖然他們的分類器准確率不夠理想,但是收集的包含248個特征並打上分類標簽的Moore流量數據集,成為了很多研究人員的實驗數據,248種流量特征也為其他研究者在特征選取上提供了指導意義。由於Moore數據集中大部分特征是需要收集整條網絡流的信息后才可以進行分類,因此在需要在線實時分類的場合不適用。在實時網絡流量分類方面,Bernaille等人[17]利用TCP流量前五個數據包特征信息,使用不同的機器學習算法得到的整體分類准確率都在90%以上。此外,文獻[18]表明利用網絡流量的前幾個數據包特征能夠用於機器學習實時流量分類。在各種機器學習算法對流量的分類准確率方面,Williams等人將朴素貝葉斯、最近鄰、決策樹和支持向量機等最常用的機器學習算法用於流量分類技術中,實驗結果表明在這些算法中分類效果最好的是決策樹。此外,文獻[21]的研究也表明決策樹算法在實時流量分類中具有很好的效果。也有部分學者將深度學習用於流量分類[[23],雖然准確性很高但是由於要收集過多的流量特征信息,實時性並不理想。

基於上述對機器學習分類研究現狀的討論,結合本文為區分服務QOS模型提供實時網絡流量分類的口的,本文選擇基於決策樹算法進行實時流量分類,然而使用前多少個有效數據包的特征才能達到更高的分類准確率和實時性還值得進一步研究。

在區分服務QoS模型中根據網絡流量的服務優先級定義了8種流量類別,如圖2.6所示,RFC 1349將ToS字段中前3個比特定義為報文在網絡中傳輸的8個優先級,數值越大優先級越高,此報文優先級一般對應到報文在轉發設備中的服務等級,從高到低為CS7, CS6, EF, AF4, AF3, AF2, AF1, BE,同時這也是逐跳行為(Per-Hop Behavior, PHB ),來表示為不同優先級的業務提供不同的資源分配、隊列調度和分組丟棄等服務。其中,EF類型流量需要加急轉發((Expedited Forwarding), AF類型流量需要確保轉發(Assured Forwarding), BE類型流量只需要盡力轉發(Best Effort) 。

基於端口識別和基於深度包檢測的流量分類技術,它們的本質都是通過解析數據包的固有成分來達到分類的目的,因此除了前述兩種流量分類技術自有的各種不同的缺點之外,它們還有一種相同的缺點一一兩者都不能智能地對流量分類識別,而是只能根據人為規定的匹配規則來做流量分類。針對當前流量分類技術無法實現智能化的缺陷,使用智能的機器學習方法無疑是一個很值得研究的方向。與前述兩種分類技術不同的是,機器學習方法不是只通過解析數據包的局部固有成分,而是通過流量的宏觀特征以及各種統計行為特征來為流量分類。基於機器學習的流量分類技術能夠適應網絡流量的宏觀行為及特征的變化,在流量分類識別的過程中更具智能化,相比於前兩種流量分類技術有明顯的優勢。網絡中通信的流量也存在很多的數據統計特征,不同的應用程序或協議產生的流量數據統計特征的差異性使得運用機器學習進行流量分類成為可能。因此,目前利用機器學習進行流量分類的技術也受到了眾多研究人員的關注。

基於機器學習技術對網絡流量完成分類識別任務的完整流程如圖2.7所示。基於機器學習的流量分類技術主要步驟如下:
1.首先,通過一些軟件工具如wireshark, netflow或自研軟件等在網絡流數據包經過的地方完成基礎流量收集,這些數據集可以認為是初始流量數據集。
2.然后,需要對初始的流量數據進行預處理,從收集的初始流量數據集中提取多個候選統計特征,例如數據包的個數、包長字節數、包總比特數和數據包之間的間隔時間、整條網絡流的持續時間等特征得到候選特征數據集。這些統計特征都屬於網絡流的宏觀行為特征,與用於深度包檢測的數據包有效載荷完全無關,在特征提取的計算時間復雜度方面更有優勢。但是由於並不是每一個候選特征都能夠為流量的分類帶來很好的區分效果,可能有些特征之間存在很強的關聯性,有些特征對流量的分類毫無影響,這些特征都是屬於冗余特征。因此,在進行機器學習模型的訓練之前都需要先使用一些特征降維技術來去除冗余特征,然后得到流量特征樣本集。
3.最后,將包含了各種流量特征的數據集分成訓練和測試數據集,選擇一種機器學習算法使用這些數據集完成訓練測試工作,在分類模型達到了滿意的分類准確率后停止訓練並保存該分類模型。當一個新的未知類型的網絡流到達數據采集點時,采集流量數據並對數據進行預處理得到一條符合分類模型輸入條件的特征數據,最終通過分類模型得到分類結果。

在基於有監督機器學習的流量分類方法中,流量類別是基於實際應用預定義的,還需要手動收集一組標記的訓練樣本用於分類器構造學習。為了實現高的分類准確度,有監督學習分類方法需要足夠多的標記訓練數據。在基於無監督的流量分類方法中,主要是使用基於聚類的方法如K均值聚類,該方法可以自動對一組未標記的訓練樣本進行分組,並使用聚類結果來訓練流量分類器,由於聚類算法在聚類的過程中不使用樣本的類別屬性,因此能夠識別出數據樣本中沒有分類定義的新型網絡應用。在基於半監督的流量分類方法中,流量分類僅需要一小組有監督數據,就可以將一些無類別標記的流量划分到與它們最近的類中。

參考文獻

[14] Madhukar A, Williamson C. A longitudinal study of P2P traffic classification[C]//14th IEEE
International Symposium on Modeling, Analysis, and Simulation. IEEE, 2006:179一188.

[15]Sen S, Spatscheck O, Wang D. Accurate, Scalable In Network Identification of P2P Traffic Using Application Signatures[C].In
Proceedings of the International conference on World Wide Web, 2004: 512-521.

[16] A.W. Moore, D. Zuev. Internet traffic classification using bayesian analysis techniques[C].In
Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and
Modeling of Computer Systems, Banff, 2005, 50一60.

[17] Bernaille, Laurent. Implementation issues of early application identification[C].In Proceedings
of the Third Asian Internet Engineering Conference, AINTEC, Phuket, Thailand, 2012, 156一166.

[18]彭建芬,周亞建,王機等.TCP流量早期分類方法[[J].應用科學學報,2011, 29(1): 73-77.

[20] Williams N, Zander S, Armitage G. A preliminary performance study comparison of five
machine learning algorithms for practical IP traffic flow classification[R].SIGCOMM Computer
Communication Review, 2006, 36(5): 5一16

[21]Sun Mei-feng, Chen Jing-tao. Research of the traffic characteristics for the real time online
traffic classification[J].The Journal of China Universities of Posts and Telecommunications,
2011,18(3):92-98.

[22] Gu Cheng一ie, Zhang Shun-yi, Sun Yan-fei. Real-time Encrypted Traffic Identification using
Machine Learning[J]. Journal of Software, 2011,6(6):1009一1016.

[23] Wang Yong, Zhou Hui-yi, Feng Hao. Network traffic classification method basing on CNN[C].
Journal on Communications, 2018, 39(1):14-23.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM