基于Dyna agent算法的SDN控制策略
- 格式:pdf
- 大小:4.66 MB
- 文档页数:4
第33卷第11期2016年11月计算机应用与软件Computer Applications and SoftwareVoL33 No. 11Nov. 2016基于Dyna agent算法的SDN控制策略朱国晖李晨光程宇(西安邮电大学通信与信息工程学院陕西西安71〇121)摘要 为改善网络节点资源利用率,提出基于Dyna agent算法的控制器控制策略。首先对网络控制器部署建模;然后控制器利 用环境反馈信息反作用于控制端网络流量控制策略抉择;最后分析触发学习机制后各节点转发状态的变化,重新设置节点选择权 值。仿真结果表明,该控制策略相对于普通控制策略的网络可使目的节点处理能力更强,吞吐量增大,网络延迟更小。关键词 软件定义网络Dyna agent OpenFlow控制策略中图分类号 TP393 文献标识码 A D01:10. 3969/j. issn. 1000-386x. 2016.11.021SDN CONTROL STRATEGY BASED ON DYNA AGENT ALGORITHMZhu Guohui Li Chenguang Cheng Yu(School of Communication and Information Engineering, Xi5 an University of Posts and Telecommunications ,XV an 710121 , Shaanxi, China)Abstract 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.Keywords Software Defined Network Dynaagent Open Flow Control Strategy〇引言降低流量成本、提升管道价值、加速网络创新是网络发展的 目标。在此背景下,软件定义网络SDN应运而生。SDN核心是 控制与转发相分离,网络软件化,对目前垂直紧耦合结构进行解 耦,网络能力得到充分开放,从而提升网络的创新能力。利用SDN控制器可编程特性,对网络切片进行重新部 署解决网络僵化问题,提高网络资源利用率。文献[3]研 究了 SDN分布式控制平面中控制器的静态部署问题,使得交换 机到控制器的时延最短,并保证控制器的处理能力能够满足其 上所连接交换机上承载的业务需求。但是,在多控制器部署环 境下,由于网络负载动态变化,需要将交换机从负载较重的控制 器动态迁移到负载较轻的控制器下;文献[4]提出了弹性控制 平面的概念、知识架构以及迁移过程的简述,但文章中并没有给 出具体的算法。尽管网络控制与数据转发相分离的新型网络架 构简化了网络管理,但随着交换机数量的增多,单一控制器吞吐 能力有限,对于大规模网络必然会产生系统性能瓶颈。此外,如 果网络设备阻塞或者周围发生灾难故障,控制器控制策略同样 会对网络整体流量产生影响。本文主要针对网络资源利用率进行研究,从服务器端人手, 提出基于Dyna agent的动态路由控制策略。当网络严重阻塞或 者遇到灾害时,触发学习控制策略,对其建模,通过仿真查看网络触发学习机制前后负载以及时延变化情况。1 SDN控制端负载分析SDN分为基础设施层、控制层和应用层。虚拟化在基础设 施和控制层两个层面上来实现:前者实现设备级的虚拟化;后者 实现网络级的虚拟化。SDN控制器将整个网络当成一个逻辑 的超级交换机进行管理控制。路由负载调节方案需要在服务器集群人口处,通过一个 Gate way或者Route I■来监测统计服务器工作负载,然后动态转 移用户到负载相对较轻的服务器上,从而缓解网络的拥堵状况。 0PenFl〇w[5]可以对网络中所有设备进行集中式控制和管理,同 时服务器的负载运行状态可以及时地反馈到OpenFlow控制器, 因此OpenFlow就非常适合做负载调节工作。控制器通过Host 及网络控制器来监测服务器和网络的负载变化,然后将这些信 息反馈给Flow Manager。OpenFlow控制器就可以根据这些实时 的负载信息,重新制定网络设备运行规则,从而将网络数据包按 照服务器的处理能力进行调整和分发。控制器可以动态地感知 各节点和每条路径的负载状况,因而可以根据网络中的负载实 时调整路由策略,从而实现网络流量的最优化。收稿日期:2015 - 09 - 01。陕西省教育厅科学研究计划项目(07JK 377)。朱国晖,副教授,主研领域:移动互联网和路由算法。李晨光,硕 士生。程宇,
硕士生。第11期朱国日军等:基于Dyna agent算法的SDN控制策略912 OpenFlow控制器算法设计OpenFlow能够实现数据转发和控制相分离,在控制器、 FlowVi■中可进行编程,不直接提供网络切片能力,而是把网 元设备分割成单独的控制端口组,或将网络分割成单独的管理 域。线路协议用于建立控制会话,对流的修改进行定义和对统 计数据进行收集。本文研究SDN分布式控制平面中控制器的 静态部署问题,使得交换机到控制器的时延最短,并保证控制器 的处理能力能够满足其上所连接交换机上承载的业务需在 多控制器部署环境下,由于网络负载动态变化,需要将交换机从 负载较重的控制器动态转移到负载较轻的控制器,实现控制器 之间的负载均衡[6’7]。Dyna agent[8]适用于不知道环境的全部信息以及在环境中 采取行动所产生的反座是不确定的状况。Q学习W是无模型算 法,通过G值对累积回报进行估计来寻找最优策略,需要大量 试验来保证其收敛性。Dyna agent是一种给予模型的算法,基 于模型的系统利用经验对环境的交互过程进行建模,在此基础 上开发策略,通过学习已制定的策略减少网络环境中学习探索 成本的过度消耗。Dyna agent循环迭代函数:QK(st,a)二 R,(st,a) + (st,a,st+i)MaxQk一 1其中表示爾前状态,r为学习效率,0J 校喂OpenFlow控制器学习过程如图1所示,中间的线表示环境 和代理间的相互作用,产生一个现实经验。结合探索学习模型, 控制器是将现实经验和已有模型的经验结合起来学习。本文的 目的是通过对已有模型的探测经验,反馈给控制器优先制定探 索策略,再进行循环迭代;且用P值矩阵记录数据,矩阵中的各 个元素在网络中表示对应数据选择各条路径的权重系数d Dyna agent控制策略程序运行过程具体如图2所示。步骤1网络触发学习机制,控制平面初始化P值矩阵,初 始化状态P矩阵元素值都为〇;步骤2路由器发出试探信息探索网络通信状态,找出可 通信的子节点,使其划分到最近的网络核心控制控制器下,并确 定各个区域核心节点;步骤3选择具有最大值的状态作为当前的激活状态^ 文中对于每一个循环周期,表示路由行为和状态的P表中,各 有6个值;步骤4根据循环迭代函数,触发更新状态s下采取动作a 的C值,对C值变化进行标记,其余的C值则不做标记;步骤5选择矩阵中具有最大值的状态作为下一个起始 状态,并更新状态s;检查是否到达目标状态,到达则停止,若没 有则继续下一步;步骤6返回步骤3运行得到状态继续依次运行,并记 录循环的次数。模型学习图2 Dyna agent循环过程3仿真及结果分析3.1控制器算法模型设计Dyna agent算法设计:假设在网络负载很严重时某些路径 堵塞或者处于灾后时某些节点中断后,网络模型的6个中心节 点状态如图3所示。节点间链接代表网络设备可通信,节点无 链接代表网络设备中断或者严重堵塞,〇代表可通信,初始状态 反馈值为〇,1〇〇为有效激励反馈奖励值,代表数据到达目标 节点。网络模型设计:模拟现实网络分布情况,把网络模型划分为 34个节点,网络编号及节点数分别为:0、4个;1、6个;2、5个;3、 6个;4、6个;5、7个6网络中另外随机设置一个辅助节虚(6)用 来验证网络结构有效性以及服务器支撑业务M对网络的影响, 结构如图4所示§根据上文假设的两种网络情况,遇到灾难或 者严重堵塞时假设只有图3所示链接可以通信,其中节点5设 定为目标网络节点,各节点配置如表1所示。92计算机应用与软件2016 年
0 10 20 30 40 50 60学习时间(min)图7 Dyna触发前后服务器吞吐量对比(下转第152页)图5辅助节点服务调整前后延迟对比10J0 (170,170)41 (22,90)63c-ssii-332 (90,170)5Sm_Int_004s_ae52lOBaseT 203 (100,90)6wkstn_e48_ge34 (175,90)65 (100.22)73.2结果仿真与性能分析设置实验网络为高峰期拥堵状态,部分节点之间无法直接 进行数据通信。为简化实验网络,文中拥堵状态网络去掉部分 节点间链接,只设置6个核心控制节点及辅助节点组成的网络 初始状态均配置为可通信,链接状态如图4所示。为验证模型 中业务量对网络节点服务器影响情况,实验运行算法策略仿真 网络之前,首先配置其辅助节点支持的服务分别为数据轻量级 和数据重量级,比对这两种数据服务支撑状态可以验证网络优 化控制结构设计有效性。仿真对比如图5、图6所示,可以看 出,辅助节点支撑数据较重时给网络带来拥堵,时延较大,流量 速率较低,数据处理能力衰减。网络结构有效性编号支持服务选择权重 r = 0. 8 r = 0. 9发送速率(bytes/sec)06.48. 118.09.02数据5. 17.23(light)6.48. 11 000 00048.09.0510106(heavy)00Dyna agent网络优化; —I— after Dyna agent p=0.8运行时间(min)图6辅助节点服务调整前后吞吐量对比 令r=0.8, =1时,实验程序中函数经过2443次循环运算后得到的数据满足程序设定条件,得到矩阵 (?1;当厂=0.9,;£>,^+1) = 1时,运行4056次达到最优, 得到矩阵込。-000080o --000090o -00640100000810100f) _0006400n 一0008100VI -080510800V2 -09072090064006401008100810100-0800080100--0900090100-定义(?/100 x 100%为各路径上选择权重比。仿真软件中 默认权重系数初始值为10,程序循环运行后得到新的权重系 数,各路径节点权重系数进行重新分配,配置如表2所示。运行仿真程序,经过多次改变环境参数运行仿真得到的图 像大体类似。本文只给出两组具有代表性的状态,当「= 8和r =〇. 9时,仿真网络中权重系数加入前后网络负载变化及时延 改变对比如图7、图8和图9所示。表2服务器节点配置oooooooooooo12108 6 4 2lit