淺析機器學習在網絡測量和網絡數據分析中的應用


淺析機器學習在網絡測量和網絡數據分析中的應用

淺析機器學習

在網絡測量和網絡數據分析中的應用

冉泳屹 I 文

引言

隨着雲計算、物聯網、社交網絡等信息與通信技術的快速發展,網絡數據成爆發式增長,信息社會進入了大數據時代。大數據的涌現不僅改變着人們的生活與工作方式、企業的運作模式,同時也深深地影響着不同的科研領域,其中包括網絡測量和網絡數據分析。

網絡測量及網絡數據分析是獲取網絡數據、網絡性能、網絡可用性及安全性等信息的有效手段和方法(如圖1),也是計算網絡的重要研究方向,長期以來受到學術界和工業界的持續關注和研究。Markets and Markets網站[1]分析指出,網絡分析的市場規模將從2015年的7.6億美元增長到2020年的23.2億美元。在每年的SIGCOMM、SIGMETRICS等頂級會議中,都會有相當數量的文章致力於網絡測量/監控的研究。同時,Cisco、華為等大型網絡設備供應商以及很多初創公司(例如:Pluribus Networks, Logic Monitor, Big monitoring fabric),也都致力於網絡測量及分析的研究和產品開發 。

圖1. 網絡測量及分析的功能解析

網絡測量及分析的研究現狀

對於高速鏈路(如:40Gbps,100Gbps及以上),一方面,數據包的到達時間間隔較小,再除去讀取緩存的時間(cache miss,需要讀取memory),每個包的可用處理時間極短,比如: 40 Gbps (OC-768) 鏈路的數據包(包平均大小為1Kbits)到達間隔僅為25ns;另一方面,網絡設備的SRAM或者TCAM大小有限,很難存儲所有流以及測量任務的counters。

為了利用有限的硬件資源獲得精度盡可能高的網絡測量,常用的算法有Sampling、Streaming 和Sketch

1)Sampling:為了減少包處理和內存開銷,我們可以采樣一部分網絡數據包進行統計分析。一些常用的工具,如NetFlow和sFlow ,都基於采樣技術。這一技術方法最大的缺點在於:高采樣率需要維護很多counters,消耗大量資源,而較低的采樣率又會導致信息丟失和測量精度降低。

2)Streaming 和Sketch:Streaming 方法最早由Munro 和Paterson[2]提出,可以利用較小的內存和一次訪問來處理一個較長的數據包序列。Sketches [3, 4] 在Streaming算法中利用緊致的數據結構來存儲數據包的概要信息,如Count-Min sketch, Reversible sketch等。Streaming及Sketch算法的主要問題在於缺乏通用性,可支持的測量任務有限。 Sketch的大小還受到硬件資源的限制而影響其測量精度。

總的來說,現有解決方法主要存在以下問題

1)通過采樣、聚合的數據,信息量缺失/太少;

2)缺乏全網視圖(network-wide view)的數據測量及分析;

3)對用戶而言,采集的數據雜亂繁多,難以找到所需要的有用信息/事件。

同時,由於網絡技術的發展,網絡復雜度在過去幾年急劇增加。網絡監控、網絡安全以及動態網絡管理等都急需一種機制來在線分析每秒成千上萬的網絡數據和事件,也需要有效的技術手段對大量的歷史數據進行離線分析,從而使得網絡測量能更快、更准地反應出當前的網絡特征,捕獲到用戶所需要的網絡事件。整個網絡堆棧產生的大量異構的測量數據為探索創新的解決方案和想法打開了大門。

機器學習+網絡測量

很明顯,能夠表征、檢測、定位和理解復雜行為和復雜系統的機器學習和大數據分析技術有助於揭示龐大的網絡數據。雖然最近大數據分析框架和機器學習取得了很大進展,但它們在網絡測量分析領域的應用仍未得到很好的研究和應用。近來,研究人員已經開始將機器學習特別是深度學習方法,與網絡測量相結合,分析各種網絡事件和網絡的動態特性。

1

機器學習框架

圖2 Net2Vec框架

雖然在過去幾年里出現了很多可易於研究人員訓練、評估神經網絡模型的深度學習框架(e.g. Torch, Tensorflow),但由於通信網絡本身的高吞吐量和低延遲需求,很少有工作致力於將深度學習框架開發並部署於數據通信網絡。

為了填補這方面的空白,Roberto Gonzalez等人[8]提出了一個名為Net2Vec的框架(如圖2)。Net2Vec的主要目的是為數據分析者提供一個在網絡中開發和部署機器學習方法的框架。網絡流量由高速數據包序列組成,攜帶了如文本序列、圖像、語音等信息。現有(深度)學習算法已經在這類序列分析任務中表現出卓越的性能,因此Net2Vec旨在將這些最先進的機器學習方法應用於網絡。在框架中,網絡流量數據從網絡接口或其他來源捕獲,通過選擇性過濾生成元組序列。分離器再根據用戶需求將元組拆分,為單獨的元組流提供學習算法分析。

將機器學習框架和網絡測量進行有機結合可以優化網絡分析,使網絡測量變得更智能化,從而更好地解決一些典型的網絡問題,比如:網絡中內容流行度預測、異常檢測、廣告推薦、數據流分類、錯誤預測等。

2

網絡安全

網絡測量的一個重要應用就是檢測網絡攻擊,比如: 網絡入侵檢測(Network Intrusion Detection)、DDoS攻擊檢測等。就DDoS而言,檢測主機是否受到攻擊的一個比較傳統的方法[9]就是通過檢測相同協議下流入和流出的流量差別,因為DDoS攻擊會使這個流量差別在短時間內變得很大。例如,SYN flooding攻擊就經常會導致到達的帶有SYN flag 的數據包與發出的帶有SYN和ACK flag 的數據包在數量上不對稱。 但是,對一些更加復雜的DDoS攻擊(比如:應用層DDoS攻擊、多類別DDoS攻擊)若使用類似的統計方法,會使算法復雜度陡增(因為需要監控所有類別的應用層DDoS攻擊),因而這一統計方法可擴展性較差。另外對於一些在早期跟合法的網絡行為很相似的攻擊行為,這樣的統計方法也很難識別。

將深度學習方法用於網絡行為分析,可提取網絡攻擊的深層特征,對數據流序列進行分類、識別,從而判斷是否存在攻擊。例如,在文獻[10]中,作者提出的DeepDefense:通過設計一個循環深度神經網絡,從網絡流量序列中學習模式並跟蹤DDoS攻擊活動,從而優化了系統的false positive rate和detection rate。

3

動態網絡管理

在因特網中,由於域內/域間路由的改變、負載均衡以及鏈路錯誤等,傳輸路徑的變化會很頻繁。這些變化有時可能會導致嚴重的性能問題,比如RTT增加、擁塞、連接丟失等。Google 報告指出超過40%的用戶時延增加(至少)100ms,都是由域間路由變化所導致。網絡性能的波動不僅會影響用戶體驗,還會增加營運成本 。 利用現代的網絡測量技術,可以獲取很多有用的網絡信息,比如:鏈路流量、數據包頭信息、Heavy Hitter等,合理的利用這些數據信息有助於網絡動態管理。

由於網絡設備、鏈路以及傳輸路徑數量較大,傳統的一些優化方法在進行動態網絡管理(如:路徑選擇、預測)時,都面臨復雜度較大和可擴展性較差的問題。近年,隨着深度學習技術的突破以及計算能力的提升,使得將深度學習和網絡動態管理成為可能。如圖3所示,Nei Kato [10]等人設計了基於深度學習的網絡流量控制系統。該系統利用在邊緣路由器觀察到的網絡流模式(利用OSPF方法模擬獲得)來訓練該深度網絡,進而對路由進行動態管理。

圖3 基於深度學習的網絡流量控制系統

總之,機器學習(特別是深度學習)已經逐漸應用到網絡測量及分析的各個方面,但如何將各種學習框架及方法很好地適配到網絡環境,仍需要不斷的探索和研究。

結語

當網絡測量及分析遇到深度學習時,我們又是否能找到我們所需要的那“滄海一粟”?

或許

路漫漫其修遠兮。

又或許

眾里尋他千百度,驀然回首,那“一粟”卻在燈火闌珊處。

References:

[1] Network Analytics Market, https://www.marketsandmarkets.com/Market-Reports/network-analytics-market-1244.html

[2] Munro, J. Ian, and Mike S. Paterson. "Selection and sorting with limited storage." Theoretical computer science 12.3 (1980): 315-323.

[3] Moshref, Masoud, et al. "Scream: Sketch resource allocation for software-defined measurement." Proceedings of the 11th ACM Conference on Emerging Networking Experiments and Technologies. ACM, 2015.

[4] Huang, Qun, et al. "SketchVisor: Robust Network Measurement for Software Packet Processing." Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 2017.

[5] Narayana, Srinivas, et al. "Compiling Path Queries." NSDI. 2016.

[6] Narayana, Srinivas, et al. "Language-directed hardware design for network performance monitoring." Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 2017.

[7] Arashloo, Mina Tahmasbi, et al. "SNAP: Stateful network-wide abstractions for packet processing." Proceedings of the 2016 ACM SIGCOMM Conference. ACM, 2016.

[8] Gonzalez, Roberto, et al. "Net2Vec: Deep learning for the network." Proceedings of the Workshop on Big Data Analytics and Machine Learning for Data Communication Networks. ACM, 2017.

[9] Meng, Shicong, et al. "Volley: Violation likelihood based state monitoring for datacenters." Distributed Computing Systems (ICDCS), 2013 IEEE 33rd International Conference on. IEEE, 2013.

[10] Yuan, Xiaoyong, Chuanhuang Li, and Xiaolin Li. "DeepDefense: Identifying DDoS Attack via Deep Learning." Smart Computing (SMARTCOMP), 2017 IEEE International Conference on. IEEE, 2017.

[11] Kato, Nei, et al. "The deep learning vision for heterogeneous network traffic control: proposal, challenges, and future perspective." IEEE wireless communications 24.3 (2017): 146-153.

本文版權歸作者所有。

新加坡南洋理工CAP組

  • 發表於:
  • 原文鏈接:http://kuaibao.qq.com/s/20180302G16BK500?refer=cp_1026
  • 騰訊「雲+社區」是騰訊內容開放平台帳號(企鵝號)傳播渠道之一,根據《騰訊內容開放平台服務協議》轉載發布內容。
  • 如有侵權,請聯系 yunjia_community@tencent.com 刪除。
0

掃碼關注雲+社區

領取騰訊雲代金券


免責聲明!

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



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