(国网上海市电力公司信息通信公司 上海 200072)
摘要:SDN是一种新型的网络范例,将网络控制平面与数据转发平面分离,大大提高网络资源利用率,简化网络管理,降低运营成本,促进创新与演进。流量控制,是一种防止网络拥塞、提高网络服务质量的路由优化方案。虽然流量控制技术在过去和现有的数据网络中得到广泛利用,通过采用最短路径路由、多协议路由等技术来实现流量控制。独特的SDN网络流量控制是将原来的分布式配置改为由网络控制器完成的集中式控制,控制器持有物理网络的所有信息以及业务需求,利用全网络视图可以轻松实现网络流量的控制。
关键词:SDN;数据中心;网络流量;控制技术
数据中心网络是数据传输、计算和存储的中心,集中了各种软硬件资源和关键核心业务,如Web服务、搜索引擎、MapReduce大规模集群计算等。随着这些业务的迅速发展,现有TCP/IP数据中心网络的性能瓶颈日益凸显。软件定义网络(Software Definition Network,SDN)是一种全新的网络范式,其将数据平面与控制平面相耦合,实现逻辑集中控制。SDN具有网络管理简单灵活、可编程、虚拟化等优点,因此越来越多地被应用于数据中心网络。数据中心网络存在显著的长短流特征。对1000台服务器的数据中心网络一个月25TB的数据量进行统计分析后发现,不到20%的长流贡献超过80%的网络流量。指出约90%的网络流量由长流产生。长流通常由数据备份、虚拟机迁移、数据挖掘等产生,大小一般在1M以上,对吞吐量敏感。目前,在SDN架构的数据中心网络中提高长流吞吐量、改善网络拥塞方面,已取得了一些研究成果。提出了一种显示拥塞通告(ECN)机制,它在保证短流时延性能的情况下,可改善长流吞吐量。该机制利用SDN控制器的全局特性,获取全网拓扑、链路状态、长短流比值等信息,动态设置瓶颈链路的ECN门限值,从而控制发送端的发送速率。仿真结果表明,与DCTCP相比,ECN机制使长流吞吐量提高了12%;定义链路容量使用率大于85%的链路为拥塞链路,为改善网络拥塞及提高网络吞吐量,提出一种基于端到端的重路由方案。利用SDN控制器中的路由引擎模块周期性地监测全网链路,发现拥塞链路时,将链路上的长流重路由到负载最小的路径。除链路拥塞外,链路错误也会触发重路由。因此,重路由方案有效改善了网络拥塞,提高了网络吞吐量及网络安全性。数据中心网络中的源、目的节点间有多条路径,为了有效利用链路资源,提出了等价多路径(ECMP)的流调度方案。该方案在终端检测并标识长流,然后控制器识别长流、计算等价多路径并将其下发至相应交换机,最后将长流数据包调度到多条路径上传输。
一、网络流量控制技术方案
网络流量控制通常为入口端、出口端和数据传输过程三种控制方式。传统的网络架构要实现以上控制需要添加大量协议,而基于SDN的架构网络可以获取全网的状态信息,即可以轻松实现网络流量的灵活控制。控制平面的控制。将粒子群算法中的群进行运算产生变异粒子,变异粒子不只朝着最优解方向飞行,而是朝着相反的方向飞行,这样就提高了整个种群的多样性,扩展了搜索的空间。其改进的粒子群算法可以处理传统粒子群算法部分最优解的问题。
1)将网络的全部节点和链路表示为无向带权图GV,()E,其中V是图中所有节点的集合,E是图中所有链路的集合,每条链路表示两节点之间的通讯的途径。
2)给定源节点和目的节点寻找一条满足约束条件(带宽、时延、丢包率)的最优路径。对于任意链路e∈E,任意网络节点v∈V,给定一条数据流L(源节点和目的节点)寻找满足以下条件的最优路径。①带宽制约:band_width(e)≥B,在L的每条链路e上;②延时制约:Σdelay(e)+Σdelay(v)≤D,在L的路径上;③丢包率制约:packet_loss_rate(v)≤PL,在L的每条节点上。其中,B、D、P分别代表带宽、延时和丢包率制约。band_width(e)是数据包在链路上传输的速率。delay(e)指数据包在链路上传输的平均时间。delay(v)指数据包在节点上传输的平均时间。packet_loss_rate(v)是端口到端口传输时,拥塞造成网络所丢失数据包数量占所发送数据组的比率。
3)基于改进的粒子群算法求解最优解问题的步骤如下:①初始化每个节点的(di,pi)取值,以及存在的每条链路的取值dij,bij,c()ij,给出制约条件中的D,B,P的值。为每条链路i,()j的概率设置一个初始值,初始化m个粒子;②按照各个节点的分量(即丢包率,延时)删除不满足制约条件的节点及相关链路;③按照每条链路的分量(即带宽,延时)删除不满足制约条件的链路。④m个粒子的搜索空间为D,第i粒子的位置是xi=xi1,xi2,…x()iD;第i个粒子迄今为止搜索到的最优解pbest_i=(pbest_i1,pbest_i2,…pbest_iD);整个粒子群搜索到的最优解gbest_i=(gbest_i1,gbest_i2,…gbest_iD);第i个粒子的速度vi=(vi1,vi2,…vim)然后通过下面(1)和(2)式的个体学习和社会学习来更新粒子群的速度和位置,最后通过迭代找到最优解即最优路径。,其核心算法有如下公式:
其中,w是惯性权重;加速常数c1,c2非负且一般取值为2;r1、r2为0,[]1的随机数。⑤将w*vid()t可以看作变异算法的变异操作,看成以变异概率w进行变异。
而c1r1pbest_id-xid()()t+c2r2gbest_id-xid()()t可以看作当前解与个体极值和全局极值分别交叉操作,产生的解为新的路径。满足终止条件(满足最大迭代次数或满足最小误差规范),则以迭代过程中最大适应度的路径作为最优路径,终止计算;否则继续迭代,最终找到一条满足所有约束条件的路径。
转发平面控制。OpenFlow交换机对于网络流量提供了队列调度算法,本文采用了HTB(HierarchicalTokenBucket)队列调度算法,实现交换机进行转发时的队列调度。其中,HTB队列调度算法是对交换机的队列模块进行配置,然后实现其调度。交换机只对数据包进行转发处理,交换机根据流表下发模块增添转发规则并依据更新的流表项进行流量的转发。本文通过在交换机进入端口的网络端口流量的速率进行监视,将超出低级的流量进行丢弃或者延迟发送,使进入端口的流量被限制在某一取值内,使交换机入端口处流量的约束。
二、对比测试结果分析
通过物理机(linuxubuntu13.10)安装Floodlight作为控制器;并在virtualbox虚拟机上运行mininet系统(ubuntu14.04)用来模拟网络结构和交换机。从而在此平台上实现流量控制技术。使用传统网络、SDN网络和基于流量控制的SDN网络的iperf进行网络带宽和网络延迟的测试比较,通过使用mininet的仿真获得的结果在SDN中显示出比传统网络性能较好,而基于流量控制的SDN网络要比SDN网络具有更好的性能。
三、结论
控制平面的流量控制对同一个数据流的每个数据流计算出一条最优路径,这样能够避免产生突发流量时的拥塞,而且提高了整个网络的带宽利用率。转发平面的流量控制对出、入端口的流量进行控制,当有大量流量入端口时进行必要的整形当网络出现拥塞时,控制器下发降低发送速率的命令,网络的丢包率将明显降低,网络的性能得到了整体的提升。由此可见,所设计的算法能高效的解决突发流量的拥塞问题,于此同时也提高了网络Qos。
参考文献
[1]赵笑楠.基于SDN的网络流量控制模型设计与研究[D].北京交通大学,2015.
[2]吴强,徐鑫,刘国燕.基于SDN技术的数据中心基础网络构建[J].电信科学,2013,29(1):130-133.
[3]左青云,陈鸣,赵广松.基于OpenFlow的SDN技术研究[J].软件学报,2013(5):1078-1097.
[4]王曙燕,杨悦.基于改进粒子群算法的变异体选择优化[J].计算机应用研究,2017,34(3):752-755.
论文作者:方晓蓉
论文发表刊物:《电力设备》2018年第8期
论文发表时间:2018/7/6
标签:网络论文; 链路论文; 粒子论文; 节点论文; 路径论文; 最优论文; 算法论文; 《电力设备》2018年第8期论文;