999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2022-02-24 12:33:22周建國
計算機工程與應(yīng)用 2022年3期
關(guān)鍵詞:方法

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

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

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

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

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

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

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

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

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

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

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

本文研究的路由優(yōu)化問題表述如下:考慮一個具有K個端到端通信會話的網(wǎng)絡(luò),其中每個通信會話k由其五元組信息,即源IP地址、目的IP地址、傳輸層協(xié)議、源端口和目的端口標識,本文需要解決的問題是在網(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ò)下提出了一種基于強化學(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)為自定義交換機數(shù)據(jù)包處理邏輯提供了更大的靈活度。Kim等人提出了INT測量方法[12],該方法是基于路徑的,通過在數(shù)據(jù)包中設(shè)置指示位,可編程交換機解析到該指示位之后,將選擇的交換機的內(nèi)部元數(shù)據(jù)(例如隊列深度、排隊時延等)或自定義數(shù)據(jù)(例如丟包個數(shù)、傳輸?shù)牧髁看笮〉龋┣度胫翑?shù)據(jù)包中,并在路徑終端解析數(shù)據(jù)包,提取相關(guān)數(shù)據(jù)。該方法需要在網(wǎng)絡(luò)的入口和出口處設(shè)置額外主機用于注入和提取INT信息,同時基于路徑的方式使得INT難以快速獲取全網(wǎng)數(shù)據(jù),且將遙測指令和數(shù)據(jù)封裝到正常數(shù)據(jù)包中會產(chǎn)生較高的探測開銷和部署運維復(fù)雜性[13]。為了克服INT方法存在的問題,同時保留其靈活、細粒度特性,本文設(shè)計了一種基于設(shè)備的輪詢式測量方法,用于獲取網(wǎng)絡(luò)狀態(tài)參數(shù)。

如圖2所示,SDN控制器使用P4Runtime南向協(xié)議向指定的可編程交換機發(fā)送自定義的PacketOut消息,該消息由攜帶指令的元數(shù)據(jù)包頭和空負載組成。為了區(qū)分不同功能的PacketOut消息,在元數(shù)據(jù)報頭中設(shè)置一個用于指示消息類型的字段req_t,其值為1時表示該消息為控制器向數(shù)據(jù)平面發(fā)送的測量請求。為了根據(jù)需要獲取指定的測量數(shù)據(jù),將需要的測量項以Bitmap的形式編碼,作為元數(shù)據(jù)報頭中的第二個字段inst。Bitmap中的每一位與可編程交換機提供的測量項相關(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ā)送至運行在可編程交換機CPU上的P4Runtime服務(wù)器端,服務(wù)器端再通過CPU_PORT將元數(shù)據(jù)和負載以數(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ù)和負載組成,但由于測量項是不確定的,因此將測量數(shù)據(jù)作為PacketIn消息的負載,元數(shù)據(jù)僅包含指示該PacketIn消息類型的字段res_t。

為了獲取交換機端口網(wǎng)絡(luò)流的發(fā)送速率,在P4程序中為交換機的每一個端口定義一個計數(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ù)直接由交換機芯片以線速轉(zhuǎn)發(fā)的方式完成,能夠在降低資源消耗的同時實現(xiàn)包級細粒度測量。并且控制器可以根據(jù)應(yīng)用需求選擇需要測量的交換機、測量時間和測量項,具有較高的靈活性。

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

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

強化學(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。強化學(xué)習(xí)的目標是尋找到一個最優(yōu)策略π*:s→a,能最大化長期折扣獎勵(回報):

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

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

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

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

狀態(tài):利用1.1節(jié)提出的網(wǎng)絡(luò)測量方法,控制器在某一時刻t進行一次網(wǎng)絡(luò)測量后可以獲得當(dāng)前時刻交換機的內(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時刻各交換機的處理時延,由進出交換機時間戳相減可得,qd t表示t時刻各交換機的平均隊列深度,為進出交換機隊列時隊列深度的平均值,q t表示t時刻各交換機的排隊時延,u t表示t時刻可選路徑上各鏈路的鏈路利用率。

動作:使用強化學(xué)習(xí)解決路由優(yōu)化問題時,最直接的動作是輸出某個流在全網(wǎng)的路由表項,再由控制器下發(fā)至交換機中,但隨著網(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)值靈活確定路由方式,例如使用多路徑路由。

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

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

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

深度強化學(xué)習(xí)將深度學(xué)習(xí)的感知能力與強化學(xué)習(xí)的決策能力結(jié)合起來。但是基于價值的深度強化學(xué)習(xí)機制如深度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)性的目標網(wǎng)絡(luò)組成,兩個網(wǎng)絡(luò)的初始參數(shù)和結(jié)構(gòu)完全相同,在線網(wǎng)絡(luò)定期地用自身參數(shù)更新目標網(wǎng)絡(luò)的參數(shù)。DDPG在訓(xùn)練期間會將每次與環(huán)境交互的信息存儲在經(jīng)驗池中,并通過在經(jīng)驗池中隨機采樣得到神經(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目標網(wǎng)絡(luò):根據(jù)從經(jīng)驗池中采樣得到的每個樣本的樣本狀態(tài)s i+1選擇動作

Critic目標網(wǎng)絡(luò):計算目標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ò)拓撲[17]。在這類網(wǎng)絡(luò)拓撲中,任意兩臺服務(wù)器之間存在多條物理路徑,而傳統(tǒng)單路徑路由機制無法有效利用多條端到端的傳輸路徑,導(dǎo)致網(wǎng)絡(luò)吞吐量較低,資源利用率不夠,容易造成網(wǎng)絡(luò)擁塞,丟包率和傳輸時延增加。一個可行的辦法是使用等價多路徑路由(equal-cost multi-path,ECMP),通過計算數(shù)據(jù)流的五元組的哈希值,再根據(jù)哈希值在多個與目的節(jié)點具有相同最小跳數(shù)的下一跳中隨機選擇。ECMP方法沒有考慮鏈路和流量的差異性,不能充分利用網(wǎng)絡(luò)資源,容易造成網(wǎng)絡(luò)負載失衡[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)與主機相連的Leaf交換機收到一個數(shù)據(jù)包后,計算其五元組的哈希值,具有相同哈希值的數(shù)據(jù)包屬于同一個網(wǎng)絡(luò)流,本文對流進行路由調(diào)度。當(dāng)一條新流進入網(wǎng)絡(luò)時,本文按照如下步驟確定多路徑路由:

步驟1 Leaf交換機將該流的第一個數(shù)據(jù)包發(fā)送至控制器。如果流的目的主機和源主機在同一個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é)描述的測量方法,向可選路徑上的交換機發(fā)送測量請求。

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

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

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

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

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

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

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

2 實驗與評估

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

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

圖6 Leaf-Spine網(wǎng)絡(luò)拓撲Fig.6 Leaf-Spine network topology

為了模擬數(shù)據(jù)中心環(huán)境,網(wǎng)絡(luò)中的鏈路帶寬設(shè)置為50 Mb/s,延時設(shè)置為1 ms。通過隨機選取K對源和目的主機,使用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ò)負載。使用Iperf和ping工具統(tǒng)計每個窗口內(nèi)每個流的吞吐量、時延和丟包率,并取平均值,用以表示當(dāng)前帶寬需求下路由方法的性能。

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

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

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

2.2.2 源路由性能比較

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

(1)平均時延比較

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

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

(2)南向通信開銷比較

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

3 結(jié)束語

本文在具有可編程數(shù)據(jù)平面的SDN網(wǎng)絡(luò)架構(gòu)下,針對于具有Leaf-Spine拓撲結(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),提出了一種基于強化學(xué)習(xí)和多路徑傳輸?shù)穆酚蓛?yōu)化方法。控制器通過南向協(xié)議直接獲取網(wǎng)絡(luò)中數(shù)據(jù)平面可編程交換機的狀態(tài)參數(shù),并使用DDPG強化學(xué)習(xí)算法根據(jù)網(wǎng)絡(luò)狀態(tài)參數(shù)得到不同網(wǎng)絡(luò)狀況下表示鏈路剩余負載能力的權(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)勢,以及將機器學(xué)習(xí)方法引入網(wǎng)絡(luò)領(lǐng)域的巨大潛力。下一步將完善測量方法,實現(xiàn)網(wǎng)絡(luò)快照,以獲取同一時刻的網(wǎng)絡(luò)狀態(tài)參數(shù)。同時改進路由方法,使之適用于不同的網(wǎng)絡(luò)拓撲,并更具魯棒性和可拓展性。

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 2022国产无码在线| 欧美中文字幕第一页线路一| 亚洲日本中文字幕乱码中文 | 欧美国产在线精品17p| 亚洲永久精品ww47国产| 国产精品第三页在线看| 麻豆精品在线播放| 无码福利视频| 国产精品9| 亚洲欧洲自拍拍偷午夜色| 国产视频欧美| 亚洲伊人久久精品影院| 亚洲欧洲日韩久久狠狠爱| 国产经典三级在线| 国产精品美女免费视频大全| 国产内射一区亚洲| 亚洲av综合网| 久久久噜噜噜| 亚洲日韩在线满18点击进入| 美女被躁出白浆视频播放| 97精品国产高清久久久久蜜芽| 91亚洲国产视频| 国产成人综合在线观看| 欧美伦理一区| 亚洲二三区| 日韩精品中文字幕一区三区| 国产无码在线调教| a毛片免费在线观看| 无码精品国产VA在线观看DVD| 亚洲精品无码AⅤ片青青在线观看| 国产又粗又猛又爽| 国产网友愉拍精品视频| 色综合久久88| 国产精品一区二区不卡的视频| 为你提供最新久久精品久久综合| 亚洲天堂啪啪| 欧美亚洲欧美| 精品一区二区三区水蜜桃| 萌白酱国产一区二区| 色综合a怡红院怡红院首页| 很黄的网站在线观看| 亚洲综合色吧| 国产精品视频系列专区| 国产美女精品人人做人人爽| 日本一本正道综合久久dvd| 国产成人区在线观看视频| 亚洲色无码专线精品观看| 国产亚卅精品无码| 狼友视频一区二区三区| 黄色网址免费在线| 日韩国产综合精选| 久久久久久午夜精品| 国产一区二区三区夜色| 国产性精品| 色欲色欲久久综合网| 国产麻豆va精品视频| 亚洲欧美日韩高清综合678| 九九精品在线观看| 99福利视频导航| 精品久久久无码专区中文字幕| 国产丝袜无码一区二区视频| 高潮毛片无遮挡高清视频播放| 久久精品无码中文字幕| 日韩精品一区二区三区swag| 亚洲人网站| 国产www网站| 免费女人18毛片a级毛片视频| 欧美狠狠干| 亚洲一区二区三区在线视频| 国产女人18水真多毛片18精品 | 亚洲成人网在线观看| 国产精品亚欧美一区二区| 久草视频精品| 青青青国产精品国产精品美女| 丁香五月婷婷激情基地| 成人精品视频一区二区在线| 色综合天天操| 国产精品视频999| 日本免费a视频| 91综合色区亚洲熟妇p| 国产成人福利在线视老湿机| 久久久精品无码一二三区|