亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        可編程數(shù)據(jù)平面下基于DDPG的路由優(yōu)化方法

        2022-02-24 12:33:22周建國
        計算機(jī)工程與應(yīng)用 2022年3期
        關(guān)鍵詞:權(quán)值交換機(jī)數(shù)據(jù)包

        徐 博,周建國,吳 靜,羅 威

        1.武漢大學(xué) 電子信息學(xué)院,武漢 430072

        2.中國艦船研究設(shè)計中心,武漢 430064

        軟件定義網(wǎng)絡(luò)(software-defined network,SDN)由于其轉(zhuǎn)控分離、軟件可編程和開放接口等特性,正變得越來越受歡迎。在使用OpenFlow的SDN框架下,數(shù)據(jù)平面處理數(shù)據(jù)包時的匹配域是協(xié)議相關(guān)的,并具有固定動作集,軟件可編程僅局限于控制平面。為了進(jìn)一步提高網(wǎng)絡(luò)的可編程性和開放程度,McKeown等人提出了可編程數(shù)據(jù)平面和可編程協(xié)議無關(guān)報文處理語言P4,以及相應(yīng)的抽象轉(zhuǎn)發(fā)模型RMT[1]。RMT模型主要由用于解析數(shù)據(jù)包包頭的解析器、多級匹配動作表和多個緩存隊列組成。P4語言能夠?qū)MT模型中的解析器和匹配動作表進(jìn)行編程,從而使網(wǎng)絡(luò)管理者能夠?qū)?shù)據(jù)平面的數(shù)據(jù)包處理邏輯和行為進(jìn)行深度定制。同時,新的南向協(xié)議P4Runtime被提出來。

        在具有可編程數(shù)據(jù)平面的SDN框架下,控制平面不僅擁有全網(wǎng)視圖,還可以通過編程對網(wǎng)絡(luò)行為進(jìn)行靈活的配置和管理。處于數(shù)據(jù)平面的交換設(shè)備可以只根據(jù)P4程序完成數(shù)據(jù)包的解析、修改和轉(zhuǎn)發(fā),傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下交換設(shè)備需要完成的路由算法可以作為一個應(yīng)用單獨運行在具有更強(qiáng)通用算力的控制平面上,這使得部署更復(fù)雜的路由算法成為可能。

        近年來,機(jī)器學(xué)習(xí)方法在圖像識別、自然語言處理等領(lǐng)域得到了十分廣泛的應(yīng)用。機(jī)器學(xué)習(xí)方法不需要對問題進(jìn)行復(fù)雜的假設(shè)和精確的數(shù)學(xué)建模,經(jīng)過訓(xùn)練的機(jī)器學(xué)習(xí)模型能夠?qū)⑷我廨斎胗成涞酱_定的輸出,得到局部最優(yōu)解。因此利用機(jī)器學(xué)習(xí)方法進(jìn)行路由優(yōu)化,將使網(wǎng)絡(luò)變得更加智能。目前,用于路由優(yōu)化的機(jī)器學(xué)習(xí)算法主要是監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí),由于SDN網(wǎng)絡(luò)下的路由優(yōu)化問題可以看成是在給定網(wǎng)絡(luò)環(huán)境狀態(tài)下的決策問題,因此更適合使用強(qiáng)化學(xué)習(xí)方法求解[2-3]。

        文獻(xiàn)[4]提出在SDN網(wǎng)絡(luò)下實現(xiàn)基于強(qiáng)化學(xué)習(xí)的智能路由協(xié)議,但沒有使用SDN控制器進(jìn)行路由決策,而是采用傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下的分布式自適應(yīng)路由,并且通過修改模擬軟件將智能算法添加到路由協(xié)議中,無法在實際物理網(wǎng)絡(luò)中部署。文獻(xiàn)[5]提出了一種基于深度強(qiáng)化學(xué)習(xí)的、由經(jīng)驗驅(qū)動的控制框架DRL-TE,用于解決通信網(wǎng)絡(luò)中的流量工程問題。實驗結(jié)果表明,相比于廣泛使用的最短路徑、負(fù)載均衡等方法,DRL-TE能夠提供更好的吞吐量,并顯著降低端到端的總時延,體現(xiàn)了使用強(qiáng)化學(xué)習(xí)解決網(wǎng)絡(luò)問題的優(yōu)勢。文獻(xiàn)[6]將深度強(qiáng)化學(xué)習(xí)算法DDPG與長短期記憶網(wǎng)絡(luò)LSTM結(jié)合在一起,用于增強(qiáng)路由算法對流之間上下文相關(guān)性的感知能力,以適應(yīng)空間-地面集成網(wǎng)絡(luò)環(huán)境下不斷變化的流和鏈路狀態(tài)。

        受固定功能交換機(jī)的限制,在不具備可編程數(shù)據(jù)平面的SDN環(huán)境下利用強(qiáng)化學(xué)習(xí)進(jìn)行路由優(yōu)化的研究[7-11]多采用流量矩陣等作為強(qiáng)化學(xué)習(xí)模型的狀態(tài)輸入,只考慮到了網(wǎng)絡(luò)中的流量特征和鏈路狀況,忽視了交換機(jī)對路由決策的影響。同時,通過粗粒度、不精確的測量方法獲得狀態(tài)參數(shù)不能真實準(zhǔn)確地反映網(wǎng)絡(luò)狀態(tài),容易導(dǎo)致強(qiáng)化學(xué)習(xí)出現(xiàn)決策偏差,使路由性能受限。同時,最終得到的路由路徑多為單路徑,沒有有效利用網(wǎng)絡(luò)中的多條端到端傳輸路徑,導(dǎo)致網(wǎng)絡(luò)吞吐量較低,資源利用率不夠,容易造成網(wǎng)絡(luò)擁塞,丟包率和傳輸時延增加。

        本文針對SDN架構(gòu)下進(jìn)行路由優(yōu)化存在的上述問題,利用具有可編程數(shù)據(jù)平面的SDN交換機(jī),設(shè)計了一種基于強(qiáng)化學(xué)習(xí)的多路徑路由機(jī)制,具體而言主要是:

        (1)利用可編程數(shù)據(jù)平面和P4Runtime協(xié)議,設(shè)計了一種新的細(xì)粒度、高精度的網(wǎng)絡(luò)測量方法,使控制器可以靈活獲取當(dāng)前網(wǎng)絡(luò)中交換機(jī)的狀態(tài)參數(shù)。

        (2)引入深度強(qiáng)化學(xué)習(xí)算法DDPG,根據(jù)網(wǎng)絡(luò)測量獲得的網(wǎng)狀狀態(tài)參數(shù)和路由優(yōu)化目標(biāo)確定網(wǎng)絡(luò)中每條鏈路用于路由選擇的權(quán)值。

        (3)在數(shù)據(jù)中心網(wǎng)絡(luò)下,利用具有可編程數(shù)據(jù)平面的交換機(jī)設(shè)計了一種新的源路由協(xié)議,以實現(xiàn)多路徑路由,進(jìn)一步提高網(wǎng)絡(luò)吞吐量,降低傳輸時延,同時減小數(shù)據(jù)平面和控制平面之間的南向通信開銷。

        1 路由優(yōu)化方法

        本文研究的路由優(yōu)化問題表述如下:考慮一個具有K個端到端通信會話的網(wǎng)絡(luò),其中每個通信會話k由其五元組信息,即源IP地址、目的IP地址、傳輸層協(xié)議、源端口和目的端口標(biāo)識,本文需要解決的問題是在網(wǎng)絡(luò)中一組連接源節(jié)點和目的節(jié)點的可選路徑中,選擇路徑權(quán)值最大的路徑p ik作為路由路徑,使會話k的吞吐量最大,并降低時延和丟包率,其中w k i,j=f(P k)表示由某種方法f得到的會話k的第i條可選路徑上的第j個鏈路的權(quán)值。

        為了解決上述問題,本文在具有可編程數(shù)據(jù)平面的數(shù)據(jù)中心網(wǎng)絡(luò)下提出了一種基于強(qiáng)化學(xué)習(xí)和多路徑傳輸?shù)穆酚蓛?yōu)化方法。如圖1所示,該方法主要由四個部分組成,分別是網(wǎng)絡(luò)狀態(tài)感知、鏈路權(quán)值計算、多路徑路由計算和流表規(guī)則下發(fā),本章將對這四個部分做設(shè)計分析,并描述其主要實現(xiàn)過程。

        圖1 總體結(jié)構(gòu)圖Fig.1 Overall structure diagram

        1.1 網(wǎng)絡(luò)狀態(tài)感知

        傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下,網(wǎng)絡(luò)管理員一般通過Sflow、Netflow等工具在網(wǎng)絡(luò)邊緣的終端設(shè)備來間接獲取滯后且不精確的網(wǎng)絡(luò)測量數(shù)據(jù)??删幊虜?shù)據(jù)平面的出現(xiàn)為自定義交換機(jī)數(shù)據(jù)包處理邏輯提供了更大的靈活度。Kim等人提出了INT測量方法[12],該方法是基于路徑的,通過在數(shù)據(jù)包中設(shè)置指示位,可編程交換機(jī)解析到該指示位之后,將選擇的交換機(jī)的內(nèi)部元數(shù)據(jù)(例如隊列深度、排隊時延等)或自定義數(shù)據(jù)(例如丟包個數(shù)、傳輸?shù)牧髁看笮〉龋┣度胫翑?shù)據(jù)包中,并在路徑終端解析數(shù)據(jù)包,提取相關(guān)數(shù)據(jù)。該方法需要在網(wǎng)絡(luò)的入口和出口處設(shè)置額外主機(jī)用于注入和提取INT信息,同時基于路徑的方式使得INT難以快速獲取全網(wǎng)數(shù)據(jù),且將遙測指令和數(shù)據(jù)封裝到正常數(shù)據(jù)包中會產(chǎn)生較高的探測開銷和部署運維復(fù)雜性[13]。為了克服INT方法存在的問題,同時保留其靈活、細(xì)粒度特性,本文設(shè)計了一種基于設(shè)備的輪詢式測量方法,用于獲取網(wǎng)絡(luò)狀態(tài)參數(shù)。

        如圖2所示,SDN控制器使用P4Runtime南向協(xié)議向指定的可編程交換機(jī)發(fā)送自定義的PacketOut消息,該消息由攜帶指令的元數(shù)據(jù)包頭和空負(fù)載組成。為了區(qū)分不同功能的PacketOut消息,在元數(shù)據(jù)報頭中設(shè)置一個用于指示消息類型的字段req_t,其值為1時表示該消息為控制器向數(shù)據(jù)平面發(fā)送的測量請求。為了根據(jù)需要獲取指定的測量數(shù)據(jù),將需要的測量項以Bitmap的形式編碼,作為元數(shù)據(jù)報頭中的第二個字段inst。Bitmap中的每一位與可編程交換機(jī)提供的測量項相關(guān)聯(lián),值為1時表示控制器需要該項測量數(shù)據(jù)。根據(jù)測量項與路由選擇的相關(guān)性,本文選擇的測量項如表1所示。

        圖2 網(wǎng)絡(luò)參數(shù)獲取Fig.2 Network parameter acquisition

        表1 測量項編碼Table 1 Measurement item coding

        PacketOut消息通過P4Runtime發(fā)送至運行在可編程交換機(jī)CPU上的P4Runtime服務(wù)器端,服務(wù)器端再通過CPU_PORT將元數(shù)據(jù)和負(fù)載以數(shù)據(jù)包的形式發(fā)送至可編程交換芯片。可編程交換芯片收到來自控制器的數(shù)據(jù)包后,根據(jù)解析得到信息類型req_t和測量項inst,將相應(yīng)的測量數(shù)據(jù)封裝至數(shù)據(jù)包中并發(fā)送至CPU_PORT。服務(wù)器端將該數(shù)據(jù)包通過P4Runtime中的PacketIn信息發(fā)送至控制器。與PacketOut消息一致,PacketIn消息也是由元數(shù)據(jù)和負(fù)載組成,但由于測量項是不確定的,因此將測量數(shù)據(jù)作為PacketIn消息的負(fù)載,元數(shù)據(jù)僅包含指示該PacketIn消息類型的字段res_t。

        為了獲取交換機(jī)端口網(wǎng)絡(luò)流的發(fā)送速率,在P4程序中為交換機(jī)的每一個端口定義一個計數(shù)器,在處理數(shù)據(jù)包時計算其五元組的哈希值,值相等的數(shù)據(jù)包屬于同一個網(wǎng)絡(luò)流。以哈希值作為網(wǎng)絡(luò)流轉(zhuǎn)發(fā)端口的計數(shù)器的索引,記錄端口轉(zhuǎn)發(fā)的該網(wǎng)絡(luò)流的總字節(jié)數(shù)??刂破魍ㄟ^P4Runtime定時地讀取計數(shù)器值,即可計算出每個網(wǎng)絡(luò)流和每個端口的數(shù)據(jù)發(fā)送速率,再根據(jù)端口帶寬計算得到鏈路利用率。在可編程數(shù)據(jù)平面上實現(xiàn)上述方法的算法如算法1所示。

        上述方法不需要引入新的測量工具,測量任務(wù)直接由交換機(jī)芯片以線速轉(zhuǎn)發(fā)的方式完成,能夠在降低資源消耗的同時實現(xiàn)包級細(xì)粒度測量。并且控制器可以根據(jù)應(yīng)用需求選擇需要測量的交換機(jī)、測量時間和測量項,具有較高的靈活性。

        1.2 鏈路權(quán)值計算

        本文的鏈路權(quán)值是對網(wǎng)絡(luò)中交換機(jī)和對應(yīng)鏈路組成的網(wǎng)絡(luò)基本轉(zhuǎn)發(fā)單元的綜合剩余負(fù)載能力的描述,區(qū)別于僅以帶寬表征負(fù)載能力,此處綜合考慮網(wǎng)絡(luò)測量得到的多個指標(biāo):交換機(jī)處理時延、交換機(jī)隊列深度、鏈路利用率等。鏈路權(quán)值計算是根據(jù)上述多個測量指標(biāo)組成的網(wǎng)絡(luò)狀態(tài)描述,得到確定輸出值的回歸問題,可以使用機(jī)器學(xué)習(xí)方法。由于SDN網(wǎng)絡(luò)下的路由優(yōu)化問題可以看成是在給定網(wǎng)絡(luò)環(huán)境狀態(tài)下的決策問題,因此更適合使用機(jī)器學(xué)習(xí)方法中的強(qiáng)化學(xué)習(xí)方法求解[2-3]。

        強(qiáng)化學(xué)習(xí)主要用于解決智能體通過與動態(tài)環(huán)境不斷交互來學(xué)習(xí)其行為的問題。具體而言如圖3所示,智能體在每個時間點t獲得環(huán)境的當(dāng)前狀態(tài)s t,并依據(jù)某一策略函數(shù)π執(zhí)行行動a,使環(huán)境轉(zhuǎn)移到另一個狀態(tài)s t+1,同時收到環(huán)境反饋的獎勵r t。強(qiáng)化學(xué)習(xí)的目標(biāo)是尋找到一個最優(yōu)策略π*:s→a,能最大化長期折扣獎勵(回報):

        圖3 強(qiáng)化學(xué)習(xí)模型Fig.3 Reinforcement learning model

        其中,γ∈[0,1]為獎勵衰減系數(shù),表示對長期獎勵的關(guān)注程度。為了評估不同策略的優(yōu)劣程度,強(qiáng)化學(xué)習(xí)定義了值函數(shù)Q來表示給定策略下期望獲得的回報,例如動作值函數(shù):

        表示智能體在狀態(tài)s下依據(jù)策略π采取行動a后獲得的期望回報。

        在文本研究的SDN網(wǎng)絡(luò)路由優(yōu)化問題中,環(huán)境為部署了可編程交換機(jī)的SDN網(wǎng)絡(luò),智能體為控制器,狀態(tài)、動作和獎勵的具體定義如下:

        狀態(tài):利用1.1節(jié)提出的網(wǎng)絡(luò)測量方法,控制器在某一時刻t進(jìn)行一次網(wǎng)絡(luò)測量后可以獲得當(dāng)前時刻交換機(jī)的內(nèi)部狀態(tài)參數(shù)和鏈路利用率,這些測量數(shù)據(jù)是對當(dāng)前網(wǎng)絡(luò)狀態(tài)的描述,可用作DDPG模型的狀態(tài)輸入,表示為s t=[dt,qd t,qt,ut],其中dt表示t時刻各交換機(jī)的處理時延,由進(jìn)出交換機(jī)時間戳相減可得,qd t表示t時刻各交換機(jī)的平均隊列深度,為進(jìn)出交換機(jī)隊列時隊列深度的平均值,q t表示t時刻各交換機(jī)的排隊時延,u t表示t時刻可選路徑上各鏈路的鏈路利用率。

        動作:使用強(qiáng)化學(xué)習(xí)解決路由優(yōu)化問題時,最直接的動作是輸出某個流在全網(wǎng)的路由表項,再由控制器下發(fā)至交換機(jī)中,但隨著網(wǎng)絡(luò)規(guī)模的增大,路由表項的數(shù)量將會出現(xiàn)指數(shù)爆炸問題[14]。一個可行的動作是改變網(wǎng)絡(luò)鏈路的權(quán)值,控制器再通過其他方法確定路由路徑,本文采用該方法,即將DDPG模型的輸出表示為a t=[w1,t,w2,t,…,w|P k|,t],其中w i,t表示t時刻第i條可選路徑上各鏈路權(quán)值構(gòu)成的向量。該方法的另一個好處是控制器可以根據(jù)鏈路權(quán)值靈活確定路由方式,例如使用多路徑路由。

        獎勵:強(qiáng)化學(xué)習(xí)中的獎勵是對上一次動作,此處為設(shè)置的鏈路權(quán)重的優(yōu)劣程度的評價,隱式地定了學(xué)習(xí)的目標(biāo)。當(dāng)由鏈路權(quán)值得到路由路徑的策略確定時,鏈路權(quán)值的優(yōu)劣與網(wǎng)絡(luò)性能的優(yōu)劣正相關(guān)。本文路由優(yōu)化的目標(biāo)是提高網(wǎng)絡(luò)性能,即提高網(wǎng)絡(luò)中所有數(shù)據(jù)流的平均吞吐量Tt并降低端到端平均時延Dt和平均丟包率L t,因此可以將DDPG模型的獎勵定義為:

        其中,α,β,θ∈[0,1]是各個優(yōu)化目標(biāo)的權(quán)重,由路由策略決定,本文中令其全等于1。

        經(jīng)典的強(qiáng)化學(xué)習(xí)方法,例如Q-Learning等使用的狀態(tài)/動作空間是離散且小規(guī)模的,通常將值函數(shù)存儲為表格的形式。但在網(wǎng)絡(luò)路由優(yōu)化問題中,狀態(tài)和動作空間的維數(shù)很大,存儲這些信息需要巨大的存儲空間,且查表時間也會顯著增加。在某些情況下,狀態(tài)和動作空間甚至是連續(xù)的,無法用表格表示。深度強(qiáng)化學(xué)習(xí)使用深層神經(jīng)網(wǎng)絡(luò)做值函數(shù)近似,能夠解決上述問題[15]。

        深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)的感知能力與強(qiáng)化學(xué)習(xí)的決策能力結(jié)合起來。但是基于價值的深度強(qiáng)化學(xué)習(xí)機(jī)制如深度Q網(wǎng)絡(luò)(deep Q network,DQN),不能解決連續(xù)動作的建模和控制,不適合動態(tài)實時的網(wǎng)絡(luò)系統(tǒng)。基于策略的方法如確定性策略梯度(deterministic policy gradient,DPG),可以實現(xiàn)連續(xù)時間的控制與優(yōu)化,但僅對線性函數(shù)生成策略函數(shù),且存過擬合問題[9]。為了解決這些問題,DeepMind將DQN方法和DPG方法結(jié)合在一個Actor-Critic框架中,提出了DDPG[16]方法,實現(xiàn)了高效穩(wěn)定的連續(xù)動作控制,適合于求解網(wǎng)絡(luò)路由優(yōu)化問題。

        圖4為DDPG框架,圖中μ和Q分別表示神經(jīng)網(wǎng)絡(luò)生成的確定性策略函數(shù)和Q函數(shù)。其中Actor模塊采用DPG方法,Critic模塊采用DQN方法。兩個模塊都是由用于訓(xùn)練和學(xué)習(xí)的在線網(wǎng)絡(luò)和用于防止訓(xùn)練數(shù)據(jù)相關(guān)性的目標(biāo)網(wǎng)絡(luò)組成,兩個網(wǎng)絡(luò)的初始參數(shù)和結(jié)構(gòu)完全相同,在線網(wǎng)絡(luò)定期地用自身參數(shù)更新目標(biāo)網(wǎng)絡(luò)的參數(shù)。DDPG在訓(xùn)練期間會將每次與環(huán)境交互的信息存儲在經(jīng)驗池中,并通過在經(jīng)驗池中隨機(jī)采樣得到神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本。

        圖4 DDPG框架Fig.4 DDPG framework

        DDPG中四個網(wǎng)絡(luò)的功能描述如下[16]:

        Actor在線網(wǎng)絡(luò):根據(jù)當(dāng)前狀態(tài)s t和策略函數(shù)μ選擇動作at=μ(s t|θμ)與環(huán)境交互得到s t+1和rt,并依據(jù)損失梯度?θμJ更新策略網(wǎng)絡(luò)參數(shù)θμ。

        Actor目標(biāo)網(wǎng)絡(luò):根據(jù)從經(jīng)驗池中采樣得到的每個樣本的樣本狀態(tài)s i+1選擇動作

        Critic目標(biāo)網(wǎng)絡(luò):計算目標(biāo)Q值

        1.3 多路徑路由計算

        由于SDN網(wǎng)絡(luò)架構(gòu)可以實現(xiàn)靈活的集中控制,因此被廣泛應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò)。數(shù)據(jù)中心網(wǎng)絡(luò)的流量主要是由分布式存儲和計算產(chǎn)生的內(nèi)部流量,因此多采用Fat-Tree、Leaf-Spine等高連通度網(wǎng)絡(luò)拓?fù)鋄17]。在這類網(wǎng)絡(luò)拓?fù)渲校我鈨膳_服務(wù)器之間存在多條物理路徑,而傳統(tǒng)單路徑路由機(jī)制無法有效利用多條端到端的傳輸路徑,導(dǎo)致網(wǎng)絡(luò)吞吐量較低,資源利用率不夠,容易造成網(wǎng)絡(luò)擁塞,丟包率和傳輸時延增加。一個可行的辦法是使用等價多路徑路由(equal-cost multi-path,ECMP),通過計算數(shù)據(jù)流的五元組的哈希值,再根據(jù)哈希值在多個與目的節(jié)點具有相同最小跳數(shù)的下一跳中隨機(jī)選擇。ECMP方法沒有考慮鏈路和流量的差異性,不能充分利用網(wǎng)絡(luò)資源,容易造成網(wǎng)絡(luò)負(fù)載失衡[18]。得益于可編程數(shù)據(jù)平面的靈活性和SDN的集中控制特性,本文針對于數(shù)據(jù)中心的Leaf-Spine網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計了一種新的加權(quán)多路徑路由,用于提高網(wǎng)絡(luò)資源利用率。

        在Leaf-Spine網(wǎng)絡(luò)結(jié)構(gòu)下,當(dāng)與主機(jī)相連的Leaf交換機(jī)收到一個數(shù)據(jù)包后,計算其五元組的哈希值,具有相同哈希值的數(shù)據(jù)包屬于同一個網(wǎng)絡(luò)流,本文對流進(jìn)行路由調(diào)度。當(dāng)一條新流進(jìn)入網(wǎng)絡(luò)時,本文按照如下步驟確定多路徑路由:

        步驟1 Leaf交換機(jī)將該流的第一個數(shù)據(jù)包發(fā)送至控制器。如果流的目的主機(jī)和源主機(jī)在同一個Leaf節(jié)點下,則直接轉(zhuǎn)發(fā),否則執(zhí)行步驟2。

        步驟2 Leaf-Spine結(jié)構(gòu)的網(wǎng)絡(luò)中的任意兩個不同Spine下的Leaf節(jié)點之間的路徑是冗余且相對固定的,控制器在全局網(wǎng)絡(luò)視圖中根據(jù)流的目的節(jié)點可以直接確定多條不重疊可選路徑,再通過1.1節(jié)描述的測量方法,向可選路徑上的交換機(jī)發(fā)送測量請求。

        步驟3控制器收集交換機(jī)的狀態(tài)參數(shù),并讀取相應(yīng)計數(shù)器值,計算鏈路利用率。

        步驟4將步驟3中獲得的數(shù)據(jù)作為DDPG模型的輸入,得到可選路徑上各段鏈路的鏈路權(quán)值。

        步驟5定義可選路徑上鏈路權(quán)值的最小值為路徑權(quán)值,選擇路徑權(quán)值最大的路徑為路由路徑。

        1.4 流表規(guī)則下發(fā)

        受固定功能交換機(jī)的限制,在使用OpenFlow的SDN網(wǎng)絡(luò)中,控制器得到的路由路徑需要轉(zhuǎn)換成單個交換機(jī)的流表,再通過南向接口下發(fā),這增加了控制器的計算開銷、南向通信開銷和交換機(jī)的查表時延。因此本文借助于可編程數(shù)據(jù)平面可自定義數(shù)據(jù)包處理邏輯的優(yōu)勢,借鑒分段路由[19]的思想,設(shè)計了一種基于源路由的路由協(xié)議。

        區(qū)別于使用路徑標(biāo)簽的分段路由協(xié)議,本文提出的源路由協(xié)議直接將路由路徑上各交換機(jī)的轉(zhuǎn)發(fā)端口保存在數(shù)據(jù)包的包頭中。如圖5所示,該路由協(xié)議的包頭由多個交換機(jī)的轉(zhuǎn)發(fā)端口port和用于指示該交換機(jī)是否為最后一跳交換機(jī)的bos組成??刂破鲗⒘鞯霓D(zhuǎn)發(fā)規(guī)則,即路由路徑上每個交換機(jī)的轉(zhuǎn)發(fā)端口下發(fā)至流的源Leaf交換機(jī),該交換機(jī)將后續(xù)交換機(jī)的轉(zhuǎn)發(fā)端口按照協(xié)議格式嵌入至數(shù)據(jù)包中,再轉(zhuǎn)發(fā)至下一跳。后續(xù)交換機(jī)解析嵌入在數(shù)據(jù)包中的第一個轉(zhuǎn)發(fā)端口并將其彈出,再據(jù)此將數(shù)據(jù)包轉(zhuǎn)發(fā)至下一跳,直至目的主機(jī)。該方式將多次流表規(guī)則的計算和下發(fā)縮減為單次,能夠減少控制平面的計算開銷和南向通信開銷,同時,由于后續(xù)交換機(jī)不需要再進(jìn)行查表操作,能減少交換機(jī)的處理時延。

        圖5 源路由示意圖Fig.5 Source routing diagram

        2 實驗與評估

        2.1 實驗環(huán)境設(shè)置

        本文利用Mininet網(wǎng)絡(luò)仿真平臺搭建了一個如圖6所示的小型Leaf-Spine網(wǎng)絡(luò),其中任意2個Leaf交換機(jī)之間具有3條相連鏈路。網(wǎng)絡(luò)中的軟件交換機(jī)使用的是支持?jǐn)?shù)據(jù)平面可編程的BMv2,南向協(xié)議使用的是P4Runtime,控制器使用Python語言編寫。

        圖6 Leaf-Spine網(wǎng)絡(luò)拓?fù)銯ig.6 Leaf-Spine network topology

        為了模擬數(shù)據(jù)中心環(huán)境,網(wǎng)絡(luò)中的鏈路帶寬設(shè)置為50 Mb/s,延時設(shè)置為1 ms。通過隨機(jī)選取K對源和目的主機(jī),使用Iperf工具各產(chǎn)生一個網(wǎng)絡(luò)會話,其中每個會話的帶寬需求,即每個數(shù)據(jù)流的數(shù)據(jù)包發(fā)送速率R i(i=1,2,…,K)滿足在長度為10 Mb/s的窗口內(nèi)取值的泊松分布,均值λ為窗口中心:

        設(shè)置初始窗口為[0,10]Mb/s,并以5 Mb/s的步長滑動窗口來改變網(wǎng)絡(luò)負(fù)載。使用Iperf和ping工具統(tǒng)計每個窗口內(nèi)每個流的吞吐量、時延和丟包率,并取平均值,用以表示當(dāng)前帶寬需求下路由方法的性能。

        本文在Ubuntu 16.04系統(tǒng)上使用機(jī)器學(xué)習(xí)平臺TensorFlow和基于Python的深度學(xué)習(xí)庫Keras,按照圖4所示的DDPG框架,搭建了神經(jīng)網(wǎng)絡(luò)模型[20],并在上述實驗環(huán)境中完成了模型訓(xùn)練。

        2.2 性能比較

        2.2.1 路由性能比較

        為了驗證本文提出的路由方法的性能優(yōu)勢,本小節(jié)選取網(wǎng)絡(luò)平均吞吐量、時延和鏈路利用率作為性能評價指標(biāo),設(shè)置網(wǎng)絡(luò)會話數(shù)K=6,與ECMP和RRMP(round robin multi-path,輪詢多路徑路由[21],該算法從所有端到端可選路徑中循環(huán)選擇不同的傳輸路徑)兩種多路徑路由算法做對比分析。在ECMP和RRMP算法實驗中,控制器根據(jù)全網(wǎng)視圖計算路由路徑,并轉(zhuǎn)換成單個交換機(jī)的流表,下發(fā)至交換機(jī)。實驗結(jié)果如圖7所示。

        圖7 不同帶寬需求下的路由性能比較Fig.7 Routing performance comparison under different bandwidth requireme

        實驗結(jié)果表明,在帶寬需求比較小的情況下,三種路由算法的性能差異非常小,吞吐量、鏈路利用率與帶寬需求近似成線性關(guān)系,因為此時的網(wǎng)絡(luò)資源能夠滿足全部需求,沒有產(chǎn)生擁塞。但本文提出的方法的時延要大于另外兩種方法,這是由于在計算路由時使用強(qiáng)化學(xué)習(xí)模型計算鏈路權(quán)值需要更多的時間。隨著帶寬需求增加,吞吐量和鏈路利用率無法隨帶寬需求線性增加,組建趨于一個恒定值,此時網(wǎng)絡(luò)資源無法滿足全部需求,產(chǎn)生擁塞,并出現(xiàn)丟包現(xiàn)象。但本文提出的方法的三項性能指標(biāo)都要優(yōu)于另外兩種,這是因為ECMP和RRMP無法感知鏈路狀態(tài)和交換機(jī)負(fù)載情況的變化,不能根據(jù)網(wǎng)絡(luò)狀態(tài)改變流量在多條可選路徑上的分配比例,容易造成數(shù)據(jù)包大量聚集在某些交換節(jié)點或多條大象流經(jīng)過同一鏈路,使整個網(wǎng)絡(luò)的負(fù)載不均衡,鏈路平均利用率低,導(dǎo)致吞吐量較早達(dá)到瓶頸。同時,數(shù)據(jù)包在交換機(jī)緩存隊列中排隊時間較長,使傳輸時延增加。而本文提出的方法可以在采集網(wǎng)絡(luò)狀態(tài)信息,計算網(wǎng)絡(luò)鏈路在不同網(wǎng)絡(luò)狀況下的權(quán)值,能夠在高帶寬需求時為數(shù)據(jù)流選擇鏈路資源較為充裕的路徑,從而實現(xiàn)負(fù)載均衡,提高網(wǎng)絡(luò)平均吞吐量和資源利用率,減小傳輸時延。因此本文提出的方法更適合在帶寬需求較大的網(wǎng)絡(luò)環(huán)境中使用,例如數(shù)據(jù)中心網(wǎng)絡(luò)。

        2.2.2 源路由性能比較

        為了驗證本文提出的源路由方法在降低交換機(jī)處理時延和南向通信開銷的作用,本小節(jié)設(shè)置了一組對比實驗,對比組中的控制器得到路由路徑后轉(zhuǎn)換成單個交換機(jī)的流表,逐一下發(fā)到路徑上的每個交換機(jī)中,實驗組采用本文提出的源路由方法。

        (1)平均時延比較

        由于數(shù)據(jù)流的時延變化主要是由交換機(jī)的處理時延變化造成,因此可以使用數(shù)據(jù)流平均時延反映交換機(jī)的處理時延。設(shè)置網(wǎng)絡(luò)會話數(shù)K=6,實驗結(jié)果如圖8所示。

        圖8 平均時延比較Fig.8 Mean delay comparison

        (2)南向通信開銷比較

        南向通信主要發(fā)生在新流進(jìn)入網(wǎng)絡(luò)時的網(wǎng)絡(luò)測量和流表下發(fā)過程,與帶寬需求無關(guān),與網(wǎng)絡(luò)中數(shù)據(jù)流數(shù)量相關(guān),因此在某一帶寬需求(10 Mb/s)下通過增加網(wǎng)絡(luò)會話數(shù)K,統(tǒng)計南向協(xié)議P4Runtime所使用的端口上的網(wǎng)絡(luò)流量,得到南向通信開銷比較,實驗結(jié)果如圖9所示。

        圖9 南向通信開銷比較Fig.9 Southbound communication overhead comparison

        實驗結(jié)果表明,相比于向單個交換機(jī)下發(fā)流表,本文提出的源路由方法能夠在一定程度上減小數(shù)據(jù)流的傳輸時延,大幅減小南向通信開銷。這是由于在本文提出的方法中,每一條新數(shù)據(jù)流進(jìn)入網(wǎng)絡(luò)時,僅需要入口交換機(jī)與控制器發(fā)生一次通信,路徑上其他交換機(jī)直接根據(jù)數(shù)據(jù)包中的轉(zhuǎn)發(fā)信息進(jìn)行轉(zhuǎn)發(fā),而不需要與控制器進(jìn)行通信,這減小了南向通信開銷。同時其他交換機(jī)不需要執(zhí)行查表操作,減小了處理時延,尤其是交換機(jī)中存在大量表項或有大量數(shù)據(jù)包需要轉(zhuǎn)發(fā)時,這種優(yōu)勢將更加明顯。

        3 結(jié)束語

        本文在具有可編程數(shù)據(jù)平面的SDN網(wǎng)絡(luò)架構(gòu)下,針對于具有Leaf-Spine拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),提出了一種基于強(qiáng)化學(xué)習(xí)和多路徑傳輸?shù)穆酚蓛?yōu)化方法??刂破魍ㄟ^南向協(xié)議直接獲取網(wǎng)絡(luò)中數(shù)據(jù)平面可編程交換機(jī)的狀態(tài)參數(shù),并使用DDPG強(qiáng)化學(xué)習(xí)算法根據(jù)網(wǎng)絡(luò)狀態(tài)參數(shù)得到不同網(wǎng)絡(luò)狀況下表示鏈路剩余負(fù)載能力的權(quán)值。通過選取具有最大最小鏈路權(quán)值的路徑,使網(wǎng)絡(luò)流量在網(wǎng)絡(luò)中分布更加均衡,以提高網(wǎng)絡(luò)資源利用率。同時,充分利用可編程數(shù)據(jù)平面帶來的靈活性,設(shè)計了一種新的基于源路由的路由協(xié)議。對比實驗結(jié)果表明,本文設(shè)計的路由優(yōu)化方法能夠在較高帶寬需求下提高網(wǎng)絡(luò)平均吞吐量和鏈路平均利用率,減小傳輸時延和南向通信開銷,充分展示了可編程數(shù)據(jù)平面在新路由協(xié)議應(yīng)用方面存在的巨大優(yōu)勢,以及將機(jī)器學(xué)習(xí)方法引入網(wǎng)絡(luò)領(lǐng)域的巨大潛力。下一步將完善測量方法,實現(xiàn)網(wǎng)絡(luò)快照,以獲取同一時刻的網(wǎng)絡(luò)狀態(tài)參數(shù)。同時改進(jìn)路由方法,使之適用于不同的網(wǎng)絡(luò)拓?fù)?,并更具魯棒性和可拓展性?/p>

        猜你喜歡
        權(quán)值交換機(jī)數(shù)據(jù)包
        一種融合時間權(quán)值和用戶行為序列的電影推薦模型
        CONTENTS
        SmartSniff
        修復(fù)損壞的交換機(jī)NOS
        使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
        基于權(quán)值動量的RBM加速學(xué)習(xí)算法研究
        PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
        羅克韋爾自動化交換機(jī)Allen-Bradley ArmorStratix 5700
        自動化博覽(2014年9期)2014-02-28 22:33:16
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        亚洲乱码国产一区三区| 国产精品一区二区黄色| 少妇久久久久久人妻无码| 欧美日韩亚洲tv不卡久久| 国产亚洲高清不卡在线观看| 亚洲第一页在线观看视频网站| 国产一区二区三区中文在线| 99久久精品日本一区二区免费| av一区无码不卡毛片| 偷拍与自偷拍亚洲精品| 亚洲国产a∨无码中文777| 亚洲精品午睡沙发系列| 亚洲视频高清| 国产大屁股熟女流白浆一区二区| 国产69精品久久久久9999apgf| 少妇特黄a一区二区三区| 国内精品福利在线视频| 日韩av一区二区蜜桃| 亚洲av无码专区在线观看下载| 欧美日韩久久久精品a片| 国产精品一区成人亚洲| 99久久国内精品成人免费| 青草内射中出高潮| 亚洲精品美女久久久久久久| 人妻少妇中文字幕av| 人人妻人人澡人人爽人人dvd| 免费看久久妇女高潮a| 日本一区免费喷水| 宅男亚洲伊人久久大香线蕉| 国产午夜福利片| 日本精品网| 日本高清一区二区在线播放 | 内射人妻视频国内| 国产伦精品一区二区三区视| 女同同成片av免费观看| 一边摸一边抽搐一进一出口述| 国产成人vr精品a视频| 国产精品成人无码a 无码| 日本不卡的一区二区三区中文字幕| 小荡货奶真大水真多紧视频| 欧美高清视频一区|