论文部分内容阅读
【摘要】 随着移动互联网通信技术的快速发展,新型网络应用和业务越来越多,网络用户数量和网络规模迅速增长,如何利用现有的网络资源和更有效率的路由优化方法来为网络业务提供更好的服务质量(Quality of Service,QoS),已经成为网络发展的难题。网络规模的不断增大以及网络复杂度的不断提高,使得传统的QoS路由优化方案都越来越力不从心。这是由于传统QoS路由优化方案往往是针对某些具体网络场景的,而针对这些场景的解决方案难以适应不断变化的业务需求,因此需要提出一种适用广泛应用场景的QoS路由方案。近几年随着人工智能的发展,深度学习和强化学习都取得巨大进步,结合二者的深度强化学习在智能优化探索上有着巨大的潜力,与此同时,软件定义网络(Software-Defined Networking,SDN)的出现使得网络的控制变得更加灵活和高效,这些都为实现更加智能的QoS路由优化方案提供了新的机遇。本文对QoS多约束路由优化的问题进行了研究,以SDN为基本框架,使用深度强化学习进行路由策略,提出了一种新型的智能QoS路由优化方案。
【关键词】 软件定义网络 QoS 智能路由
一、 相关技术
1.1 SDN架构
1.SDN具有以下特点:1)与传统网络设备转发功能与控制功能是紧密结合相比,实现了數据平面与控制平面相分离。如果需要对网络应用功能进行更新,则必须对所有网络设备重新逐一配置,扩展性较差。SDN的出现使得网络设备得到解脱,网络设备只需按照控制层的SDN控制器下发的流表策略来执行转发,而不需要在去制定规则。极大地提高了网络设备的转发效率。2)集中式的控制,控制器控制着下层的网络设备,也控制着上层的网络应用,可以为上层应用提供不同的网络服务,3)具有可编程的接口,向应用层提供可编程的北向接口,开发者可以制定自己需要的网络功能。4)实现对网络流的细粒度管理,能够对流实时监控,对网络管理更加灵活和高效。SDN的架构主要由应用平面、控制平面、数据平面这三个部分组成。
1.2 OpenFlow
在SDN网络中,控制平面的控制器与过数据平面的网络设备通过OpenFlow协议进行通信。SDN控制器负责对控制规则的制定、流表下发,交换机只需按照下发的流表规则进行转发。底层设备支持OpenFlow协议,称为OepnFlow交换机。
1.3 SDN 控制器
SDN控制器是控制层的核心组件,通过数据平面网络设备的运行状态来负责数据流的转发,并且向上层业务提供可编程的业务接口。在控制器中写相应的路由控制算法,能够得到满足QoS需求的路径。
二、基于SDN和A3C的智能QoS路由算法
2.1 A3C算法模型构建
之前在第二小节分别介绍了基于值(Value)和基于策略(Policy)的二种强化学习方法,Actor-Critic算法(AC)就是融合了以值为中心和以策略(动作概率)为中心的强化学习算法。A3C算法为了提升网络训练的速度而采用异步训练的思想,利用多线程的训练方法。每个线程都相当于一个智能体在同一个或者不同的环境中进行随机探索,多个智能体共同进行探索的过程,之后收集探索过程中的状态、动作、奖励等信息,将收集到的信息按照异步的方式交互给中心网络进行梯度更新和网络学习,从而完成并行计算策略梯度的过程。即同时启动多个agent在环境中进行训练,异步进行数据采样,并在之后收集采集的样本进行网络参数的训练,在中心网络更新网络后下发到各个agent当中,在新的参数情况下进行新的数据采样,并且重复这个过程。
2.2 A3C网络设计
上节论述了基于QoS智能路由系统的A3C算法框架,本节重点论述A3C算法的网络设计细节进行阐述,包括输入状态设计、输出动作设计、奖励函数的设计以及算法环境的设计,算法的整体设计实现逻辑图如图所示:
2.3 QoS路由计算
根据网络中不同服务类型流的需求,本文提的QoS多约束路由算法—SDMCQR算法对不同需求的流提供不同的服务,如算法1所示。对于非QoS需求的流使用Dijkstra算法。对于有QoS需求的业务流,考虑有多种QoS参数要求,通过A3C深度网络模型的训练,会得到一套链路权值[w1, w2, …, wn],根据链路的权重值加权以及流的优先级来来选择最佳路径,并能够实现动态路由切换和数据流的在线路由功能。
三、系统测试
31 网络连通性测试
为了保证测量模块、网络感知模块、网络监控模块、智能路由模块的正常工作,基于OS3E的基本拓扑结构,用Mininet和Ryu控制器之间的连通,来测试网络环境的正常使用。首先输入ryu—manager 命令开启Ryu控制器,在Mininet中通过运行Python编写的OS3E拓扑的拓扑脚本,使用#sudo mn --custom os3e.py --topo mytopo --mac --controller remote --Link tc 命令可以开启网络感知模块功能。
3.2 QoS智能路由测试
路径发生变化的原因就是每个QoS流来选择路径。通过OS3E 网络拓扑结构中可以看到h11 ping h15 至少有8条候选路径,通过对数据层交换机底层链路状态信息的搜集,放入到A3C深度强化学习训练,智能路由算法会得到所有的链路权重,经过141次神经网络的训练后,通过计算每个源地址h11和目的地址h5的候选路径权重加权值来确定最优路径,即[S11—S8—S7—S14—S5]链路加权值最小,即就是最优路径。
3.3 性能分析 将SA3CR算法、DDPG路由算法(DDPG_R)、NAF路由算法(NAF_R)、ECMP算法、KSP算法这四种算法做了对比。用Iperf工具发送数据包进行测试,DDPG算法是当前最优算法进行路由优化算法之一,NAF是一种连续的DQN算法,ECMP是一种等价多路径负载均衡算法,KSP算法是一种K条最短路径算法,A3C_R智能路由算法充分考虑了QoS流的带宽、时延、丢包率等主要的QoS指标,在连续的状态动作空间内选择动作,相对比其他智能算法,使用采用异步训练的思想,利用多线程的训练方法,提升网络训练的速度,训练效果良好。
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算法在在优化QoS路由场景下在时延性能优于其他算法,减少了10%的平均端到端传输时延。
2. 吞吐量。对于KSP算法来说,有K条候选路径可能会公用相同的链路,这时链路会拥塞,网络的传输能力就会下降。ECMP主要采用等价多路径传输,没有综合考虑当前网络中各个路径的带宽时延和可靠性,当链路的网络状态存在很大差异时,不能很好的利用带宽,造成吞吐量较低。
3.平均丢包率。KSP算法比ECMP算法的丢包率稍低,主要是因为KSP有多条备选路径可以进行路由,但是比SA3CR、DDPG_R、NAF_R这些强化学习算法丢包率高,因为智能优化算法,在生成路径时会尽量减少各路径共用一条路径情况的出现,避免了链路的过度拥塞。
四、结束语
本文利用SDN框架与深度学习算法相结合,设计了一套基于SDN的QoS智能路由优化方案。基于时间有限,论文仍然存在以下不足:(1)本文只在Mininet网络仿真实验平台使用OS3E拓扑测试了基于SDN的QoS智能路由优化系统,对各模块的功能进行了验证,由于时间和精力有限,并未在真实的网络环境中进行部署,因此后续的研究应尽力在真实的更大规模的复杂网络结构中部署。才能更加体现QoS智能路由系统的有效性。(2)结合GNN图神经网络的拓扑信息感知能力和深度强化学习的自我探索学习能力,将是未来提升网络智能路由策略性的一个重要研究方向。
参 考 文 献
[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]李丹,陈贵海,任丰原,蒋长林,徐明伟.数据中心网络的研究进展与趋势[J].计算机学报,2014,37(02):259-274.
[6]张朝昆,崔勇,唐翯翯,吴建平.软件定义网络(SDN)研究进展[J].软件学报,2015,26(01):62-81.
[7]左青云,陈鸣,赵广松,邢长友,张国敏,蒋培成.基于OpenFlow的SDN技术研究[J].软件学报,2013,24(05):1078-1097.
[8]金勇,刘亦星,王欣欣.基于SDN的数据中心网络多路径流量调度算法[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.
【关键词】 软件定义网络 QoS 智能路由
一、 相关技术
1.1 SDN架构
1.SDN具有以下特点:1)与传统网络设备转发功能与控制功能是紧密结合相比,实现了數据平面与控制平面相分离。如果需要对网络应用功能进行更新,则必须对所有网络设备重新逐一配置,扩展性较差。SDN的出现使得网络设备得到解脱,网络设备只需按照控制层的SDN控制器下发的流表策略来执行转发,而不需要在去制定规则。极大地提高了网络设备的转发效率。2)集中式的控制,控制器控制着下层的网络设备,也控制着上层的网络应用,可以为上层应用提供不同的网络服务,3)具有可编程的接口,向应用层提供可编程的北向接口,开发者可以制定自己需要的网络功能。4)实现对网络流的细粒度管理,能够对流实时监控,对网络管理更加灵活和高效。SDN的架构主要由应用平面、控制平面、数据平面这三个部分组成。
1.2 OpenFlow
在SDN网络中,控制平面的控制器与过数据平面的网络设备通过OpenFlow协议进行通信。SDN控制器负责对控制规则的制定、流表下发,交换机只需按照下发的流表规则进行转发。底层设备支持OpenFlow协议,称为OepnFlow交换机。
1.3 SDN 控制器
SDN控制器是控制层的核心组件,通过数据平面网络设备的运行状态来负责数据流的转发,并且向上层业务提供可编程的业务接口。在控制器中写相应的路由控制算法,能够得到满足QoS需求的路径。
二、基于SDN和A3C的智能QoS路由算法
2.1 A3C算法模型构建
之前在第二小节分别介绍了基于值(Value)和基于策略(Policy)的二种强化学习方法,Actor-Critic算法(AC)就是融合了以值为中心和以策略(动作概率)为中心的强化学习算法。A3C算法为了提升网络训练的速度而采用异步训练的思想,利用多线程的训练方法。每个线程都相当于一个智能体在同一个或者不同的环境中进行随机探索,多个智能体共同进行探索的过程,之后收集探索过程中的状态、动作、奖励等信息,将收集到的信息按照异步的方式交互给中心网络进行梯度更新和网络学习,从而完成并行计算策略梯度的过程。即同时启动多个agent在环境中进行训练,异步进行数据采样,并在之后收集采集的样本进行网络参数的训练,在中心网络更新网络后下发到各个agent当中,在新的参数情况下进行新的数据采样,并且重复这个过程。
2.2 A3C网络设计
上节论述了基于QoS智能路由系统的A3C算法框架,本节重点论述A3C算法的网络设计细节进行阐述,包括输入状态设计、输出动作设计、奖励函数的设计以及算法环境的设计,算法的整体设计实现逻辑图如图所示:
2.3 QoS路由计算
根据网络中不同服务类型流的需求,本文提的QoS多约束路由算法—SDMCQR算法对不同需求的流提供不同的服务,如算法1所示。对于非QoS需求的流使用Dijkstra算法。对于有QoS需求的业务流,考虑有多种QoS参数要求,通过A3C深度网络模型的训练,会得到一套链路权值[w1, w2, …, wn],根据链路的权重值加权以及流的优先级来来选择最佳路径,并能够实现动态路由切换和数据流的在线路由功能。
三、系统测试
31 网络连通性测试
为了保证测量模块、网络感知模块、网络监控模块、智能路由模块的正常工作,基于OS3E的基本拓扑结构,用Mininet和Ryu控制器之间的连通,来测试网络环境的正常使用。首先输入ryu—manager 命令开启Ryu控制器,在Mininet中通过运行Python编写的OS3E拓扑的拓扑脚本,使用#sudo mn --custom os3e.py --topo mytopo --mac --controller remote --Link tc 命令可以开启网络感知模块功能。
3.2 QoS智能路由测试
路径发生变化的原因就是每个QoS流来选择路径。通过OS3E 网络拓扑结构中可以看到h11 ping h15 至少有8条候选路径,通过对数据层交换机底层链路状态信息的搜集,放入到A3C深度强化学习训练,智能路由算法会得到所有的链路权重,经过141次神经网络的训练后,通过计算每个源地址h11和目的地址h5的候选路径权重加权值来确定最优路径,即[S11—S8—S7—S14—S5]链路加权值最小,即就是最优路径。
3.3 性能分析 将SA3CR算法、DDPG路由算法(DDPG_R)、NAF路由算法(NAF_R)、ECMP算法、KSP算法这四种算法做了对比。用Iperf工具发送数据包进行测试,DDPG算法是当前最优算法进行路由优化算法之一,NAF是一种连续的DQN算法,ECMP是一种等价多路径负载均衡算法,KSP算法是一种K条最短路径算法,A3C_R智能路由算法充分考虑了QoS流的带宽、时延、丢包率等主要的QoS指标,在连续的状态动作空间内选择动作,相对比其他智能算法,使用采用异步训练的思想,利用多线程的训练方法,提升网络训练的速度,训练效果良好。
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算法在在优化QoS路由场景下在时延性能优于其他算法,减少了10%的平均端到端传输时延。
2. 吞吐量。对于KSP算法来说,有K条候选路径可能会公用相同的链路,这时链路会拥塞,网络的传输能力就会下降。ECMP主要采用等价多路径传输,没有综合考虑当前网络中各个路径的带宽时延和可靠性,当链路的网络状态存在很大差异时,不能很好的利用带宽,造成吞吐量较低。
3.平均丢包率。KSP算法比ECMP算法的丢包率稍低,主要是因为KSP有多条备选路径可以进行路由,但是比SA3CR、DDPG_R、NAF_R这些强化学习算法丢包率高,因为智能优化算法,在生成路径时会尽量减少各路径共用一条路径情况的出现,避免了链路的过度拥塞。
四、结束语
本文利用SDN框架与深度学习算法相结合,设计了一套基于SDN的QoS智能路由优化方案。基于时间有限,论文仍然存在以下不足:(1)本文只在Mininet网络仿真实验平台使用OS3E拓扑测试了基于SDN的QoS智能路由优化系统,对各模块的功能进行了验证,由于时间和精力有限,并未在真实的网络环境中进行部署,因此后续的研究应尽力在真实的更大规模的复杂网络结构中部署。才能更加体现QoS智能路由系统的有效性。(2)结合GNN图神经网络的拓扑信息感知能力和深度强化学习的自我探索学习能力,将是未来提升网络智能路由策略性的一个重要研究方向。
参 考 文 献
[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]李丹,陈贵海,任丰原,蒋长林,徐明伟.数据中心网络的研究进展与趋势[J].计算机学报,2014,37(02):259-274.
[6]张朝昆,崔勇,唐翯翯,吴建平.软件定义网络(SDN)研究进展[J].软件学报,2015,26(01):62-81.
[7]左青云,陈鸣,赵广松,邢长友,张国敏,蒋培成.基于OpenFlow的SDN技术研究[J].软件学报,2013,24(05):1078-1097.
[8]金勇,刘亦星,王欣欣.基于SDN的数据中心网络多路径流量调度算法[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.