肖軍弼 魏嬌嬌
(中國石油大學(華東)計算機科學與技術學院 青島 266580)
近年來,隨著Internet 網絡結構不斷復雜化發展,以及各種網絡設備類型不斷涌現,網絡用戶的規模也在不斷提高,這使得網絡流量數據急劇增加,同時對網絡的有效管理、負荷評估和安全預警帶來了新的挑戰[1]。在傳統方法下網絡流量特征被描述為線性相關的,然而,在現代網絡環境下的網絡流量呈現出多種復雜的非線性特征,如具有長相關性、自相似性、時變性、突發性、混沌性等特點[2]。面對如此復雜的網絡環境,開展網絡流量分析研究具有重要意義。
網絡流量特性分析是進行網絡流量分類及預測研究的前提與關鍵,分析出網絡流量所具備的特性,根據其特性的變化規律,選擇出一種計算量相對較小、結構簡單的分類與預測模型。
通過網絡流量分類研究,網絡監管部門對正常流量和惡意流量進行準確、及時的分類識別,可以有效避免惡意流量對用戶帶來的干擾和損失[3]。同時,網絡流量分類與識別在病毒入侵檢測、訪問認證授權等方面也發揮著重要作用[4]。在網絡流量分類研究中,傳統的基于特定規則的分類方法隨著網絡流量數據規模越來越大,流量組成越來越復雜,已經不能滿足當今的網絡流量分類需求,基于數據挖掘的網絡流量分類方法[5~6]已經成為目前的研究熱點之一,如許多學者采用有監督學習的網絡流量分類方法,例如利用樸素貝葉斯(Na?ve Bayes,NB)[7]、支持向量機(Support Vector Machine,SVM)[8-9]、決策樹(Decision Tree)[10]、神經網絡(Neural Network,NN)[11~13]等算法進行網絡流量分類研究,還有學者將KNN[14~16]、K-means[14,17~18]、隱馬爾科夫算法(Hidden Markov Model,HMM)[19]等無監督學習的網絡流量預測方法應用于網絡流量分類,此外,還有學者提出了使用基于高斯混合模型(Gaussian Mixed Model,GMM)[20]、基于半監督支持向量機(Semi-Supervised Support Vector Machine,S3VM)[21]等基于半監督學習的分類方法[22]。
通過開展網絡流量預測研究,網絡管理者可以實時掌握網絡運行時的狀態,優化網絡資源分配,檢測潛在的網絡威脅與故障,以便提前采取措施進行干預[23~24]。隨著網絡流量特性愈發復雜,傳統的線性模型難以準確地進行預測。近年來,許多學者和研究者開始將數據挖掘技術如支持向量機(SVM)[25]、神經網絡(NN)[26~28]、長短期記憶神經網絡(Long Short-Term Memory,LSTM)[29~30]、梯度提升樹(Gradient Boosting Decision Tree,GBDT)[31]、決策樹(Decision Tree)[32~33]、灰色模型(Grey Models,GM)[34]等與網絡流量預測研究相結合,并通過實驗證明這些算法能夠有效提高預測精確度。
1)自相似性
網絡流量的自相似特性[35]是指網絡流量時間序列在時間維度上表現出在不同時間尺度下具有相同或者相似的統計特征。以下是該特性的統計學方法描述。
假設一個隨機過程X(t) ,t∈R,對于所有a>0 均滿足式(1),則稱X(t)是自相似系數為H的自相似過程。
其中,a表示隨機過程的時間尺度變化,為漸進同分布,H為自相似Hurst參數。網絡流量的自相似程度可根據參數H值來描述,H值的具體取值范圍是[0 ,1] ,其大小反映了網絡流量自相似性的強弱程度[12]。當0 <H<0.5 時,表明該流量序列有較弱的自相似性。當0.5 <H<1 時,表明該流量序列有明顯的自相似性,且越接近1,該流量序列的自相似性就越強。因此,可以通過計算網絡流量時間序列的Hurst值來判斷該序列是否具有自相似性以及強弱程度。
2)長相關性
網絡流量的長相關性[36]是指某一時刻的網絡流量值與此時刻之前的所有時刻的網絡流量值之間具有一定的關聯性。以下是該特性的統計學方法描述。
如果隨機過程X=Xt,t=1,2,…,n的自相關函數x(k)滿足以下公式,則稱該隨機過程具有長相關性。
其中,x(k)是自相關函數,ρk是自協方差函數,E(X)是均值函數。
3)突發性
網絡流量數據的突發性[37]是指網絡流量在某一時刻急劇上升或下降,網絡流量產生突變性的原因主要是某一時刻用戶行為的頻繁變化和網絡設備的急劇增多引起的,比如大量用戶在同一時刻訪問相同的網站、某一時刻同時接入大量網絡設備等。
4)周期性
網絡流量的周期性[38]是指在一定時間范圍內的不同時間區間里流量具有相似甚至相同的變化趨勢,并且這種趨勢會反復出現。在網絡管理過程中,可以根據網絡流量的周期規律規劃網絡資源使用情況,提高管理效率。
5)混沌性
網絡流量的混沌性[39]是一種類似無規則的、隨機的現象,既包含有序序列,又包含無序序列。即網絡流量數據實際上是混雜著低維混沌噪聲數據的時序序列。
網絡流量的特性決定了其行為表現,準確地分析其特性有助于構造合適的分類與預測模型,進一步獲得準確的分析結果。所以十分有必要在開展流量分析之前,先分析一下流量的基本特點。表1給出了主要的網絡流量的特性分析方法的優缺點及適用范圍。

表1 網絡流量特性分析方法及其特性
定義TP(True Positive)表示正確分類的真例數量、TN(True Negative)表示正確分類的假例數量、FN(False Negative)表示錯誤分類的假例數量、FP(False Positive)表示錯誤分類的真例數量。
1)召回率(Recall)。召回率是TP占實際真例總數的百分比,其定義如下:
2)精確度(Precision)。精確度是TP占分類為真例個數的百分比,其定義如下:
3)F 值(F-Measure)。F-Measure 是精確度、召回率的調和平均數,結合了兩者的評價標準,其定義如下:
4)準確率(Accuracy)。網絡流量分類方法的準確率計算方式如下:
傳統的網絡流量分類研究通常采用基于特定規則的方法,比如基于端口的分類方法[40~41]與基于深度包檢測[42~43]的分類方法。這類方法的特點是由人工制定規則,并且將規則進行硬編碼,通過匹配硬編碼的固定規則劃分出網絡流量類別。然而由于流量劇增及特性日益復雜化使得這類方法不再適用于當前的網絡流量分類研究。
3.3.1 有監督學習的網絡流量分類方法
有監督學習是指訓練有輸入有輸出的樣本。表2 給出了主要的基于有監督學習的網絡流量分類方法及其特性。

表2 有監督學習的網絡流量分類方法及其特性
3.3.2 無監督學習的網絡流量分類方法
基于無監督學習的網絡流量分類算法是通過聚類的形式來劃分數據集包含的所屬類,通過某種方法,在學習過程中會將特征相似的樣本歸為一類。此類算法的優點是具有發現新型網絡應用的能力。主要的基于無監督學習的網絡流量分類方法如下。
1)KNN 算法[14~16]。該算法理解簡單,且模型的訓練時間短。但是在進行網絡流量分類時,需要計算測試集與訓練集內部數據之間的相似度,計算成本高,并且在訓練過程易受到噪聲數據的影響。此外,由于該算法對所有的訓練數據進行保存,導致內存占用大。
2)K-means 算法[14,17~18]。該算法的優點是結構簡單、容易理解,并且當密集數據的類與類之間的區別明顯時,能夠得到很好的分類效果。但是K-means 算法中初始均值向量K 的選定是難以估計的,算法的計算時間長,當K 值選擇不當時會產生很大誤差,并且對異常數據在計算質心的過程中,會對結果產生很大的影響,容易陷入局部最優。
3)隱馬爾科夫(Hidden Markov Model,HMM)聚類算法[19]。該算法是一種時序相關的概率模型,首先基于隱馬爾科夫鏈生成一個不可觀測的狀態序列,然后根據狀態序列生成預測結果。但該模型在進行網絡流量分類的應用過程中具有一定缺陷,按照HMM 算法的假設,該模型不能記憶上下文信息,因此分類結果只與其前一個狀態信息關聯,若想利用更多的已知信息,必須建立高階HMM模型,然而高階模型會導致算法的復雜度較高。
3.3.3 半監督學習的網絡流量分類方法
基于半監督學習的分類方法中,訓練數據由大量未標記數據和少量已標記數據構成,訓練過程結合了有監督學習與無監督學習的思想。半監督學習分類方法的優點是訓練方法對已標記的數據的依賴程度較低。目前也有研究將這種方法應用于網絡流量分類研究,比如:
1)基于高斯混合模型(Gaussian Mixed Model,GMM)的半監督分類算法[20]。該方法的優點是可以很好地描述時序數據的特征,通過收斂準則逐步迭代可以更好地擬合數據。但是該方法往往只能收斂于局部最優。
2)基于半監督支持向量機(Semi-Supervised Support Vector Machine,S3VM)的半監督分類算法[21]。該方法是利用了結構風險最小化計算方法進行網絡流量分類,S3VM 假設決策超平面與無標簽數據的空間分布信息的分布情況一致,然而如果實際情況不滿足此假設,構造的決策超平面會產生較大誤差,最終導致性能變差。
1)均方根誤差(Root Mean Square Error,RMSE)。該值反映出流量預測值與真實值之間的距離,用于評價網絡流量數據的變化程度,如果該值越小,說明當前的網絡流量預測模型性能越優。RMSE 對異常大或者異常小的預測誤差尤其敏感,這使其可以較好地反映預測精度。該評價指標的計算方法如式(9)所示:
其中,表示流量預測值,yj表流量實際值,n代表評估的數據總量。
2)測定系數(R-Squared,R2)。該值反映的是預測的準確率,取值范圍是0~1,該值越大,說明當前的網絡流量預測值的準確率越高。計算公式如式(10)所示:
3)模型的訓練時間。在對網絡流量數據進行預測的研究中,機器學習模型需要使用大量資源來建模,因此,在進行模型訓練的過程中,需要考慮計算成本,而模型的訓練時間在模型的計算成本中占據重要影響。
4)平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)。該值是統計上常用于評估模型預測精確度的一個指標,該值越小,則表明預測的結果就越好。計算公式如式(11)所示:
其中,表示流量預測值,yj表流量實際值,n代表評估的數據總量。
5)準確率Accuracy。計算公式如式(12)所示:
其中,X表示真實流量矩陣,表示預測流量矩陣。
表3 給出了主要的單個網絡流量預測模型的特性及其適用場景。

表3 流量預測模型特性
隨著網絡復雜化,應用多樣化,網絡流量的非線性特征愈發明顯,網絡流量序列的長相關性、周期性、突發性等特點使得單一的網絡流量預測模型難以準確地進行預測。研究者開始將多種分析方法與網絡流量預測模型相結合,并且通過實驗證明組合預測模型能夠有效提高預測精確度,有著良好的擬合與預測效果。例如文獻[44]提出基于SVM進行預測,結合遺傳算法進行優化,結果發現在流量預測方面整體性能較優,且具有較高的精度。文獻[45]提出布谷鳥搜索算法與支持向量機算法相結合的網絡流量預測模型(MCS-SVR 模型),并且在同一個數據集上分別與利用遺傳算法和粒子群算法優化的SVM 算法做對比實驗,實驗結果證明MCS-SVR 模型提高了網絡流量預測精度。文獻[46]提出一種基于深度置信網絡的預測算法,同時融入無監督學習的自動編碼器AE,實驗結果表明,該算法具有較好的預測性能。文獻[47]提出使用灰狼算法優化支持向量機算法的參數并結合LSTM算法來建立網絡流量預測模型,通過實驗證明該混合模型能夠有效處理非線性序列預測問題,并且具有很強的容錯能力,預測精度較高。文獻[48]提出一種殘差卷積和循環神經網絡相結合的無線網絡流量預測模型,該模型能夠精確提取網絡流量數據的時空特性,實現了對流量的有效預測,并且設置了流量監控異常報警機制,加強了網絡流量的管理與規劃。文獻[49]提出一種圖卷積神經網絡結合門控循環神經網絡的混合流量預測模型,該模型基于圖卷積層來提取SDN流量復雜的空間相關性,通過門控循環單元來提取SDN 網絡流量的時間相關性,將空時關系相結合來進行SDN 網絡流量預測,并且通過實驗證明了該混合模型具有良好的性能。
本文從網絡流量特性分析、網絡流量分類、網絡流量預測三個方面分析了網絡流量分析的研究現狀,介紹了當前網絡流量分析的研究內容,總結了近幾年常用于網絡流量分類和網絡流量預測的數據挖掘方法。明確了高效的網絡流量分析研究具有重要意義:有助于對網絡進行更好的規劃和優化,實現網絡問題的提前預警,保證網絡系統安全、穩定運行。但是在現有的網絡流量分析的研究中,也存在一些有待解決的問題,如在對原始網絡流量數據進行預處理時,預處理的結果會直接影響到模型的預測性能;使用特定的算法進行網絡流量特征提取時,若模型結構的復雜度較高及模型參數的選擇不當,會導致較高的成本問題。在未來的研究中,建立結構復雜度相對較低、計算量較小的分類與預測模型,同時將所提出的模型實際應用于現實場景中是網絡流量分析預測研究中需要進一步考慮的問題。