1. 程式人生 > >A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

  • 文章名稱:A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
  • 文章名稱:應用於SDN的機器學習技術綜述:研究問題與挑戰
  • 發表時間: 2018
  • 期刊來源:IEEE Communications Surveys & Tutorials

一、摘要

  • 網路和移動通訊技術的快速發展->網路系統中的基礎設施,裝置和資源變得越來越複雜和異構。
  • 為了有效地組織,管理,維護和優化網路系統,需要部署更多的智慧。
  • SDN的能力(例如邏輯集中控制、網路的全域性檢視、基於軟體的流量分析和轉發規則的動態更新)使得在網路內部應用機器學習技術更容易。
  • 本文從流量分類,路由優化,服務質量(QoS)/體驗質量(QoE)預測,資源管理和安全性的角度,回顧機器學習如何應用在SDN領域。

二、機器學習演算法概述

  • 機器學習演算法基本上分為四類:監督,無監督,半監督和強化學習。
  • 監督學習演算法通常用於進行分類和迴歸任務,而無監督和強化學習演算法分別用於進行聚類和決策任務。

1.監督學習

  • 監督學習是一種標籤學習技術。 給監督學習演算法給出標記的訓練資料集以構建表示輸入和輸出之間的學習關係的系統模型。 訓練後,當一個新的輸入被輸入系統時,訓練的模型可用於獲得預期的輸出.
  • 廣泛使用的監督學習演算法有:k-最近鄰,決策樹,隨機森林,神經網路,支援向量機,貝葉斯理論和隱馬爾可夫模型。
  • k-最近鄰(k-NN):基於一個未分類樣本的k個最近鄰居確定資料樣本的分類。如果大多數k個最近鄰居屬於某個類,則未分類的樣本將被分類到該類中。特別地,當k = 1時,被稱為最近鄰居演算法。k值越高,噪聲對分類的影響越小。距離是k-NN演算法的主要度量,因此可以應用若干函式來定義未標記樣本與其鄰居之間的距離,
  • 決策樹(DT):通過學習樹執行分類的分類技術之一。在樹中,每個節點表示資料的特徵(屬性),所有分支表示導致分類的特徵的連線,並且每個葉節點是類標籤。可以通過將其特徵值與決策樹的節點進行比較來對未標記的樣本進行分類。DT具有許多優點,例如直觀的知識表達,簡單的實現和高分類精度。ID3,C4.5和CART是三種廣泛使用的決策樹演算法,用於自動執行訓練資料集的分類,它們之間最大的區別是用於構建決策樹的分裂標準。
  • 隨機森林:也稱為隨機決策森林,可用於分類和迴歸任務。隨機森林由許多決策樹組成。 為了減輕決策樹方法的過度擬合併提高準確性,隨機森林方法隨機選擇特徵空間的一個子集來構造每個決策樹。使用隨機森林方法對新資料樣本進行分類的步驟是:(a)將資料樣本放入林中的每個樹。(b)每棵樹給出一個分類結果,即樹的“投票”。(c)資料樣本將被分類為投票最多的類別。
  • 神經網路(NN):由大量簡單處理使用啟用函式組成的計算系統,以執行非線性計算。最常用的啟用函式是sigmoid和雙曲正切函式。模擬神經元在人腦中的連線方式。NN有很多層。第一層是輸入層,最後一層是輸出層。輸入圖層和輸出圖層之間的圖層是隱藏圖層。每層的輸出是下一層的輸入,最後一層的輸出是結果。通過改變隱藏層的數量和每層中的節點數量,可以訓練複雜模型以提高NN的效能。有許多型別的神經網路。
  • 隨機神經網路:隨機神經網路與其他神經網路的主要區別在於隨機神經網路中的神經元在概率上交換興奮性和抑制性尖峰訊號。每個神經元的電位值在接收到興奮性尖峰訊號時上升,在接收到抑制性尖峰訊號時下降。(待細讀)
  • 深度神經網路DNN:具有單個隱藏層的神經網路通常被稱為淺神經網路。相比之下,在輸入層和輸出層之間具有多個隱藏層的神經網路被稱為DNN。在DNN中,每個層的神經元基於前一層的輸出訓練特徵表示,這被稱為特徵層次。特徵層次結構使DNN能夠處理大型高維資料集。由於多級特徵表示學習,與其他機器學習技術相比,DNN通常提供更好的效能。
  • 卷積神經網路CNN:卷積神經網路和迴圈神經網路是兩種主要型別的DNN。CNN是前饋神經網路。連續層之間的區域性稀疏連線,權重共享和池化是CNN的三個基本思想。權重共享意味著同一卷積核中所有神經元的權重引數是相同的。區域性稀疏連線和權重共享可以減少訓練引數的數量。池化可用於減少特徵尺寸,同時保持特徵的不變性。這三個基本思想極大地減少了卷積神經網路的訓練難度。
  • 迴圈神經網路RNN:在前饋神經網路中,資訊從輸入層定向傳輸到輸出層。但迴圈神經網路可以使用內部狀態(記憶體)來處理順序資料。長短期記憶(LSTM)是最常用的RNN型別,它具有捕獲長期依賴性的良好能力。LSTM使用三個門(輸入門、輸出門和遺忘門)來計算隱藏狀態。
  • 支援向量機(SVM):SVM的基本思想是將輸入向量對映到高維特徵空間。通過應用不同的核函式(例如線性,多項式和基於徑向的函式RBF)來實現該對映。核函式選擇是SVM中的關鍵,它對分類精度有影響。核函式的選擇取決於訓練資料集,如果資料集是線性可分的,則線性核函式就可以很好地工作。如果資料集不是線性可分的,則多項式和RBF是兩個常用的核函式。通常基於RBF的SVM分類器效能比較好。
  • 隱馬爾可夫模型(HMM):HMM是一種馬爾可夫模型。馬爾可夫模型廣泛用於遵循無記憶特性的隨機動態環境中。馬爾可夫模型的無記憶性質意味著未來狀態的條件概率分佈僅與當前狀態的值相關並且獨立於所有先前的狀態。HMM與其他模型之間的主要區別在於HMM通常應用於系統狀態部分可見或根本不可見的環境中。

2.無監督學習

  • 與監督學習相反,無監督學習演算法被給予一組沒有標籤的輸入。無監督學習演算法旨在通過根據樣本資料之間的相似性將樣本資料聚類到不同的組中來找到未標記資料中的模式,結構或知識。無監督學習技術廣泛用於聚類和資料聚合。廣泛使用的無監督學習演算法有:kmeans和自組織對映等。
  • k-Means:k-means演算法是一種流行的無監督學習演算法,用於將一組未標記的資料識別到不同的簇中。為了實現kmeans演算法,需要兩個輸入引數(初始資料集和期望的簇數)。如果所需的簇數是k,則使用k-means演算法解決節點聚類問題的步驟是:(a)通過隨機選擇k個節點來初始化k個簇的質心;(b)使用距離函式用最近的質心標記每個節點;(c)根據當前節點成員資格分配新的質心;(d)如果收斂條件有效則停止演算法,否則返回步驟(b)。
  • 自組織對映(SOM):也稱為自組織特徵對映(SOFM),是最流行的無監督神經網路模型之一。SOM通常用於執行降維和資料聚類。

3.半監督學習

  • 一種使用標記和未標記資料的學習方法。需要用到半監督學習的原因:a.在現實世界的許多應用中,獲取標記資料是昂貴/困難的,而獲取大量未標記資料相對容易且便宜。b.在訓練過程中有效使用未標記的資料實際上傾向於改善訓練模型的效能。為了充分利用未標記的資料,必須在半監督學習中保持假設,例如平滑假設,聚類假設,低密度分離假設和多種假設。
  • 偽標籤是一種簡單而有效的半監督學習技術。偽標籤的主要思想很簡單。首先,使用標記資料來訓練模型。然後,使用訓練的模型來預測未標記資料的偽標籤。最後,將標記資料和新偽標記資料組合以再次訓練模型。

4.強化學習(RL)

  • RL涉及代理,狀態空間S和動作空間A。代理是一個學習實體,它與其環境相互作用以學習最大化其長期獎勵的最佳動作。長期獎勵是累積折扣獎勵,與即時獎勵和未來獎勵相關。當將RL應用於SDN時,控制器通常用作代理,網路是環境。控制器監視網路狀態並學習決定控制資料轉發。代理的目的是學習最優行為策略π,它是從狀態空間S到動作空間A(π:S→A)的直接對映,以最大化預期的長期獎勵。根據行為策略π,代理可以確定給定特定狀態的最佳對應動作。在RL中,值函式用於計算給定狀態的動作的長期獎勵。最著名的價值函式是Qfunction,Q學習用它來學習儲存所有狀態 - 動作對及其長期獎勵的表格。
  • 深度強化學習(DRL):RL的主要優點是它在沒有先驗知識的環境精確數學模型的情況下執行良好。然而,傳統的RL方法存在一些缺點,如對最優行為策略π的收斂率低,無法解決高維狀態空間和動作空間問題。DRL的關鍵思想是利用深度神經網路的強大函式逼近性來近似值函式。在訓練深度神經網路之後,給定狀態 - 動作對作為輸入,DRL能夠估計長期獎勵。估計結果可以指導代理選擇最佳動作。

三、SDN中的機器學習

1.流量分類

  • 流量分類通過識別不同的流量型別提供了一種執行細粒度網路管理的方法。藉助流量分類,網路運營商可以更有效地處理不同的服務並分配網路資源。
  • 當前廣泛使用的流量分類技術包括深度包檢測DPI機器學習
  • DPI將流量的有效載荷與預定義模式進行匹配,以識別流量流所屬的應用程式。模式由正則表示式定義。基於DPI的方法通常具有高分類準確性。但是,它有一些缺點。首先,DPI只能識別其模式可用的應用程式。應用程式的指數增長使得模式更新變得困難且不切實際。其次,DPI會導致高計算成本,因為需要檢查所有流量。第三,DPI無法對Internet上的加密流量進行分類。
  • 基於ML的方法可以正確識別加密流量,並且比基於DPI的方法產生更低的計算成本。相關研究如下:
  • 大象流感知流量分類:旨在識別大象流elephant flows和小鼠流mice flows。
    • 大象流是壽命長、佔用大量頻寬的流量;小鼠流是短暫的、不容忍延遲的流量。但大多數字節都是在大象流中傳輸的。為了有效地控制資料中心的流量,有必要識別大象流量。
    • 在一個例子中,提出的大象流檢測策略由兩個階段組成。在第一階段,採用頭部包測量來區分可疑的大象流和小鼠流。在第二階段,決策樹被用作檢測這些可疑流是否是大象流的檢測方法。
  • 應用感知流量分類:旨在識別流量的應用。
    • 在一個側重於通過UDP協議執行的應用程式的分類的例子中,使用了SVM演算法,根據Netflow記錄(如接收的分組和位元組的計數)對UDP流量進行分類,分類精度超過90%。
    • 在側重於對移動應用程式進行分類的研究中,決策樹深度神經網路都有不錯的效果。
  • QoS感知流量分類:旨在識別流量的QoS等級。
    • 隨著網際網路上應用程式的指數增長,識別所有應用程式是困難和不切實際的。然而,可以根據其QoS要求(例如延遲,抖動和丟失率)將應用劃分為不同的QoS等級。
    • 在一個例子中,通過利用半監督學習演算法和DPI提出了一種QoS感知流量分類系統。DPI用於標記已知應用程式的部分流量。然後,由半監督學習演算法(如Laplacian SVM)使用標記的訓練資料集來對未知應用的業務流進行分類。以這種方式,已知和未知應用的業務流被分類為不同的QoS等級。
  • 小結:
    • 大象流感知流量分類通常應用於資料中心。資料中心的一個主要目標是快速安排流量。細粒度流量分類方法(即,應用感知和QoS感知流量分類)可能會增加流量處理延遲,因此它們不適合資料中心。
    • 應用程式感知流量分類通常應用於細粒度網路管理。但是,隨著Internet上應用程式的指數增長,識別所有應用程式是不切實際的。現有研究通常識別最流行的應用程式。(如識別廣泛使用的八種應用、Google Play上的前40個應用程式等)。
    • 網路運營商可以使用QoS感知流量分類來根據其期望的QoS對網路資源分配進行優化。

2.路由優化

  • 低效的路由決策可能導致網路鏈路過載並增加端到端傳輸延遲,從而影響SDN的整體效能。因此,如何優化路由是一個重要的研究問題。
  • 最短路徑優先(SPF)演算法和啟發式演算法[149]是兩種廣泛使用的路由優化方法。SPF演算法根據跳數或延遲等簡單條件路由資料包。儘管SPF演算法很簡單,但它是一種盡力而為的路由協議,並沒有充分利用網路資源。啟發式演算法(例如,蟻群優化演算法)是解決路由優化問題的另一種方法。高計算複雜度是啟發式演算法的主要缺點。
  • 與啟發式演算法相比,機器學習演算法具有一些優勢。一方面,經過訓練,機器學習演算法可以快速提供接近最優的路由解決方案。另一方面,機器學習演算法不需要底層網路的精確數學模型。路由優化問題可以被視為決策任務。因此,強化學習是一種有效的方法。許多研究也應用監督學習演算法來優化路由。
  • 1)基於學習的監督路由優化:網路和流量狀態通常是訓練資料集的輸入,並且啟發式演算法的相應路由解決方案是輸出。 參考文獻[151]提出了一種NeuRoute的動態路由框架。其中,LSTM用於估計未來的網路流量。
  • 2)基於RL的路由優化RL演算法通常用於解決決策問題。當應用RL演算法來優化路由時,控制器作為代理工作,網路是環境。狀態空間由網路和流量狀態組成。行動是路由解決方案。獎勵是基於諸如網路延遲的優化度量來定義的。
  • 3)流量預測:旨在通過分析歷史流量資訊來預測流量的趨勢。
    • 基於流量預測結果,SDN控制器可以提前做出流量路由決策,並將主動路由策略分發到資料平面中的轉發裝置,以指導不久的將來的流量路由。通過這種方式,SDN控制器可以在發生流量擁塞之前採取適當的措施。此外,流量預測可以促進主動提供網路資源以改善QoS。
    • [159]提出了一種負載平衡策略來優化路徑負載。 SDN控制器選擇四個流特徵(傳輸跳數,傳輸等待時間,分組丟失率和頻寬利用率),以使用神經網路模型預測每個路徑的負載。然後,將選擇最小負載路徑作為新業務流的傳輸路徑。
    • [160]提出了一種名為NeuTM的基於LSTM的框架來預測網路流量矩陣。模擬結果表明,LSTM模型收斂速度快,預測效能良好。
  • 小結:
    • 監督學習演算法(尤其是神經網路)可以有效地獲得最佳的啟發式路由解決方案。然而,主要的缺點是標記的訓練資料集的獲取具有高計算複雜度。
    • 與監督學習演算法相比,RL演算法具有一些優勢。一方面,RL演算法不需要標記的訓練資料集。另一方面,可以通過不同的獎勵功能靈活地調整優化目標(例如,能量效率,吞吐量和延遲)。
    • 流量預測可以促進路由預設計的實現,這是通過預先修改交換機的流表來減少資料平面中的傳輸延遲的有效方法。神經網路模型,尤其是LSTM,通常用於流量預測。

3.QoS服務質量/QoE體驗質量預測

  • 丟失率,延遲,抖動和吞吐量之類的QoS引數是面向網路的度量,網路運營商通常使用這些度量來評估網路效能。
  • 另一方面,隨著多媒體技術的普及和普及,使用者感知和滿意度對於網路運營商和服務提供商來說變得越來越重要。QoE的概念已經成為使用者評估使用者對服務滿意度的指標。
  • 基於QoS / QoE預測,網路運營商和服務提供商可以提供高質量的服務,以提高客戶滿意度並防止客戶流失。
  • 1)QoS預測:QoS引數與網路關鍵效能指標(KPI)相關,例如分組大小、傳輸速率和佇列長度等。KPI與QoS之間的定量相關性引數可以通過根據KPI預測QoS引數來改善QoS管理。
    • 由於QoS引數通常是連續資料,因此QoS預測問題可以被視為迴歸任務。因此,監督學習是一種有效的方法。
    • [163]採用神經網路模型估計給定流量負載的網路延遲和覆蓋路由策略,實驗結果表明基於神經網路的估計器在延遲估計的精度方面比傳統的M/ M/1模型具有更好的效能。
    • [164]在SDN中提出了一種兩階段分析機制來改進QoS預測。首先,決策樹用於發現KPI和QoS引數之間的相關性。然後,應用線性迴歸ML演算法(即M5Rules)來執行根本原因分析並發現每個KPI的定量影響。
    • [165]使用兩種學習方法(隨機森林迴歸樹)估計Videoon-Demand(VoD)應用的兩個QoS度量(幀速率和響應時間),應用感知QoS估計精度超過90%。由於隨機森林是一種考慮許多決策樹結果的集合方法,隨機森林的預測精度高於迴歸樹。然而,迴歸樹的複雜性低於隨機森林。
  • 2)QoE預測:QoE是量化服務的使用者滿意度的主觀度量。
    • 廣泛使用的QoE指標是平均意見得分(MOS)。MOS將QoE值分為五個等級,包括優秀,良好,公平,差和壞。由於QoE值嚴重依賴於網路QoS引數(如丟失率,延遲,抖動和吞吐量),為了實時獲得QoE值,理解QoS引數如何影響QoE值是非常重要的。
    • 機器學習是學習QoS引數和QoE值之間關係的有效方法。由於QoE值通常是離散資料,因此可以將QoE預測問題視為分類任務。因此,進行QoE預測的最佳方式是監督學習
    • [167]的作者使用四種ML演算法(即DT神經網路k-NN隨機森林)來預測基於視訊質量引數(SSIM和VQM)的QoE值。
  • 小結:
    • QoS預測旨在發現KPI與QoS引數之間的定量相關性,而QoE預測旨在發現QoS引數與QoE值之間的定量相關性。在SDN中,控制器可以使用預測結果靈活地配置資料平面中的裝置以提高QoS / QoE。
    • QoS預測通常被視為迴歸任務,而QoE預測被視為分類任務。因此,監督學習技術可用於QoS / QoE預測。

4.資源管理

  • 1)資料平面資源管理
    • 許多工作已經研究了單租戶SDN網路中的資料平面資源分配。[170]提出了一種整合框架,通過動態分配網路,快取和計算資源來增強軟體定義的虛擬車載Adhoc網路(VANET)的效能。考慮到網路,快取和計算的收益,資源分配問題被制定為聯合優化問題。提出了一種新的DRL演算法來解決複雜優化問題並獲得資源分配策略。
    • [172]為了降低雲服務中的重新配置成本,基於RL的啟發式方法旨在選擇最小化網路中長期重新配置成本的配置。
    • 內容分發是人們生活中最受歡迎的服務之一。內容分發優化可以提高使用者滿意度。 [173]呈現基於RL的上下文感知內容分發方案以改進內容分發QoS。
    • 多租戶SDN網路中的資源分配: [134]研究SDN / NFV系統中的網路功能分配問題。SDN / NFV系統被認為是網路功能市場,其中伺服器和使用者分別是網路功能的銷售者和購買者。網路功能分配問題被制定為兩個Stackelberg遊戲,其中伺服器充當領導者,使用者充當追隨者。伺服器和使用者嘗試做出最佳決策,以最大限度地發揮其效用和效益。Stackelberg平衡的存在已經被證明了,RL演算法被應用於收斂到均衡。
    • 准入控制(AC):准入控制的目標是通過根據資源可用性接受或拒絕新的傳入請求來管理大量服務請求。[178],[179]重點關注SDN的准入控制。提出了SDN控制器中基於ML的方法,以根據變化的流量狀況從線上演算法池中選擇最合適的AC演算法。
  • 2)控制平面資源管理
    • 控制平面資源分配:如何在多個租戶之間分配網路管理程式的有限資源,以保證每個租戶的資料平面和控制平面之間的通訊是一個重要的研究課題。在這種情況下,機器學習演算法通常在網路管理程式上執行以優化資源分配。
    • [185]中資源監視工具用於監視網路管理程式的CPU消耗,基準測試工具hvbench用於測量控制訊息速率。收集的資料用於訓練三種不同的迴歸學習模型,以學習CPU消耗和控制訊息速率之間的對映。
    • [186]將[185]的方法擴充套件到管理程式的可用計算資源波動的場景。虛擬機器管理程式的可用計算資源的大的變化將使當前的對映模型無效。為了檢測資源變化,連續收集CPU消耗資訊和控制訊息速率資訊。然後,SVM用於比較收集的資料和當前的對映模型。如果一段時間內收集的大部分資料不符合當前模型,則會發生大量資源變更。在這種情況下,將使用最近收集的資料重新訓練對映模型。
    • 控制器放置:在SDN中,集中控制器必須處理來自部署在不同位置的大量交換機的業務流。控制器和交換機之間的長距離會增加流量處理延遲。在這種情況下,控制器的位置會對網路效能產生重大影響。因此,應該認真研究控制器放置問題。
      • 啟發式演算法是解決此問題的一種方法。高計算複雜度是啟發式演算法的主要缺點。
      • 在[187],[188]中,應用三種監督學習演算法(即決策樹神經網路邏輯迴歸)來獲得最優控制器的位置。用於訓練監督學習演算法的訓練資料集的輸入是流量分配,輸出是啟發式演算法的相應控制器放置解決方案。
  • 小結:
    • 資料平面資源分配問題通常被視為決策任務。在這種情況下,基於RL和ML的博弈論是兩種有效的方法。 RL經常用於單租戶SDN網路。在多租戶SDN網路中,資料平面中的資源由多個租戶共享。每個租戶的效用都會受到其他租戶的資源分配策略的影響。因此,基於ML的博弈論適用於解決多租戶SDN網路中的資料平面資源分配問題。
    • 網路管理程式通常會將控制平面資源分配視為將其有限資源分配給多個租戶。資源消耗和控制訊息速率之間的對映對於控制平面資源分配非常重要。對映問題通常被視為迴歸任務。因此,監督學習技術可用於對映任務。在虛擬機器管理程式的可用資源波動的動態場景中,需要定期更新訓練好的對映模型。

5.安全

  • 入侵檢測是網路安全的重要元素。入侵檢測系統(IDS)是一種裝置或軟體應用程式,其目標是監視網路系統中的事件並識別可能的攻擊。IDS有助於網路運營商在發生攻擊之前採取適當的措施。
  • 根據識別網路攻擊的方式,IDS可以分為兩種:基於簽名的IDS和基於異常的IDS。
    • 在基於簽名的IDS中,需要事先建立已知攻擊的簽名。當流量到達時,基於簽名的IDS將這些流量與已知簽名進行比較,以識別可能的惡意活動。基於簽名的IDS通常具有高準確度。但是存在問題:a.新攻擊的增長使簽名更新變得困難。b.基於簽名的IDS會導致高時間消耗,因為需要比較所有簽名。
    • 基於異常的IDS是一種統計方法,它使用與合法使用者行為相關的收集資料來建立模型。當流量到達時,將其與模型進行對比,與模型有明顯偏差的行為將被標記為異常。它可以檢測新型別的攻擊。
    • 基於簽名的IDS是基於有效載荷的流量識別的型別,其需要檢查分組的整個有效載荷,而基於流量的IDS是基於流-粒度資訊(如分組報頭資訊)的基於流的流量識別的型別。
  • 機器學習方法通過訓練模型來識別正常活動和入侵,廣泛用於基於異常的IDS。入侵檢測問題可以被視為分類任務。因此,監督學習演算法通常應用於入侵檢測。
  • 在基於ML的入侵檢測系統中,資料集輸入的高維度(如流特徵)對ML演算法的效能有影響。為了在保持高檢測精度的同時加速入侵檢測過程,通常進行特徵減少以降低資料集輸入的維數。特徵選擇特徵提取是兩種眾所周知的減少流特徵維數的方法。特徵選擇是一種從所有流特徵中選擇適當特徵的子集的方法。特徵提取是通過從原始特徵中提取一組新特徵來通過特徵變換來降低流特徵的維度的另一種方法。
  • 已經對SDN中基於ML的入侵檢測進行了許多研究,例如粗粒度入侵檢測,細粒度入侵檢測和DDoS攻擊檢測。
  • 1)粗粒度入侵檢測:粗粒度入侵檢測旨在將流量分類為正常和異常類。
    • [200]提出了一種威脅感知系統,用於對SDN中的網路入侵進行檢測和響應,其中應用了決策樹隨機森林演算法來檢測惡意活動。在選擇特徵集時用到了前向特徵選擇策略。
    • [201]應用HMM來預測惡意活動並增強網路安全性。HMM使用五個選定的流特徵(即,分組的長度,源埠,目的地埠,源IP地址和目的地IP地址)來確定一組分組的惡意性。
    • [202]提出了一個名為ATLANTIC的框架,用於在SDN中聯合執行異常流量檢測,分類和緩解。分為兩個階段:輕量級階段使用資訊理論來計算流表熵的偏差。重量級階段利用SVM演算法對異常流量進行分類。
    • [204]利用四種ML演算法(即決策樹BayesNet決策表樸素貝葉斯)來預測潛在的惡意連線和易受攻擊的主機。 SDN控制器使用預測結果來定義安全規則,以便保護潛在的易受攻擊的主機,並通過阻止整個子網來限制潛在攻擊者的訪問。結果表明,BayesNet具有比其他三種演算法更好的效能,BayesNet實現的平均預測精度為91.68%。
    • [205]通過將流量分類為正常類和異常類,在SDN中使用深度神經網路模型來檢測入侵活動。基於NSL-KDD資料集訓練具有輸入層、三個隱藏層和輸出層的深度神經網路模型。實驗結果表明,深度神經網路模型在異常檢測中具有良好的效能,僅使用6個基本流特徵時,平均檢測精度為75.75%。
  • 2)細粒度入侵檢測:細粒度入侵檢測旨在對網路流量進行細粒度分類,並識別不同型別的攻擊。
    • [208]提出了一種改進的基於行為的SVM來對網路攻擊進行分類。為了提高入侵檢測的準確性並加快正常和侵入模式的學習,決策樹被用作特徵縮減方法,以超越原始特徵並選擇最合格的特徵。這些選定的特徵是用於訓練SVM分類器的輸入資料。
    • [209]提出了一種基於深度學習的入侵檢測方法NDAE。為了在保持高檢測精度的同時加速入侵檢測,NDAE結合了深度學習方法和隨機森林,其中深度學習方法應用於特徵減少,隨機森林用於流量分類和入侵檢測。
  • 3)DDoS攻擊檢測:DDoS攻擊是SDN中網路安全的主要威脅。 DDoS攻擊的目標是通過使用許多木偶機器同時傳送大量虛假請求來耗盡系統資源,以便不處理合法使用者的請求。在SDN中,DDoS攻擊可以耗盡資料平面和控制平面中的網路,儲存和計算資源,這將使SDN網路不可用。
    • [210]應用自組織對映SOM根據收集的流量特徵執行DDoS攻擊檢測。
    • [211]提出的IDS包含兩個模組:簽名IDS和高階IDS。簽名IDS模組利用不同的ML演算法,例如k-NNNaive Bayesk-meansk-medoids,將流量流分類為正常和異常,並找到一組具有異常行為的主機。然後,高階IDS模組將檢查具有異常行為的這些主機發送的資料包,以檢測主機是否異常或授權使用者。這樣,高階IDS模組的處理時間減少了,因為只需要分析具有異常行為的主機。
    • [98]應用深度學習模型檢測SDN中的DDoS攻擊,其中包括迴圈神經網路以及卷積神經網路。在收集和分析網路流量特徵資訊後,深度學習模型用於特徵減少和DDoS攻擊檢測。
      -[212]從收集的網路流量中提取68個流特徵,包括來自TCP流的34個特徵,來自UDP流的20個特徵,以及來自ICMP流的14個特徵。然後使用深度學習模型來進行特徵減少和DDoS攻擊檢測。
  • 4)其他
    • [213]提出了兩個應用程式故障的概念驗證示例,應用ML方法檢測應用程式故障。檢測結果可以指導SDN控制器實時採取適當的網路響應。
    • [214]專注於軟體定義的防火牆,提出一個框架來快速匹配流程並有效地捕獲使用者行為。使用隱馬爾科夫模型HMM捕獲使用者行為的狀態資訊,並識別網路連線是否合法。如果發現非法連線,防火牆可以及時阻止該連線的訪問。然後,利用這些資訊以及相應的分組欄位來訓練神經網路模型。經過訓練的模型能夠快速匹配流,而不是將資料包流與每個防火牆過濾規則進行比較。
  • 小結:
    • 細粒度入侵檢測通常用於細粒度網路管理。通過識別不同型別的攻擊,SDN控制器可以針對每種型別的網路攻擊做出適當的反應。但是,與粗粒度入侵檢測相比,細粒度入侵檢測需要更復雜的標記訓練資料集。
    • KDD99NSL-KDD是IDS研究的兩個廣泛使用的資料集。NSL-KDD是KDD99資料集的修改版本,解決了KDD99資料集的許多固有問題。因此,當研究人員想要模擬基於ML的入侵檢測方法的效能時,最好使用NSL-KDD資料集。
    • 為了增強網路安全性,需要實時入侵檢測。減少特徵是優化系統性能和加速攻擊檢測的有效方法。特徵選擇特徵提取是兩種最常用的減少流特徵的方法。
    • 大多數相關工作根據研究人員的經驗選擇流特徵。決策樹是另一種通過分析原始特徵和選擇最合格的特徵來選擇特徵的方法。深度學習是一種廣泛使用的特徵提取方法,因為它具有強大的特徵表示能力。
    • 入侵檢測問題可視為分類任務,因此通常應用監督學習演算法來檢測異常活動。
    • [200]指出隨機森林的效能優於決策樹。在[204]中比較和評估了四種機器學習演算法(即決策樹,BayesNet,決策表和樸素貝葉斯)的效能。結果表明,BayesNet具有比其他三種演算法更好的效能。[211]中的實驗表明,Baysian演算法比k-NN具有更好的效能。[205]將深度學習演算法與其他三種ML演算法(即貝葉斯理論,SVM和決策樹)進行比較。實驗結果表明,深度學習演算法具有較高的入侵檢測精度。然而,深度學習演算法的複雜性也更高。
    • [98]中的實驗表明,增加訓練資料集的量雖然顯著提高了深度學習模型的效能,但也增加了訓練時間和複雜性。因此,在檢測效能和模型複雜性之間需要權衡。

四、挑戰和未來研究方向

  • 高質量的訓練資料集
  • 分散式多控制器平臺:隨著網路規模和流量的增加,由於控制器的計算限制,控制器通常面臨可擴充套件性問題,於是提出了分散式多控制器平臺來解決這個問題。
  • 改善網路安全
  • 跨層網路優化:在傳統網路中,不允許非相鄰層之間的直接通訊。最近的研究表明,在非相鄰層之間共享資訊可以顯著提高網路效能。但是,跨層設計打破了模組化原則,使網路變得如此複雜,以至於傳統方法不足以優化這種網路。在SDN中,控制器具有全域性網路檢視,並且可以從所有不同層收集跨層資訊,例如物理層的通道狀態資訊,資料鏈路/網路層的分組資訊和應用層的應用資訊。然後,機器學習演算法可以使用所收集的資訊進行網路優化,例如物理層引數自適應,資源分配,拓撲結構,路由機制和擁塞控制。
  • 增量部署的SDN:SDN前景廣闊,但它的部署需要將現在所有的網路交換機都更新為支援SDN的。增量部署是一種可行的方案,SDN交換機和控制器在傳統網路中逐步部署,並且只有部分網路流量由控制器控制。在這種情況下,如何執行有效的流量工程和優化資源分配仍然是一個積極的研究方向。一種可能的解決方案是SDN控制器與其他傳統網路節點通訊以交換鏈路權重,可用頻寬和拓撲資訊。通過這種方式,SDN控制器獲得所需的網路資訊。通過分析這些資訊以及從支援SDN的交換機收集的流量統計資訊,可以利用機器學習演算法來建立模型,利用這些模型可以有效地執行資源分配優化和流量工程。