APP下载

一种基于SDN的自适应多路径负载均衡策略

2018-04-28周立前赵正伟

西安工程大学学报 2018年2期
关键词:多路径数据包路由

胡 柳,周立前,邓 杰,赵正伟,李 瑞

(1.湖南信息职业技术学院 计算机工程学院,湖南 长沙 410200;2.湖南工业大学 计算机学院,湖南 株洲 412007;3.广西民族大学 理学院,广西 南宁 530006;4.河北省眼科医院 信息科,河北 邢台 054000)

0 引 言

传统的数据中心网络部署采用多链路、折叠式Clos结构、Fat-tree胖树拓扑等来解决网络数据负载均衡、拥塞等情况,而有限的链路在应对资源访问请求量急剧增加的情况时无法有效、及时完成数据传输,存在数据负载不均衡、网络拥塞.近年来国内外一些学者对基于SDN的网络数据传输进行了研究,如文献[1]提出OFMT为每条流精确计算传输路径,将网络中的流量优化分配到端到端的多条路径上,并通过周期性轮询和动态调度实现良好的负载均衡,进而提高数据中心网络吞吐量;另外还有基于遗传算法的多路径路由问题[2-3],数据中心网络数据传输问题[4-7],视频服务器负载均衡监测[8],基于SDN的安全系统[9-11]等,研究热点集中在OpenFlow协议的控制层对数据包进行重路由、数据迁移等方面的计算,在自适应多路径负载均衡方面的研究较少且效果不明显.

本文提出一种基于SDN的自适应多路径负载均衡策略(SDN-AMLB),利用Adaboost算法实现动态自适应大流重路由并添加到流表,从而实现自适应负载均衡.

图 1 框架模型图Fig.1 Framework model

1 自适应多路径负载均衡

1.1 框架模型

实现自适应多路径负载均衡的OpenFlow控制层结构如图1所示,主要包括负载监控模块、拓扑发现模块、流表管理模块、流量检测模块、自适应调度模块.负载监控模块对各路径的流量进行监控,及时记录空闲和过载的路径.拓扑发现模块用于帮助控制器掌握全局网络结构.流表管理模块与自适应调度模块相结合,将新产生的重路由路径进行统一管理.流量检测模块对流入、流出的大小流量进行标记.自适应调度模块根据链路流量的情况进行自适应调整,调整数据流的路径并反馈至OpenFlow数据层,从而实现负载均衡功能.

1.2 流量检测模块

为了有效实现负载均衡机制,需要将网络流量中的大小流进行区分并进行标记,采用自适应算法对每条流进行路径计算,进而完善流表实现重路由.通过对数据中心流量的监测发现,近80%的流量为小于100 kB.本文监测使用多OpenFlow控制器内的流量检测模块对数据流进行解析,标记超过100 kB的流量,并提交自适应调度模块对流量进行路径计算,实现多路径下的负载均衡.

1.3 自适应调度模块

自适应调度模块是本文中的关键模块,负责为网络中的流量计算最佳的路由路径,提高全网的利用率和吞吐量,实现网络负载均衡.网络拓扑结构可以认为是一个无向连通图,将其表示为:S=(N(s),F(s)),其中连通图中结点集合为N(s)、边集合为F(s).为了表示模拟连通图中数据的传输信息,图中每条边的带宽表示为W(Ni,Nj),实际的数据传输表示为WT(Ni,Nj).自适应多路径负载均衡的目的是使得在单位时间内W(Ni,Nj)与WT(Ni,Nj)最为接近,路径空闲率最低,且能根据数据包大小进行自适应调度.

控制器自适应调度模块初始化采用模拟网络数据进行自适应学习,设单位时间内的网络数据流量为D1,D2,D3,…,Dn,其中每个元素D可使用元组表示为(p,w,r(i,j)),p为协议类型,w为数据包大小,r为默认路径集合.单位时间内的网络数据量表示为式(1),其中Di,w为网络数据Di的大小.各路径传输的数据包数量表示为式(2).

(1)

(2)

用于自适应学习的网络数据表示为矩阵

(3)

数据中心网络路径分布表示为矩阵乘积

F=F1×F2×…×Fn.

(4)

其中:n为中心服务器到网络边界结点最大路由跳数,Fi定义为第i级结点到后一级结点间的路径矩阵,如(5)所示.

(5)

自适应学习阶段利用模拟网络数据D分时间段输入到网络中,结合W(Ni,Nj)和WT(Ni,Nj)对数据传输路径进行模拟,并实时调整D中属性r,寻找最优的模型参数使数据传输效率最高,各路径数据量均衡.每时间段内的模拟数据传输作为一次算法的迭代过程,并获取其最优的弱分类器,通过N次迭代最终将N个弱分类器通过更新权重获得强分类器.数据传输链路变换需要采用链路承载的数据量和链路带宽进行评估,链路剩余带宽为总带宽减当前链路上承载的网络流量,可表示为E(Ni,Nj).

(6)

为了提高链路利用率,方法中引入链路空闲率参数S(Ni,Nj),当链路(Ni,Nj)中数据包传输完成后对该链路标记“空”状态,数据包需要寻找路径时在“空”路径中寻找最长“空”标记路径进行传输.设需要寻找路径的数据包为Di,其路径计算式如式(7)所示.

Di·r=max(S(N1,N1),S(N1,N2),…,S(N1,Nn)).

(7)

算法过程如下:

(1) 初始化操作,输入网络数据D,更新路径上的空闲情况.

(2) 循环数据包.

(3) 大流量分析并标记,标记超过100 kB的数据包.

(4) 提取数据包中的路径表,并初步分析路径的合理性.

(5) 计算每一级路径上可承载该数据包的可能性,且对路径空闲情况进行评估.

(6) 寻找最优空闲路径并更新路径表.

(7) 传输数据并更新链路空闲参数.

(8) 记录模型相关参数,获取弱分类器模型.

图 2 网络拓扑图Fig.2 Network topology

2 实验结果

选用Mininet工具模拟SDN网络用以验证SDN-AMLB的吞吐率、负载均衡二个特征结果.网络拓扑结构如图2所示.服务器位于数据中心,通过多路径冗余连接网络边界与用户主机.边界用户分别向服务器发送请求,通过仿真实验验证SDN-AMLB下网络吞吐率、负载均衡二个指标.

实验中记录时间为1 min,根据SDN-AMLB 算法过程,其中需要对大小流进行路由选择,实验中的终端计算机用户分别请求数据量为区间随机分布,大小分配的关键点为512 kbit,1 Mbit,5 Mbit,20 Mbit,50 Mbit,100 Mbit,服务器及交换机线路带宽为1 Gbit/s,其余链路带宽范围[1 Mbit/s,200 Mbit/s]随机分布.

实验中利用SDN-AMLB算法对每个数据包进行重路由计算,根据第2节的计算过程进行自适应多路径数据转发.请求数据大小的分布情况有不均衡和均衡,初始15 s内两种情况的吞吐量基本一致,后期由于对链路带宽、链路空闲率及节点、数据包大小等情况的综合计算,通过算法进行重路由后使得两种情况下网络吞吐量不一致.在请求数据分布不均衡的情况下,33 s后网络吞吐量稳定在170 Mbit/s;而请求数据均衡的情况下,26 s后网络吞吐量稳定在140 Mbit/s.这是由于SDN-ALMB算法在网络数据包模拟时通过不断完善数据进行自适应调整,经过一定时间的收敛后结果趋于稳定.网络吞吐量指标如图3所示.

网络负载均衡度根据网络链路实时数据进行统计,网络数据在链路中分布越均衡,该指标数据越高.实验中对各链路进行监测,初始化情况下10~32 s内流量不均衡状态下的均衡度比流量均衡状态下的均衡度低,而在32 s之后结果相反,在经过分类器完善后使得网络数据传输较为稳定,线路利用率较高,各节点负载均衡程度基本稳定.由于算法在计算过程中结合链路带宽、剩余带宽、空闲率等情况进行重路由计算,使链路在承担的数据量上趋于稳定,负载均衡指标如图4所示.

图 3 网络吞吐量指标 图 4 网络负载均衡度指标 Fig.3 Network throughput index Fig.4 Network load balance index

对网络中相关结点进行监测,在用户请求数据分布不均衡和均衡的情况下,节点A和节点B吞吐量及传输的数据包数量如表1所示.

表 1 节点监控数据Table 1 Node monitoring data

表 2 链路监控数据Table 2 Link monitoring data

实验过程中对链路的监测主要使用线路利用率、剩余带宽等参数进行评估,在请求数据不均衡和均衡的情况下对节点A和结点B的监测结果如表2所示.

3 结束语

设计了基于SDN的自适应多路径负载均衡策略SDN-MLAB,其控制层主要有负载监控模块、拓扑发现模块、流表管理模块、流量检测模块、自适应调度模块,其中自适应调度模块是本文重点,结合Adaboost自适应学习过程对网络数据包进行重路由计算,并对算法过程进行描述.仿真实验表明,在不同网络数据包传输情况下SDN-MLAB策略能有效实现网络数据包传输的负载均衡,有较高的吞吐量,提高了多路径冗余链路下的链路利用率.

SDN-MLAB策略的不足之处是流表更新频繁,且未对拓扑进行有效的发现设计.如果SDN控制器需要不停地更新流表会造成控制器效率低下,对网络拓扑没有进行故障应对处理策略,网络设备故障时会对数据传输产生影响.上述二方面的内容是后期需要着重思考与解决的内容.

参考文献(References):

[1] 陈鸣,胡慧,刘波,等.一种基于OpenFlow的多路径传输机制[J].电子与信息学报,2016,38(5):1242-1248.

CHEN M,HU H,LIU B,et al.An OpenFlow based multipath transmission mechanism[J].Journal of Electronics & Information Technology,2016,38(5):1242-1248.

[2] LIU Y,PAN Y,YANG M,et al.The multi-path routing problem in the software defined network[C]//International Conference on Natural Computation.IEEE,2016:250-254.

[3] KANG S B,KWON G I.Load balancing of software-defined network controller using genetic algorithm[J].Contemporary Engineering Sciences,2016,9(18):881-888.

[4] FIZI F S,ASKAR S.A novel load balancing algorithm for software defined network based datacenters[C]//International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications.IEEE,2016:1-6.

[5] 杨洋,杨家海,温皓森,等.基于SDN流量测量的数据中心多路径传输研究[J].华中科技大学学报(自然科学版),2016,44(11): 53-58.

YANG Y,YANG J H,WEN H S,et al.Multipath routing research based on traffic measurement under SDN in data center networks[J].Journal of Huazhong University of Science & Technology(Natural Science Edition),2016,44(11):53-58.

[6] 林智华,高文,吴春明,等.基于离散粒子群算法的数据中心网络流量调度研究[J].电子学报,2016,44(9):2197-2202.

LIN Z H,GAO W,WU C M,et al.Data center network flow scheduling based on DPSO algorithm[J].Acta Electronica Sinica,2016,44(9):2197-2202.

[7] 陆一飞,朱书宏.数据中心网络下基于SDN的TCP拥塞控制机制研究与实现[J].计算机学报,2017,40(9):2167-2180.

LU Y F,ZHU S H.Research and implementation of TCP congestion control mechanism based on SDN in data center network[J].Chinese Journal of Computers,2017,40(9):2167-2180.

[8] YILMAZ S,TEKALP A M,UNLUTURK B D.Video streaming over software defined networks with server load balancing[C]//International Conference on Computing,NETWORKING and Communications.IEEE,2015:722-726.

[9] 王涛,陈鸿昶,程国振.软件定义网络及安全防御技术研究[J].通信学报,2017,38(11):133-160.

WANG T,CHEN H H,CHENG G Z.Research on software-defined network and the security defense technology[J].Journal on Communications,2017,38(11):133-160.

[10] 王蒙蒙,刘建伟,陈杰,等.软件定义网络:安全模型、机制及研究进展[J].软件学报,2016,27(4):969-992.

WANG M M,LIU J W,CHEN J,et al.Software defined networking:Security model,threats and mechanism[J].Journal of Software,2016,27(4):969-992.

[11] 王秀磊,陈鸣,邢长友,等.一种防御DDoS攻击的软件定义安全网络机制[J].软件学报,2016,27(12):3104-3119.

WANG X L,CHEN M,XING C Y,et al.Software defined security networking mechanism against DDOS attacks[J].Journal of Software,2016,27(12):3104-3119.

猜你喜欢

多路径数据包路由
二维隐蔽时间信道构建的研究*
多路径效应对GPS多普勒测速的影响
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
基于5.8G射频的多路径识别技术应用探讨
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计
多路径传输协议测试床构建与测试