居建濤,鄭弘迪,羅琴
(1.四川大學(xué)計算機(jī)學(xué)院,成都 610065;2.四川大學(xué)空天科學(xué)與工程學(xué)院,成都 610065)
近年來隨著智能設(shè)備以及網(wǎng)絡(luò)技術(shù)的快速發(fā)展,數(shù)據(jù)流量呈現(xiàn)出指數(shù)級的增長。為了優(yōu)化流量分布以及管理大量設(shè)備,網(wǎng)絡(luò)結(jié)構(gòu)變得異常復(fù)雜。這種復(fù)雜的異構(gòu)網(wǎng)絡(luò)基礎(chǔ)設(shè)施增加了網(wǎng)絡(luò)的復(fù)雜性并對有效地組織、管理以及優(yōu)化網(wǎng)絡(luò)資源提出了巨大的挑戰(zhàn)。
解決上述問題的一個可行方案為在網(wǎng)絡(luò)中采用更多的智能化辦法。文獻(xiàn)[1]中提出了知識平面(Knowledge Plane,KP)方法,通過應(yīng)用機(jī)器學(xué)習(xí)技術(shù)(Machine Learning,ML)以及感知技術(shù),將自動化、推薦和智能化引入互聯(lián)網(wǎng)。然而,由于傳統(tǒng)網(wǎng)絡(luò)所固有的分布式特性,諸如路由器、交換機(jī)等每一個節(jié)點(diǎn)僅僅能夠了解整個網(wǎng)絡(luò)中的一部分信息,將機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于傳統(tǒng)網(wǎng)絡(luò)十分復(fù)雜,難度較大。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)技術(shù)的出現(xiàn)減小了將機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于網(wǎng)絡(luò)的復(fù)雜度[2]。
SDN通過將控制平面與數(shù)據(jù)轉(zhuǎn)發(fā)平面解耦,實(shí)現(xiàn)邏輯上集中控制,起到網(wǎng)絡(luò)操作系統(tǒng)(Network Operating System,NOS)的作用。在SDN網(wǎng)絡(luò)架構(gòu)中控制器具備可編程的邏輯特性,通過實(shí)時監(jiān)控、采集網(wǎng)絡(luò)狀態(tài)信息可獲得整個網(wǎng)絡(luò)的全局信息,從而從全局的角度來管理網(wǎng)絡(luò)資源。將機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于SDN網(wǎng)路架構(gòu)中是合適且有效的,首先,無論是圖形處理器(Graphics Processing Unit,GPU)還是張量處理單元(Tensor Processing Unit,TPU)等計算技術(shù)的發(fā)展為機(jī)器學(xué)習(xí)技術(shù)應(yīng)用到網(wǎng)絡(luò)領(lǐng)域提供了一個好的機(jī)遇;其次,機(jī)器學(xué)習(xí)算法的關(guān)鍵要素是數(shù)據(jù),SDN控制器掌控著整個網(wǎng)絡(luò)視圖,能夠收集各個狀態(tài)下的網(wǎng)絡(luò)數(shù)據(jù),方便了機(jī)器學(xué)習(xí)算法的應(yīng)用。最后,基于實(shí)時以及歷史數(shù)據(jù),機(jī)器學(xué)習(xí)技術(shù)通過數(shù)據(jù)分析,網(wǎng)絡(luò)優(yōu)化以及網(wǎng)絡(luò)服務(wù)的自動化配置使得SDN控制器更加智能化。
本文中總結(jié)了當(dāng)前可用于部署在SDN網(wǎng)絡(luò)架構(gòu)中的機(jī)器學(xué)習(xí)算法,并分析了機(jī)器學(xué)習(xí)算法應(yīng)用在SDN架構(gòu)中的優(yōu)劣。
文獻(xiàn)[3]中詳細(xì)的描述了機(jī)器學(xué)習(xí)技術(shù)在入侵檢測領(lǐng)域的應(yīng)用,文獻(xiàn)[4]中通過使用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行IP流量分類。文獻(xiàn)[5]中介紹了應(yīng)用于發(fā)展異構(gòu)網(wǎng)絡(luò)的最先進(jìn)的基于人工智能(Artificial Intelligence,AI)的技術(shù),并討論了未來的研究挑戰(zhàn)。文獻(xiàn)[6]中研究了如何應(yīng)用機(jī)器學(xué)習(xí)技術(shù)來提高網(wǎng)絡(luò)流量控制性能。文獻(xiàn)[7]中研究了如何將無監(jiān)督機(jī)器學(xué)習(xí)技術(shù)應(yīng)用到網(wǎng)絡(luò)領(lǐng)域。盡管機(jī)器學(xué)習(xí)技術(shù)應(yīng)用到了各個領(lǐng)域,但關(guān)于機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于SDN領(lǐng)域的文獻(xiàn)資料相對分散,本文進(jìn)行了整理分析,以便給相關(guān)的研究人員提供研究方向。
SDN架構(gòu)受到越來越多的關(guān)注,非營利性組織開放網(wǎng)絡(luò)基金會(Open Networking Foundation,ONF)致力于SDN架構(gòu)的開發(fā)、標(biāo)準(zhǔn)化和商業(yè)化。ONF為SDN做了如下定義:在SDN架構(gòu)中控制平面和數(shù)據(jù)平面解耦,網(wǎng)絡(luò)狀態(tài)邏輯集中,底層網(wǎng)絡(luò)設(shè)施從應(yīng)用層中抽象出來[8]。根據(jù)定義SDN架構(gòu)包括三部分,分別為數(shù)據(jù)平面,控制平面以及應(yīng)用平面,具體如圖1所示。
圖1 SDN網(wǎng)絡(luò)架構(gòu)
(1)數(shù)據(jù)平面
數(shù)據(jù)平面又稱基礎(chǔ)設(shè)施層,位于SDN架構(gòu)的最底層,該層由轉(zhuǎn)發(fā)設(shè)備構(gòu)成,包括物理交換機(jī)以及虛擬交換機(jī)。虛擬交換機(jī)是基于軟件的交換機(jī),其可運(yùn)行在普通的操作系統(tǒng)中,Open vSwitch、Indigo以及Pantou是三種不同的虛擬交換機(jī);物理交換機(jī)是基于硬件的交換機(jī),包括基于NetFPGA的物理交換機(jī)以及支持SDN協(xié)議的惠普、思科以及華為等廠家的商用交換機(jī)。虛擬交換機(jī)相比于物理交換機(jī)能夠支持SDN協(xié)議的全部特性,物理交換機(jī)相比于虛擬交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包的速率更高。數(shù)據(jù)平面的交換機(jī)負(fù)責(zé)轉(zhuǎn)發(fā),丟棄或者根據(jù)控制平面策略修改數(shù)據(jù)包。
(2)控制平面
控制平面相當(dāng)于整個SDN系統(tǒng)的大腦,它可以對網(wǎng)絡(luò)資源進(jìn)行規(guī)劃,動態(tài)更新轉(zhuǎn)發(fā)規(guī)則,使得網(wǎng)絡(luò)管理更加靈活??刂破矫嬷饕羞壿嬌系募锌刂破鹘M成,而控制器可以控制應(yīng)用平面和轉(zhuǎn)發(fā)設(shè)備之間的通信。一方面控制器向應(yīng)用平面提供數(shù)據(jù)平面的網(wǎng)絡(luò)狀態(tài)信息,另一方面,控制器將應(yīng)用程序的需求轉(zhuǎn)換為定制策略,并分發(fā)給轉(zhuǎn)發(fā)設(shè)備。此外,控制器提供了大多數(shù)網(wǎng)絡(luò)應(yīng)用程序所需的基本信息,例如最短路由、網(wǎng)絡(luò)拓?fù)浯鎯?、設(shè)備配置信息以及設(shè)備狀態(tài)信息等。常見的控制器包括 NOX、POX、Floodlight、Ryu、OpenDay-Light以及Beacon。此外,與控制器相關(guān)的接口包括南向接口,北向接口以及東西向接口,其中南向接口又稱為控制器和轉(zhuǎn)發(fā)設(shè)備之間的接口,其可以使得轉(zhuǎn)發(fā)設(shè)備與控制器之間交換網(wǎng)絡(luò)狀態(tài)信息和控制策略。到目前為止,由ONF提出的OpenFlow協(xié)議是第一個同時也是最流行的開放南向接口,但并不是唯一的南向接口協(xié)議,其他的還包括OVSDB、ForCES、NETCONF等;北向接口是指控制平面與應(yīng)用平面之間的接口,使用北向接口應(yīng)用程序可以利用控制平面提供的抽象網(wǎng)絡(luò)視圖來促進(jìn)SDN網(wǎng)絡(luò)的自動化,創(chuàng)新及管理,目前北向接口還沒有標(biāo)準(zhǔn)的定義,ONF正在致力于完善這一工作;東西向接口用于多個控制器之間進(jìn)行通信,當(dāng)將SDN控制器部署在大規(guī)模網(wǎng)絡(luò)中時,大量的數(shù)據(jù)流需要控制器處理,由于控制器有限的處理能力,此時大規(guī)模的網(wǎng)絡(luò)就會被分為幾個相對較小的網(wǎng)絡(luò),每一個小型的網(wǎng)絡(luò)有一個自己的控制器,為了向上層應(yīng)用提供全局的網(wǎng)絡(luò)視圖,各個控制器之間需要使用東西向接口交換信息,同北向接口一樣,東西向接口也沒有形成一個統(tǒng)一的標(biāo)準(zhǔn)。
(3)應(yīng)用層平面
應(yīng)用層平面位于SDN架構(gòu)的最頂層,由各種應(yīng)用程序構(gòu)成,這些應(yīng)用程序可以通過北向接口利用控制平面獲得所需的網(wǎng)絡(luò)狀態(tài)信息來提供資源管理以及優(yōu)化功能?;赟DN的應(yīng)用程序可以實(shí)現(xiàn)流量工程,防范分布式拒絕服務(wù)攻擊、容錯管理以及服務(wù)質(zhì)量管理(Quality of Service,QoS)路由機(jī)制。
機(jī)器學(xué)習(xí)是從人工智能領(lǐng)域一系列強(qiáng)大的技術(shù)發(fā)展而來,并廣泛應(yīng)用于數(shù)據(jù)挖掘,使得系統(tǒng)能夠從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到有用的機(jī)構(gòu)模式和模型。機(jī)器學(xué)習(xí)方法通常由兩個主要部分構(gòu)成:訓(xùn)練階段以及決策階段,其具體模式如圖2所示。
圖2 機(jī)器學(xué)習(xí)過程
在訓(xùn)練階段,應(yīng)用機(jī)器學(xué)習(xí)方法來使用訓(xùn)練數(shù)據(jù)集學(xué)習(xí)系統(tǒng)模型,在決策階段,系統(tǒng)可以通過使用訓(xùn)練過的模型針對每一個新的輸入得到一個輸出。通常,機(jī)器學(xué)習(xí)算法可以劃分為四類:有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)以及增強(qiáng)學(xué)習(xí),接下來將分別介紹幾種機(jī)器學(xué)習(xí)類型。
(1)有監(jiān)督學(xué)習(xí)
有監(jiān)督學(xué)習(xí)是一種標(biāo)簽學(xué)習(xí)技術(shù),即將標(biāo)記過的訓(xùn)練數(shù)據(jù)集作為監(jiān)督學(xué)習(xí)算法的輸入和已知的輸出,當(dāng)新的輸入用于該模型時能夠得到所期望的輸出。常用的有監(jiān)督機(jī)器學(xué)習(xí)算法包括:k臨近算法、決策樹、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、貝葉斯算法、隱馬爾可夫模型。在k臨近算法[9]中,如果k個最近鄰居中的大多數(shù)樣本屬于某個類,則為分類的樣本也屬于該類,k值越大,噪聲對分類的影響越小。由于距離是k臨近算法的主要度量參數(shù),因此可以用以下幾個函數(shù)來定義未標(biāo)記樣本之間的距離,如切比雪夫函數(shù)、歐幾里得和歐幾里德平方。
(2)無監(jiān)督學(xué)習(xí)
與有監(jiān)督學(xué)習(xí)相反的是無監(jiān)督學(xué)習(xí)算法,無監(jiān)督學(xué)習(xí)算法是給定為標(biāo)記的樣本數(shù)據(jù),根據(jù)樣本之間的相似性將樣本數(shù)據(jù)聚類到不同的組中,無監(jiān)督學(xué)習(xí)算法常用于聚類和數(shù)據(jù)聚合,常用的無監(jiān)督學(xué)習(xí)算法包括K-means、自組織特征映射算法。
(3)半監(jiān)督學(xué)習(xí)
半監(jiān)督機(jī)器學(xué)習(xí)算法包括標(biāo)記的樣本數(shù)據(jù)以及未標(biāo)記的樣本數(shù)據(jù),半監(jiān)督機(jī)器學(xué)習(xí)算法廣泛使用的原因有以下兩點(diǎn):其一,在很多現(xiàn)實(shí)世界的應(yīng)用中,獲取有標(biāo)記的樣本數(shù)據(jù)成本較大,而獲得未標(biāo)記的樣本數(shù)據(jù)相對容易;其二,在訓(xùn)練過程中,有效使用為標(biāo)記的樣本數(shù)據(jù)可以提高訓(xùn)練模型的性能。為了充分利用未標(biāo)記的樣本數(shù)據(jù),在半監(jiān)督學(xué)習(xí)中有三個常用的基本假設(shè),分別為平滑假設(shè),聚類假設(shè)以及流行假設(shè),對于不同的模型所依賴的假設(shè)也不同。
(4)增強(qiáng)學(xué)習(xí)
增強(qiáng)學(xué)習(xí)就是將情況映射為行為即最大化收益,學(xué)習(xí)者并不是被告知哪種行為要執(zhí)行,而是通過嘗試學(xué)習(xí)到最大增益的行為并付諸行動。增強(qiáng)學(xué)習(xí)不同于監(jiān)督學(xué)習(xí),增強(qiáng)學(xué)習(xí)是試錯學(xué)習(xí),由于沒有最直接的指導(dǎo)信息,智能體要以不斷與環(huán)境進(jìn)行交互,通過試錯的方式來獲得最佳策略。增強(qiáng)學(xué)習(xí)包括代理Agent、狀態(tài)S,以及行動A。當(dāng)將增強(qiáng)學(xué)習(xí)應(yīng)用到SDN中時,控制器相當(dāng)于代理Agent,控制器監(jiān)測網(wǎng)絡(luò)狀態(tài)并作出控制轉(zhuǎn)發(fā)行為的決策。
在SDN架構(gòu)中控制器掌控著整個網(wǎng)絡(luò)視圖,這為管理網(wǎng)絡(luò)帶來了便利,通過數(shù)據(jù)分析,網(wǎng)絡(luò)優(yōu)化,網(wǎng)絡(luò)服務(wù)的自動化配置使得網(wǎng)絡(luò)管理更加智能化。機(jī)器學(xué)習(xí)算法可以使得控制器更加智能,通過使用訓(xùn)練數(shù)據(jù)集得到的模型,根據(jù)不同的網(wǎng)絡(luò)狀態(tài),控制器能夠做出最優(yōu)的決定。在本章節(jié)將分別從流量分類,路徑優(yōu)化以及服務(wù)質(zhì)量管理幾個方面分別進(jìn)行闡述機(jī)器學(xué)習(xí)算法在SDN架構(gòu)中的應(yīng)用。
流量分類對于網(wǎng)絡(luò)運(yùn)營商而言具有重要的作用,它提供了更細(xì)粒度的網(wǎng)絡(luò)管理,根據(jù)識別出不同的流量類型,網(wǎng)絡(luò)運(yùn)營商就可以更有效地處理不同的服務(wù)以及分配網(wǎng)絡(luò)資源。廣泛使用的流量分類技術(shù)有基于端口的技術(shù),深度報文檢測(Deep Packet Inspection,DPI)技術(shù)以及機(jī)器學(xué)習(xí)方法?;诙丝谔柕姆诸惣夹g(shù)在過去經(jīng)常被使用,例如熟知的80號端口號,現(xiàn)在大多數(shù)應(yīng)用使用的是動態(tài)端口號,基于端口號的技術(shù)使用受到限制。深度報文檢測技術(shù)需要使用正則表達(dá)式定義流量模式,然后將流量的有效載荷與預(yù)定義模式進(jìn)行匹配,識別流量所屬的應(yīng)用程序,基于深度報文檢測的分類模式具有較高的準(zhǔn)確度。但是,該模式也有一定的缺點(diǎn),首先DPI模式只能識別模式可用的應(yīng)用程序,但隨著移動互聯(lián)網(wǎng)浪潮的快速發(fā)展,應(yīng)用程序的數(shù)量呈現(xiàn)出指數(shù)級的增長,這使得模式更新變得異常苦難;其次,由于需要核實(shí)所有的業(yè)務(wù)流,因此DPI技術(shù)方案會帶來較高的計算成本。最后,當(dāng)互聯(lián)網(wǎng)上的數(shù)據(jù)流經(jīng)過加密后,DPI方案就難以適用。基于機(jī)器學(xué)習(xí)的方法能夠正確識別加密流量,相比于DPI方法機(jī)器學(xué)習(xí)技術(shù)具有更低的計算成本。因此,機(jī)器學(xué)習(xí)方法受到了大家的廣泛研究。適用機(jī)器學(xué)習(xí)的方法進(jìn)行流量分類工作,首先需要收集大量的數(shù)據(jù)集,然后應(yīng)用機(jī)器學(xué)習(xí)方法在數(shù)據(jù)集中提取有用的特征,在SDN網(wǎng)絡(luò)架構(gòu)中,控制器具有全局網(wǎng)絡(luò)視圖,便于流量的收集和分析,因此基于機(jī)器學(xué)習(xí)的方法通常在控制器中實(shí)現(xiàn)。關(guān)于ML應(yīng)用于流量分類,許多研究進(jìn)行了相關(guān)工作,例如大象流感知的分類、應(yīng)用感知以及QoS感知的分類研究。在文獻(xiàn)[10]中研究了在混合數(shù)據(jù)中心網(wǎng)絡(luò)中的數(shù)據(jù)流量調(diào)度問題,首先在邊緣網(wǎng)絡(luò)使用機(jī)器學(xué)習(xí)技術(shù)識別大象流,其次,控制器對識別到的大象流采用流量調(diào)度優(yōu)化算法。在文獻(xiàn)[11]中提出了一種檢測大象流的成本敏感型的學(xué)習(xí)方法。該方法由兩個階段構(gòu)成,在第一階段使用數(shù)據(jù)包頭部檢測技術(shù)識別出可以的大象流,在第二階段使用決策樹的方法分析可疑大象流是否為大象流[12]。由于大象流在數(shù)據(jù)中心消耗了80%的帶寬,因此識別大象流的研究具有重要的應(yīng)用價值。文獻(xiàn)[13]中提出的方法使用SVM算法識別于基于UDP協(xié)議的應(yīng)用程序,實(shí)驗(yàn)結(jié)果顯示基于SVM的機(jī)器學(xué)習(xí)方法的精確度在90%以上。文獻(xiàn)[14]中設(shè)計了細(xì)粒度的移動應(yīng)用流量分類系統(tǒng),在該系統(tǒng)中使用了決策樹分類算法以及k-NN算法。在文獻(xiàn)[15]中使用了DPI以及半監(jiān)督學(xué)習(xí)方法進(jìn)行QoS感知的流量分類,其中DPI用來標(biāo)記部分已知的應(yīng)用,然后使用標(biāo)記過的訓(xùn)練數(shù)據(jù)集當(dāng)做半監(jiān)督機(jī)器學(xué)習(xí)算法的輸入,實(shí)驗(yàn)結(jié)果顯示該方法具有高于90%的分類精確度。
路由是整個網(wǎng)絡(luò)體系架構(gòu)中的重要組成部分,在SDN網(wǎng)絡(luò)架構(gòu)中,控制器通過修改流表項(xiàng)的方式來達(dá)到丟棄數(shù)據(jù)包或者使得數(shù)據(jù)流量通過某條特定的路徑,低效的路徑選擇策略會造成鏈路負(fù)載加重,增大端到端的鏈路時延,從而影響到整個網(wǎng)絡(luò)的性能。因此,研究如何優(yōu)化數(shù)據(jù)流量的路徑選擇具有重要的意義。最短路徑優(yōu)先(Shortest Path First,SPF)算法以及啟發(fā)式算法是兩類廣泛使用的路由算法。SPF算法是一種盡力而為的一種路由算法,但該算法并沒有考慮到充分利用網(wǎng)絡(luò)資源。啟發(fā)式算法是另一種解決路徑優(yōu)化問題的一種方法,但啟發(fā)式算法的劣勢是計算復(fù)雜,消耗大量的計算資源以及時間。在SDN網(wǎng)絡(luò)架構(gòu)中,控制器負(fù)責(zé)每條數(shù)據(jù)流制定相應(yīng)的路徑策略,在這樣的情境下啟發(fā)式算法會增大控制器的計算負(fù)擔(dān),因此許多學(xué)者開始研究將機(jī)器學(xué)習(xí)算法應(yīng)用于路徑優(yōu)化問題的解決中,相比于啟發(fā)式算法,基于機(jī)器學(xué)習(xí)的路徑優(yōu)化算法有以下幾個優(yōu)勢:首先,當(dāng)模型訓(xùn)練完成后能夠快速的給出接近最優(yōu)的路徑,其次,機(jī)器學(xué)習(xí)算法不需要底層網(wǎng)絡(luò)的數(shù)學(xué)模型。路徑優(yōu)化為題可以轉(zhuǎn)化為決策問題,因此增強(qiáng)學(xué)習(xí)使用于解決路徑優(yōu)化問題,有監(jiān)督學(xué)習(xí)算法在SDN網(wǎng)絡(luò)架構(gòu)中的路徑優(yōu)化問題中也有應(yīng)用。
(1)基于有監(jiān)督學(xué)習(xí)的路徑優(yōu)化方法
有標(biāo)簽的數(shù)據(jù)集是有監(jiān)督學(xué)習(xí)算法的基礎(chǔ),在應(yīng)用有監(jiān)督機(jī)器學(xué)習(xí)算法時,通常將網(wǎng)絡(luò)狀態(tài)及流量狀態(tài)作為訓(xùn)練數(shù)據(jù)集的輸入,路由策略作為該算法的輸出,通過訓(xùn)練有監(jiān)督學(xué)習(xí)算法模型,能夠?qū)崟r獲得類似于啟發(fā)式算法的路由策略。文獻(xiàn)[16]提出了一個動態(tài)路由解決框架NeuRoute,在NeuRoute中LSTM被用來評估未來的網(wǎng)絡(luò)流量,網(wǎng)絡(luò)狀態(tài)以及評估的網(wǎng)絡(luò)流量作為輸入,由啟發(fā)式算法計算出的路由作為輸出,這些數(shù)據(jù)集被用來訓(xùn)練神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到的模型可以用來獲得實(shí)時的類似于啟發(fā)式的路由算法。
(2)基于增強(qiáng)學(xué)習(xí)的路徑優(yōu)化方法
增強(qiáng)學(xué)習(xí)算法一般用于解決制定決策問題,將增強(qiáng)學(xué)習(xí)應(yīng)用于路由優(yōu)化問題時,控制器相當(dāng)于代理,網(wǎng)絡(luò)相當(dāng)于環(huán)境,網(wǎng)絡(luò)拓?fù)湟约傲髁繝顟B(tài)相當(dāng)于狀態(tài)空間,路由解決方案相當(dāng)于動作。獎勵由基于優(yōu)化的度量標(biāo)準(zhǔn)例如時延來充當(dāng)。文獻(xiàn)[17]中提出了使用增強(qiáng)學(xué)習(xí)辦法的分布式智能路由協(xié)議,該智能路由協(xié)議能夠根據(jù)網(wǎng)絡(luò)狀態(tài)選擇最優(yōu)的數(shù)據(jù)傳輸路徑。文獻(xiàn)[18]中使用神經(jīng)網(wǎng)絡(luò)以及增強(qiáng)學(xué)習(xí)實(shí)現(xiàn)數(shù)據(jù)中心之間的路徑優(yōu)化機(jī)制,實(shí)驗(yàn)表明即使在混沌網(wǎng)絡(luò)環(huán)境中依舊能夠保證良好的性能。文獻(xiàn)[19]中使用DRL模型優(yōu)化路徑,DRL模型的目標(biāo)為在流量矩陣中對于給定的源和目的對之間選擇網(wǎng)絡(luò)時延最小的路由。
QoS參數(shù)包括丟包率、時延、時延抖動以及吞吐量,這些網(wǎng)絡(luò)度量指標(biāo)通常被網(wǎng)絡(luò)運(yùn)營商用來評估網(wǎng)絡(luò)性能;隨著多媒體技術(shù)的普及,對于網(wǎng)絡(luò)運(yùn)營商以及服務(wù)提供商而言,用戶感知以及滿意度變得越來越重要,這一衡量指標(biāo)稱為QoE?;赒oS或者QoE預(yù)測,網(wǎng)絡(luò)運(yùn)營商以及服務(wù)提供商可以為用戶提供更好的服務(wù)質(zhì)量,增加用戶的滿意程度。文獻(xiàn)[20]中提出了在SDN架構(gòu)中基于兩個階段的分析機(jī)制來提高QoS預(yù)測質(zhì)量,首先,使用決策樹發(fā)現(xiàn)關(guān)鍵績效指標(biāo)(Key Performance Indicators,KPI)和QoS參數(shù)之間的相關(guān)性,然后應(yīng)用線性回歸機(jī)器學(xué)習(xí)方法發(fā)現(xiàn)每個KPI的定量影響。由于QoE值高度依賴QoS參數(shù),因此理解QoS參數(shù)如何影響QoE值是至關(guān)重要的,機(jī)器學(xué)習(xí)可以作為一種有效的方法來學(xué)習(xí)QoS參數(shù)與QoE值之間的關(guān)系。由于QoE值是離散的,因此可以把QoE預(yù)測當(dāng)做分類任務(wù),因此預(yù)測QoE的最好方法是使用有監(jiān)督學(xué)習(xí)。在文獻(xiàn)[21]中基于視頻質(zhì)量參數(shù)(SSIM和VQM)使用了四種機(jī)器學(xué)習(xí)方法來預(yù)測QoE值,并使用皮爾遜相關(guān)系數(shù)以及根均方誤差來評估算法的性能。
盡管當(dāng)前已有很多工作在SDN架構(gòu)中實(shí)現(xiàn),但對于該領(lǐng)域所要求的魯棒性以及成熟度而言,在全面實(shí)施SDN架構(gòu)智能化之前,仍有許多工作要做,仍有很多挑戰(zhàn)需要面對和解決。首先,由于數(shù)據(jù)集是機(jī)器學(xué)習(xí)算法的重要基礎(chǔ),因此需要高質(zhì)量的訓(xùn)練數(shù)據(jù)集合。為了使得訓(xùn)練得到的模型能夠更精確地實(shí)現(xiàn)評估與分類,必須需要足夠的數(shù)據(jù)集。那么什么是足夠的訓(xùn)練數(shù)據(jù)集呢?針對該問題,需要研究訓(xùn)練數(shù)據(jù)集大小,網(wǎng)絡(luò)特征以及機(jī)器學(xué)習(xí)模型性能之間的關(guān)系。另外,機(jī)器學(xué)習(xí)算法得到的模型也嚴(yán)重依賴于訓(xùn)練數(shù)據(jù)集的質(zhì)量。然而,獲得高質(zhì)量、有標(biāo)簽的樣本數(shù)據(jù)難度較大,為了解決這一問題,一個可行的辦法是使用公開數(shù)據(jù)集,在眾多機(jī)器學(xué)習(xí)方案中也是通用的做法。其二,分布式多控制器平臺。在SDN架構(gòu)中網(wǎng)絡(luò)的可擴(kuò)展性是一個關(guān)鍵問題,當(dāng)網(wǎng)絡(luò)規(guī)模較小時,一個單獨(dú)的控制器基本可以滿足需求,但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,由于單個控制器的計算能力有限,控制器不能夠滿足需求。文獻(xiàn)[22]提到了分布式多控制器平臺解決網(wǎng)絡(luò)可擴(kuò)展性問題。一般而言,分布式多控制器平臺是由一個根控制器以及幾個域內(nèi)控制器構(gòu)成,根控制器掌控著整個網(wǎng)絡(luò)的拓?fù)湟晥D,而域內(nèi)控制器掌控著單個域內(nèi)的網(wǎng)絡(luò)拓?fù)湟晥D。為了達(dá)到優(yōu)化域內(nèi)路由以及域間路由的目的,可以使用多層級的增強(qiáng)學(xué)習(xí)算法。第三,網(wǎng)絡(luò)中的安全性問題。數(shù)據(jù)轉(zhuǎn)發(fā)平面與控制平面的解耦使得網(wǎng)絡(luò)管理變得更加靈活多樣,但同樣也帶來了安全隱患,攻擊者可以使用DDoS攻擊的方式占用控制器的計算資源,使得控制器無法管理網(wǎng)絡(luò)資源,造成整個網(wǎng)絡(luò)癱瘓。針對網(wǎng)絡(luò)安全問題,文獻(xiàn)[23]提出了基于熵和神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測方法,文獻(xiàn)[24]中提出了GAN方法來預(yù)測新的攻擊。
本文分別介紹了SDN網(wǎng)絡(luò)架構(gòu),機(jī)器學(xué)習(xí)算法以及機(jī)器學(xué)習(xí)算法在SDN架構(gòu)中的應(yīng)用,包括流量分類、路徑優(yōu)化、QoS/QoE預(yù)測。此外本文還闡述了機(jī)器學(xué)習(xí)算法在SDN架構(gòu)應(yīng)用中所面臨的挑戰(zhàn),包括高質(zhì)量數(shù)據(jù)集,分布式控制其平臺以及網(wǎng)絡(luò)安全問題。本文旨在探索機(jī)器學(xué)習(xí)算法如何執(zhí)行以及如何將機(jī)器學(xué)習(xí)算法與SDN架構(gòu)相融合,希望為SDN廣泛部署以及實(shí)現(xiàn)更加智能化的網(wǎng)絡(luò)做出一份貢獻(xiàn)。