朱國暉 李晨光 程 宇
(西安郵電大學通信與信息工程學院 陜西 西安 710121)
?
基于Dyna agent算法的SDN控制策略
朱國暉 李晨光 程 宇
(西安郵電大學通信與信息工程學院 陜西 西安 710121)
為改善網絡節點資源利用率,提出基于Dyna agent算法的控制器控制策略。首先對網絡控制器部署建模;然后控制器利用環境反饋信息反作用于控制端網絡流量控制策略抉擇;最后分析觸發學習機制后各節點轉發狀態的變化,重新設置節點選擇權值。仿真結果表明,該控制策略相對于普通控制策略的網絡可使目的節點處理能力更強,吞吐量增大,網絡延遲更小。
軟件定義網絡 Dyna agent OpenFlow 控制策略
降低流量成本、提升管道價值、加速網絡創新是網絡發展的目標。在此背景下,軟件定義網絡SDN應運而生。SDN核心是控制與轉發相分離,網絡軟件化,對目前垂直緊耦合結構進行解耦,網絡能力得到充分開放,從而提升網絡的創新能力。
利用SDN控制器可編程特性,對網絡切片進行重新部署[1,2],解決網絡僵化問題,提高網絡資源利用率。文獻[3]研究了SDN分布式控制平面中控制器的靜態部署問題,使得交換機到控制器的時延最短,并保證控制器的處理能力能夠滿足其上所連接交換機上承載的業務需求。但是,在多控制器部署環境下,由于網絡負載動態變化,需要將交換機從負載較重的控制器動態遷移到負載較輕的控制器下;文獻[4]提出了彈性控制平面的概念、知識架構以及遷移過程的簡述,但文章中并沒有給出具體的算法。盡管網絡控制與數據轉發相分離的新型網絡架構簡化了網絡管理,但隨著交換機數量的增多,單一控制器吞吐能力有限,對于大規模網絡必然會產生系統性能瓶頸。此外,如果網絡設備阻塞或者周圍發生災難故障,控制器控制策略同樣會對網絡整體流量產生影響。
本文主要針對網絡資源利用率進行研究,從服務器端入手,提出基于Dyna agent的動態路由控制策略。當網絡嚴重阻塞或者遇到災害時,觸發學習控制策略,對其建模,通過仿真查看網絡觸發學習機制前后負載以及時延變化情況。
SDN分為基礎設施層、控制層和應用層。虛擬化在基礎設施和控制層兩個層面上來實現:前者實現設備級的虛擬化;后者實現網絡級的虛擬化。SDN控制器將整個網絡當成一個邏輯的超級交換機進行管理控制。
路由負載調節方案需要在服務器集群入口處,通過一個Gateway或者Router來監測統計服務器工作負載,然后動態轉移用戶到負載相對較輕的服務器上,從而緩解網絡的擁堵狀況。OpenFlow[5]可以對網絡中所有設備進行集中式控制和管理,同時服務器的負載運行狀態可以及時地反饋到OpenFlow控制器,因此OpenFlow就非常適合做負載調節工作??刂破魍ㄟ^Host及網絡控制器來監測服務器和網絡的負載變化,然后將這些信息反饋給Flow Manager。OpenFlow控制器就可以根據這些實時的負載信息,重新制定網絡設備運行規則,從而將網絡數據包按照服務器的處理能力進行調整和分發。控制器可以動態地感知各節點和每條路徑的負載狀況,因而可以根據網絡中的負載實時調整路由策略,從而實現網絡流量的最優化。
OpenFlow能夠實現數據轉發和控制相分離,在控制器、FlowVisor中可進行編程,不直接提供網絡切片能力,而是把網元設備分割成單獨的控制端口組,或將網絡分割成單獨的管理域。線路協議用于建立控制會話,對流的修改進行定義和對統計數據進行收集。本文研究SDN分布式控制平面中控制器的靜態部署問題,使得交換機到控制器的時延最短,并保證控制器的處理能力能夠滿足其上所連接交換機上承載的業務需求。在多控制器部署環境下,由于網絡負載動態變化,需要將交換機從負載較重的控制器動態轉移到負載較輕的控制器,實現控制器之間的負載均衡[6,7]。
Dyna agent[8]適用于不知道環境的全部信息以及在環境中采取行動所產生的反應是不確定的狀況。Q學習[9]是無模型算法,通過Q值對累積回報進行估計來尋找最優策略,需要大量試驗來保證其收斂性。Dyna agent是一種給予模型的算法,基于模型的系統利用經驗對環境的交互過程進行建模,在此基礎上開發策略,通過學習已制定的策略減少網絡環境中學習探索成本的過度消耗。
Dyna agent循環迭代函數:
其中,st、a表示當前狀態,r為學習效率,0≤r≤1。本文中R為6×6階矩陣,狀態為行,列表示行為,矩陣中各個元素表示行為的有效反饋狀態。由于剛開始時控制策略對環境一無所知,Q值初始狀態全部設置為0。

圖1 Dyna agent學習模型
OpenFlow控制器學習過程如圖1所示,中間的線表示環境和代理間的相互作用,產生一個現實經驗。結合探索學習模型,控制器是將現實經驗和已有模型的經驗結合起來學習。本文的目的是通過對已有模型的探測經驗,反饋給控制器優先制定探索策略,再進行循環迭代;且用Q值矩陣記錄數據,矩陣中的各個元素在網絡中表示對應數據選擇各條路徑的權重系數。Dyna agent控制策略程序運行過程具體如圖2所示。
步驟1網絡觸發學習機制,控制平面初始化Q值矩陣,初始化狀態Q矩陣元素值都為0;
步驟2路由器發出試探信息探索網絡通信狀態,找出可通信的子節點,使其劃分到最近的網絡核心控制控制器下,并確定各個區域核心節點;
步驟3選擇具有最大Q值的狀態作為當前的激活狀態s;文中對于每一個循環周期,表示路由行為和狀態的Q表中,各有6個Q值;
步驟4根據循環迭代函數,觸發更新狀態s下采取動作a的Q值Q(s,a),對Q值變化進行標記,其余的Q值則不做標記;
步驟5選擇矩陣中具有最大Q值的狀態作為下一個起始狀態,并更新狀態s;檢查是否到達目標狀態,到達則停止,若沒有則繼續下一步;
步驟6返回步驟3運行得到狀態s,繼續依次運行,并記錄循環的次數。

圖2 Dyna agent循環過程
3.1 控制器算法模型設計
Dyna agent算法設計:假設在網絡負載很嚴重時某些路徑堵塞或者處于災后時某些節點中斷后,網絡模型的6個中心節點狀態如圖3所示。節點間鏈接代表網絡設備可通信,節點無鏈接代表網絡設備中斷或者嚴重堵塞,0代表可通信,初始狀態反饋值為0,100為有效激勵反饋獎勵值,代表數據到達目標節點。
網絡模型設計:模擬現實網絡分布情況,把網絡模型劃分為34個節點,網絡編號及節點數分別為:0、4個;1、6個;2、5個;3、6個;4、6個;5、7個。網絡中另外隨機設置一個輔助節點(6)用來驗證網絡結構有效性以及服務器支撐業務量對網絡的影響,結構如圖4所示。根據上文假設的兩種網絡情況,遇到災難或者嚴重堵塞時假設只有圖3所示鏈接可以通信,其中節點5設定為目標網絡節點,各節點配置如表1所示。

圖3 網絡鏈接狀態

圖4 網絡結構拓撲圖

表1 網絡節點配置
3.2 結果仿真與性能分析
設置實驗網絡為高峰期擁堵狀態,部分節點之間無法直接進行數據通信。為簡化實驗網絡,文中擁堵狀態網絡去掉部分節點間鏈接,只設置6個核心控制節點及輔助節點組成的網絡初始狀態均配置為可通信,鏈接狀態如圖4所示。為驗證模型中業務量對網絡節點服務器影響情況,實驗運行算法策略仿真網絡之前,首先配置其輔助節點支持的服務分別為數據輕量級和數據重量級,比對這兩種數據服務支撐狀態可以驗證網絡優化控制結構設計有效性。仿真對比如圖5、圖6所示,可以看出,輔助節點支撐數據較重時給網絡帶來擁堵,時延較大,流量速率較低,數據處理能力衰減。

圖5 輔助節點服務調整前后延遲對比

圖6 輔助節點服務調整前后吞吐量對比
令r=0.8,∑p(st,a,st+1)=1時,實驗程序中函數經過2443次循環運算后得到的數據滿足程序設定條件,得到矩陣Q1;當r=0.9,∑p(st,a,st+1)=1時,運行4056次達到最優,得到矩陣Q2。
定義Q/100×100%為各路徑上選擇權重比。仿真軟件中默認權重系數初始值為10,程序循環運行后得到新的權重系數,各路徑節點權重系數進行重新分配,配置如表2所示。
運行仿真程序,經過多次改變環境參數運行仿真得到的圖像大體類似。本文只給出兩組具有代表性的狀態,當r=0.8和r=0.9時,仿真網絡中權重系數加入前后網絡負載變化及時延改變對比如圖7、圖8和圖9所示。

表2 服務器節點配置

圖7 Dyna觸發前后服務器吞吐量對比
從圖7和圖9可以看出,面對負載較大或者災難時,普通網絡運行中流量和時延抖動較大。在網絡觸發Dyna agent學習機制后,由于每條鏈路上加入了權重系數,網絡節點減少了無效的探索,從而減少流量和時間成本消耗,流量數據可以更有效到達服務器端。

圖8 Dyna觸發前后延遲對比

圖9 Dyna觸發前后平均時間服務器流量變化
提出基于Dyna gent的路由控制算法,通過節點周圍環境的反饋學習,制定出符合當前環境的策略。從仿真結果可以看出,網絡觸發控制策略后處理能力得到增強,網絡延遲也有改善;并且隨著學習效率提升,服務器端接收速率明顯變大,網絡更容易達到最優。
[1] Heller B,Sherwood R,McKeown N.The controller Placement problem[C]//Proceedings of the First Workshop on Hot Topics in Software Defined Networks.ACM,2012:7-12.
[2] Levin D,Wundsam A,Heller B,et al.Logically centralized?:state distribution trade-offs in software defined networks[J].Proceedings of the First Workshop on Hot Topics in Software Defined Networks,2012:1-6.
[3] Tootoonchian A,Ganjali Y.HyperFlow:a distributed control plane for OpenFlow[C]//Internet Network Management Conference on Research on Enterprise NETWORKING.2010:3-3.
[4] Dixit A,Hao F,Mukherjee S,et al.Towards an Elastic Distributed SDN Controller[J].ACM SIGCOMM Computer Communication Review,2013,43(4):7-12.
[5] Namal S,Ahmad I,Gurtov A,et al.SDN Based Inter-Technology Load Balancing Leveraged by Flow Admission Control[C]// Future Networks and Services (SDN4FNS),2013 IEEE SDN for.IEEE,2013:1-5.
[6] Zhang J J,Xi K,Luo M,et al.Load Balancing for Multiple Traffic Matrices Using SDN Hybrid Routing[C]// High Performance Switching and Routing (HPSR),2014 IEEE 15th International Conference on.IEEE,2014:44-49.
[7] Tian H Y,Zhang K,Ruan L,et al.Analysis and Optimization of CFS Scheduler on NUMA-Based Systems[M]// Emerging Technologies for Information Systems,Computing,and Management.New York:Springer,2013:181-189.
[8] Hsu Y P,Jiang W C,Lin H Y.A CMAC-Q-Learning based Dyna agent[C]// SICE Annual Conference.IEEE,2008:2946-2950.
[9] Hwang K S,Jiang W C,Chen Y J.Model learning and knowledge sharing for a multiagent system with Dyna-Q learning[J].Cybernetics,IEEE Transactions on,2015,45(5):978-990.
SDN CONTROL STRATEGY BASED ON DYNA AGENT ALGORITHM Zhu Guohui Li Chenguang Cheng Yu
(SchoolofCommunicationandInformationEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,Shaanxi,China)
A control strategy based on Dyna agent algorithm is proposed to improve resource utilization of network node.First step is to model the deployment of the network controller,then the controller do policy choice by using the environmental feedback which reacts to controller terminal network.Finally,analyze the changes of the node forwarding situation after learning this method,and reset the node option value.The simulation results show that this control strategy has better ability to deal with process nodes,larger throughput and smaller network delay compared with the general control strategy.
Software Defined Network Dynaagent Open Flow Control Strategy
2015-09-01。陜西省教育廳科學研究計劃項目(07JK 377)。朱國暉,副教授,主研領域:移動互聯網和路由算法。李晨光,碩士生。程宇,碩士生。
TP393
A
10.3969/j.issn.1000-386x.2016.11.021