高群濤 馮巧新
【摘要】? ? 隨著移動互聯(lián)網(wǎng)通信技術的快速發(fā)展,新型網(wǎng)絡應用和業(yè)務越來越多,網(wǎng)絡用戶數(shù)量和網(wǎng)絡規(guī)模迅速增長,如何利用現(xiàn)有的網(wǎng)絡資源和更有效率的路由優(yōu)化方法來為網(wǎng)絡業(yè)務提供更好的服務質量(Quality of Service,QoS),已經(jīng)成為網(wǎng)絡發(fā)展的難題。網(wǎng)絡規(guī)模的不斷增大以及網(wǎng)絡復雜度的不斷提高,使得傳統(tǒng)的QoS路由優(yōu)化方案都越來越力不從心。這是由于傳統(tǒng)QoS路由優(yōu)化方案往往是針對某些具體網(wǎng)絡場景的,而針對這些場景的解決方案難以適應不斷變化的業(yè)務需求,因此需要提出一種適用廣泛應用場景的QoS路由方案。近幾年隨著人工智能的發(fā)展,深度學習和強化學習都取得巨大進步,結合二者的深度強化學習在智能優(yōu)化探索上有著巨大的潛力,與此同時,軟件定義網(wǎng)絡(Software-Defined Networking,SDN)的出現(xiàn)使得網(wǎng)絡的控制變得更加靈活和高效,這些都為實現(xiàn)更加智能的QoS路由優(yōu)化方案提供了新的機遇。本文對QoS多約束路由優(yōu)化的問題進行了研究,以SDN為基本框架,使用深度強化學習進行路由策略,提出了一種新型的智能QoS路由優(yōu)化方案。
【關鍵詞】? ? 軟件定義網(wǎng)絡? ?QoS? ? 智能路由
一、 相關技術
1.1 SDN架構
1.SDN具有以下特點:1)與傳統(tǒng)網(wǎng)絡設備轉發(fā)功能與控制功能是緊密結合相比,實現(xiàn)了數(shù)據(jù)平面與控制平面相分離。如果需要對網(wǎng)絡應用功能進行更新,則必須對所有網(wǎng)絡設備重新逐一配置,擴展性較差。SDN的出現(xiàn)使得網(wǎng)絡設備得到解脫,網(wǎng)絡設備只需按照控制層的SDN控制器下發(fā)的流表策略來執(zhí)行轉發(fā),而不需要在去制定規(guī)則。極大地提高了網(wǎng)絡設備的轉發(fā)效率。2)集中式的控制,控制器控制著下層的網(wǎng)絡設備,也控制著上層的網(wǎng)絡應用,可以為上層應用提供不同的網(wǎng)絡服務,3)具有可編程的接口,向應用層提供可編程的北向接口,開發(fā)者可以制定自己需要的網(wǎng)絡功能。4)實現(xiàn)對網(wǎng)絡流的細粒度管理,能夠對流實時監(jiān)控,對網(wǎng)絡管理更加靈活和高效。SDN的架構主要由應用平面、控制平面、數(shù)據(jù)平面這三個部分組成。
1.2 OpenFlow
在SDN網(wǎng)絡中,控制平面的控制器與過數(shù)據(jù)平面的網(wǎng)絡設備通過OpenFlow協(xié)議進行通信。SDN控制器負責對控制規(guī)則的制定、流表下發(fā),交換機只需按照下發(fā)的流表規(guī)則進行轉發(fā)。底層設備支持OpenFlow協(xié)議,稱為OepnFlow交換機。
1.3 SDN 控制器
SDN控制器是控制層的核心組件,通過數(shù)據(jù)平面網(wǎng)絡設備的運行狀態(tài)來負責數(shù)據(jù)流的轉發(fā),并且向上層業(yè)務提供可編程的業(yè)務接口。在控制器中寫相應的路由控制算法,能夠得到滿足QoS需求的路徑。
二、基于SDN和A3C的智能QoS路由算法
2.1 A3C算法模型構建
之前在第二小節(jié)分別介紹了基于值(Value)和基于策略(Policy)的二種強化學習方法,Actor-Critic算法(AC)就是融合了以值為中心和以策略(動作概率)為中心的強化學習算法。A3C算法為了提升網(wǎng)絡訓練的速度而采用異步訓練的思想,利用多線程的訓練方法。每個線程都相當于一個智能體在同一個或者不同的環(huán)境中進行隨機探索,多個智能體共同進行探索的過程,之后收集探索過程中的狀態(tài)、動作、獎勵等信息,將收集到的信息按照異步的方式交互給中心網(wǎng)絡進行梯度更新和網(wǎng)絡學習,從而完成并行計算策略梯度的過程。即同時啟動多個agent在環(huán)境中進行訓練,異步進行數(shù)據(jù)采樣,并在之后收集采集的樣本進行網(wǎng)絡參數(shù)的訓練,在中心網(wǎng)絡更新網(wǎng)絡后下發(fā)到各個agent當中,在新的參數(shù)情況下進行新的數(shù)據(jù)采樣,并且重復這個過程。
2.2 A3C網(wǎng)絡設計
上節(jié)論述了基于QoS智能路由系統(tǒng)的A3C算法框架,本節(jié)重點論述A3C算法的網(wǎng)絡設計細節(jié)進行闡述,包括輸入狀態(tài)設計、輸出動作設計、獎勵函數(shù)的設計以及算法環(huán)境的設計,算法的整體設計實現(xiàn)邏輯圖如圖所示:
2.3 QoS路由計算
根據(jù)網(wǎng)絡中不同服務類型流的需求,本文提的QoS多約束路由算法—SDMCQR算法對不同需求的流提供不同的服務,如算法1所示。對于非QoS需求的流使用Dijkstra算法。對于有QoS需求的業(yè)務流,考慮有多種QoS參數(shù)要求,通過A3C深度網(wǎng)絡模型的訓練,會得到一套鏈路權值[w1, w2, …, wn],根據(jù)鏈路的權重值加權以及流的優(yōu)先級來來選擇最佳路徑,并能夠實現(xiàn)動態(tài)路由切換和數(shù)據(jù)流的在線路由功能。
三、系統(tǒng)測試
31 網(wǎng)絡連通性測試
為了保證測量模塊、網(wǎng)絡感知模塊、網(wǎng)絡監(jiān)控模塊、智能路由模塊的正常工作,基于OS3E的基本拓撲結構,用Mininet和Ryu控制器之間的連通,來測試網(wǎng)絡環(huán)境的正常使用。首先輸入ryu—manager 命令開啟Ryu控制器,在Mininet中通過運行Python編寫的OS3E拓撲的拓撲腳本,使用#sudo mn? --custom os3e.py --topo mytopo --mac --controller remote --Link tc 命令可以開啟網(wǎng)絡感知模塊功能。
3.2 QoS智能路由測試
路徑發(fā)生變化的原因就是每個QoS流來選擇路徑。通過OS3E 網(wǎng)絡拓撲結構中可以看到h11 ping h15 至少有8條候選路徑,通過對數(shù)據(jù)層交換機底層鏈路狀態(tài)信息的搜集,放入到A3C深度強化學習訓練,智能路由算法會得到所有的鏈路權重,經(jīng)過141次神經(jīng)網(wǎng)絡的訓練后,通過計算每個源地址h11和目的地址h5的候選路徑權重加權值來確定最優(yōu)路徑,即[S11—S8—S7—S14—S5]鏈路加權值最小,即就是最優(yōu)路徑。
3.3 性能分析
將SA3CR算法、DDPG路由算法(DDPG_R)、NAF路由算法(NAF_R)、ECMP算法、KSP算法這四種算法做了對比。用Iperf工具發(fā)送數(shù)據(jù)包進行測試,DDPG算法是當前最優(yōu)算法進行路由優(yōu)化算法之一,NAF是一種連續(xù)的DQN算法,ECMP是一種等價多路徑負載均衡算法,KSP算法是一種K條最短路徑算法,A3C_R智能路由算法充分考慮了QoS流的帶寬、時延、丟包率等主要的QoS指標,在連續(xù)的狀態(tài)動作空間內(nèi)選擇動作,相對比其他智能算法,使用采用異步訓練的思想,利用多線程的訓練方法,提升網(wǎng)絡訓練的速度,訓練效果良好。
1.平均時延。用主機h11 ping h5 、當流的請求速率達到80Mbit/s時,SA3CR算法最后的平均時延是43ms,低于DDPG_R算法的平均時延47ms和NAF_R算法的52ms,低于ECMP算法平均時延59.4ms,其中KSP的算法平均時延最高為61.73ms,同樣用主機h10 ping h4進行測試,效果如圖5-10所示,SA3CR算法在在優(yōu)化QoS路由場景下在時延性能優(yōu)于其他算法,減少了10%的平均端到端傳輸時延。
2. 吞吐量。對于KSP算法來說,有K條候選路徑可能會公用相同的鏈路,這時鏈路會擁塞,網(wǎng)絡的傳輸能力就會下降。ECMP主要采用等價多路徑傳輸,沒有綜合考慮當前網(wǎng)絡中各個路徑的帶寬時延和可靠性,當鏈路的網(wǎng)絡狀態(tài)存在很大差異時,不能很好的利用帶寬,造成吞吐量較低。
3.平均丟包率。KSP算法比ECMP算法的丟包率稍低,主要是因為KSP有多條備選路徑可以進行路由,但是比SA3CR、DDPG_R、NAF_R這些強化學習算法丟包率高,因為智能優(yōu)化算法,在生成路徑時會盡量減少各路徑共用一條路徑情況的出現(xiàn),避免了鏈路的過度擁塞。
四、結束語
本文利用SDN框架與深度學習算法相結合,設計了一套基于SDN的QoS智能路由優(yōu)化方案?;跁r間有限,論文仍然存在以下不足:(1)本文只在Mininet網(wǎng)絡仿真實驗平臺使用OS3E拓撲測試了基于SDN的QoS智能路由優(yōu)化系統(tǒng),對各模塊的功能進行了驗證,由于時間和精力有限,并未在真實的網(wǎng)絡環(huán)境中進行部署,因此后續(xù)的研究應盡力在真實的更大規(guī)模的復雜網(wǎng)絡結構中部署。才能更加體現(xiàn)QoS智能路由系統(tǒng)的有效性。(2)結合GNN圖神經(jīng)網(wǎng)絡的拓撲信息感知能力和深度強化學習的自我探索學習能力,將是未來提升網(wǎng)絡智能路由策略性的一個重要研究方向。
參? 考? 文? 獻
[1] Z. Shan,“Integrated service adaptation,”in 2010 6th World Congress on Services,pp.140-143, Miami, FL, USA, July 2010.
[2] Y. Wang, X. Wang, H. Li, Y. Dong, Q. Liu, and X. Shi,“A multi-service differentiation traffic management strategy in SDN cloud data center,” Computer Networks, vol. 171, article 107143, 2020.
[3] Z. Al-Qudah, I. Jomhawy, M. Alsarayreh, and M. Rabinovich,“On the stability and diversity of Internet routes in the MPLS era,”Performance Evaluation, vol. 138, article 102084, 2020.
[4] Szymanski, Ted H.,et al. Provisioning Mission-Critical Telerobotic Control Systems over Internet Backbone Networks with Essentially-Perfect QoS. IEEE Journal on Selected Areas in Communications, 2010, 630-643.
[5]李丹,陳貴海,任豐原,蔣長林,徐明偉.數(shù)據(jù)中心網(wǎng)絡的研究進展與趨勢[J].計算機學報,2014,37(02):259-274.
[6]張朝昆,崔勇,唐翯翯,吳建平.軟件定義網(wǎng)絡(SDN)研究進展[J].軟件學報,2015,26(01):62-81.
[7]左青云,陳鳴,趙廣松,邢長友,張國敏,蔣培成.基于OpenFlow的SDN技術研究[J].軟件學報,2013,24(05):1078-1097.
[8]金勇,劉亦星,王欣欣.基于SDN的數(shù)據(jù)中心網(wǎng)絡多路徑流量調(diào)度算法[J].計算機科學,2019,46(06):90-94.
[9] Pang J , Xu G , Fu X , et al. Horizon: a QoS management framework for SDN-based data center networks[J]. Annales des Telecommunications, 2017, 72(9-10):597-605.
[10]高陽,陳世福,陸鑫.強化學習研究綜述[J].自動化學報,2004(01):86-100.
[11] Yu H , Bertsekas D P . On Boundedness of Q-Learning Iterates for Stochastic Shortest Path Problems[J].? athematics of Operations Research, 2013, 38(2):209-227.
[12] Juluri P , Tamarapalli V , Medhi D . SARA: Segment aware rate adaptation algorithm for dynamic adaptive streaming over HTTP[C]// IEEE International Conference on Communication Workshop. IEEE, 2015:1765-1770.
[13]劉全,翟建偉,章宗長,鐘珊,周倩,章鵬,徐進.深度強化學習綜述[J].計算機學報,2018,41(01):1-27.
[14] Silver D , Schrittwieser J , Simonyan K , et al. Mastering the game of Go without human knowledge[J]. Nature, 2017, 550(7676):354-359.
[15]朱慧玲,杭大明,馬正新,曹志剛,李安國.QoS路由選擇:問題與解決方法綜述[J].電子學報,2003(01):109-116.