首页> 中国专利> 基于SDN的数据中心网络中一种保障QoS的路由算法

基于SDN的数据中心网络中一种保障QoS的路由算法

摘要

本发明请求保护一种基于SDN的数据中心网络中为保障QoS(Quality of Service,服务质量)的路由算法。该方法针对数据中心网络中用户终端传输时延高及链路拥塞问题,提出一种数据中心网络中为保障Qos的路由算法,该算法将到达交换机的数据流进行优先级分类,使得对时延敏感的高优先级数据流采用时延保障算法:找出数据平面时延最小的路径进行流表下发;而对带宽要求较高的低优先级数据流则采用带宽保障算法:根据数据流对带宽的需求进行动态的带宽调整;从而有效的保障用户的QoS,并提高了数据中心网络中的资源利用率。

著录项

  • 公开/公告号CN106341346A

    专利类型发明专利

  • 公开/公告日2017-01-18

    原文格式PDF

  • 申请/专利权人 重庆邮电大学;

    申请/专利号CN201610810708.2

  • 申请日2016-09-08

  • 分类号H04L12/863(20130101);H04L12/727(20130101);H04L12/729(20130101);H04L12/725(20130101);

  • 代理机构50102 重庆市恒信知识产权代理有限公司;

  • 代理人刘小红

  • 地址 400065 重庆市南岸区南山街道崇文路2号

  • 入库时间 2023-06-19 01:27:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-19

    授权

    授权

  • 2017-02-15

    实质审查的生效 IPC(主分类):H04L12/863 申请日:20160908

    实质审查的生效

  • 2017-01-18

    公开

    公开

说明书

技术领域

本发明涉及通信网络技术领域,涉及基于SDN的数据中心网络中为保障QOS的路由算法。

背景技术

随着各类业务对互联网的需求日趋增加,互联网对保障用户QoS(Quality ofService,服务质量)的能力存在明显的缺陷。传统的数据中心网络中由于整体结构复杂且设备性能饱和,已经很难满足当前不同新业务对QoS的要求,并且新兴业务下的网络流量比传统数据中心网络流量更为复杂,同时数据中心里面多点之间的频繁通信可能会使网络发生拥塞,网络带宽得不到充分利用,终端用户之间的时延变长等等问题,导致整体性能下降。因此如何利用当前的网络资源来保障不同数据流的QoS需求已经成为数据中心网络的一个关键性难题。

为提高数据交换的效率,实现对数据中心网络资源的计算,存储及灵活调配,同时增强数据中心网络的可控性,将OpenFlow技术结合SDN(Software Defined Networking,软件定义网络)应用到数据中心网络中,因其具有全局视图的能力,可以从全局的角度出发灵活的做出资源调配,也能通过流的优化调度及服务器的合理布局实现网络流量均衡,于是SDN能够在保障用户QoS的同时提升网络资源的利用率。

近年来,在SDN数据中心网络中保障Qos的路由算法研究正受到越来越多的关注。对现有文献检索发现,相关文献如下:

文献[Ishimori A,Farias F,Cerqueira E,et al.Control of multiple packetschedulers for improving QoS on OpenFlow/SDN networking[C]//Proc of the 2ndEuropean workshop on Software Defined Networks.Berlin:IEEE Press,2013:81-86.]中提出SDN架构上基于队列的QoS调度策略,但是并没有针对不同优先级的数据流进行QoS路由;文献[Bueno I,Aznar J I,Escalona E,et al.An opennaas based SDN frameworkfor dynamic QoS control[C]//Proc of IEEE SDN for Future Networks andServices.[S.l.]:IEEE Press,2013:1-7.]中在SDN架构上提出的QoS策略自动配置框架,但此框架仅仅对不同数据流的时延需求而自动调整转发路径,忽略了数据流对带宽的需求;Tomovic S等人在文献[SDN control framework for QoS provisioning[C]//Proc ofthe 22nd Telecommunications Forum[S.l.]:IEEE Press,2014:111-114.]中提出的算法对流缺少精细的划分,不能实现数据流的细粒度保障;而文献[Egilmez H E,Dane S T,Gorkemli B,et al.OpenQoS:an OpenFlow controller design for multimediadelivery with end-to-end quality of service over software-defined networks[C]//Proc of Asia-Pacific Signal&Information Processing Association AnnualSummit and Conference.[S.l.]:IEEE Press,2012:22-27.]中针对特定流设计了保障QoS的路由算法及其他保障QoS策略的GFF(匹配优先)算法,但该算法的可扩展性太差。宋建伟在文献[基于区分服务网络的QoS队列算法研究[D].成都:电子科技大学,2014.]里提出基于队列的算法来保障QoS,但只是在理论模型上进行了验证,并没有在实际网络中测试其性能。

由相关研究可知,为了解决SDN架构下的数据中心网络中终端用户时延高且网络带宽无法充分利用的问题,本发明将进入交换机的数据流进行优先级分类,针对于不同优先级的数据流采用不同的路由算法,在保障用户终端的QoS的同时提高了网络资源的利用率。

发明内容

本发明旨在解决以上现有技术的问题。提出了一种基于SDN的数据中心网络中一种保障QoS的路由算法。本发明的技术方案如下:

基于SDN的数据中心网络中一种保障QoS的路由算法,其包括以下步骤:

101、每个openflow交换机接收数据流,并对收到的数据流进行流表匹配,如果能与openflow交换机中的流表相匹配,则触发转发动作;如果不能匹配则进入步骤102;

102、按优先级的高低对步骤101不能与流表相匹配的数据流进行分类,如果是属于对时延敏感的高优先级数据流,跳转至步骤103,如果是用于受控负载,流式多媒体等等对带宽敏感的低优先级数据流则跳转至步骤104;

103、针对于时延敏感的高优先级数据流,启用时延保障算法,从整体上选择出时延最小路径,并进行将生成的流表写入到交换机中;

104、针对于带宽要求高的低优先级数据流,启用带宽保障算法,对带宽进行动态调整,从而满足低优先级数据流所需求的带宽量,进而防止网络拥塞。

进一步的,所述时延敏感的高优先级数据流为小数据流,带宽需求较高的低优先级级数据流为大数据流。

进一步的,步骤101如果有数据流进入交换机则判定此数据流的VLAN优先级是否小于5,即VLAN<5,其中数据流的VLAN优先级的取值为0~7,优先级7为网络管理的相关信息包括路由选择信息RIP协议和开放最短路径OSPF协议;优先级6和5主要是延迟敏感;优先级4到1主要用于受控负载、流式多媒体、关键性业务流量,优先级0是默认值,在没有设置其它优先级值的情况下自动启用,此处设定VLAN优先级小于5为低优先级数据流,反之为高优先级数据流。

进一步的,当交换机收到的是高优先级数据流时,采用时延保障算法,SDN控制器选择出满足高优先级的时延路径进行流表下发,具体包括:对网络拓扑构建代价函数,建立满足时延约束而代价最小的数学模型,构建的链路代价函数为:

Cij=(1-β)gij+βpij,0<β<1,式中,gij表示节点i,j之间的时延抖动,pij表示节点i,j之间的丢包率,β表示比例系数;

满足时延约束且代价最小的数学模型表示为:r*=argrmin{fc(r)|r∈rst,fd(r)≤dmax},式中,rst表示节点s与t之间所有的路由集合,r∈rst中一条路由,fc(r)表示路径r的总代价,dij表示节点i与j之间的链路时延,fd(r)表示路径r的总时延,dmax表示数据流的最大时延。

进一步的,所述满足时延约束且代价最小的数学模型的求解过程为:首先Cij作为链路权值,通过D算法求解代价最小的路径;判断路径的时延是否满足需求,满足则下发相应流表,否则,以dij作为链路的权值,求解时延最小的路径,判断路径时延是否满足需求,如果满足则下发相应流表,否则控制器将进行重新计算。

进一步的,步骤104中当交换机收到的是低优先级数据流时,SDN控制器对带宽进行动态调整,选择出满足数据流需求的最佳带宽路径进行流表下发,具体包括步骤:对各类参数的表示为:(1)带宽利用率Qu,表示使用带宽与总带宽之比,其表达式为Qu=Ballocated/Btotal,式中Ballocated表示使用带宽,Btotal表示链路总带宽;(2)将总带宽可表示为剩余带宽Bresidual与使用带宽Ballocated之和:Btotal=Bresidual+Ballocated;(3)初始带宽:Binit=Btotali,其中φi表示权重值;此外,链路带宽的过载可表示为:Brequest>Binit;其中Brequest表示数据流的需求带宽;先考虑数据流分配相应的使用带宽Ballocated,如果在Brequest≤Binit条件下,则数据流应分配的带宽为:Ballocated=Brequest;否则将带宽设置为Ballocated=Binit;其次,重负载路径的带宽需求为Black=Brequest-Ballocated-Binit;对链路中的剩余带宽Bresidual=Binit+Ballocated-Brequest的分配方式为:首先当系统内的剩余带宽Bresidual大于Black时,则Ballocated=Brequest;其次当系统内的剩余带宽Bresidual小于Black时按一定比例进行分配,于是使得式中Badd为重新分配的带宽,Bilack为第i条链路上需求的带宽;而Ballocated=Ballocated+Badd,在接收到新数据流时,根据当前需求计算出符合要求的路径,同时控制器对链路状态进行检测,如果满足当前QoS需求,路径带宽分配不做变化,链路要求不能满足QoS需求时,通过带宽保障算法进行重新分配,以保障低优先级数据流带宽,在下一数据流到来时,要保障前一个数据流全部发送完毕。

本发明的优点及有益效果如下:

本发明提供一种在SDN数据中心网络中保障QoS的路由算法,该算法将:进入openflow交换机中的数据流按优先级进行分类;其次对时延敏感的高优先级数据流,采用时延保障算法来选择时延最小的路由;而对带宽敏感的低优先级数据流,采用动态分配带宽的方式保障低优先级数据流的带宽需求;从而降低了数据流的传输时延及提升了网络资源的利用率。

附图说明

图1是本发明提供优选实施例生成的网络拓扑图;

图2为本发明整体设计流程图;

图3为本发明时延保障算法对比匹配优先算法的时延仿真结果图

图4为本发明带宽保障算法效果仿真图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明的技术方案如下:

在本实施例中,图1为本发明生成的网络拓扑图;在每个pod里面有4个switch。在Edge的端口switch与主机连接,其余2个端口上一层的交换机连接。在Core层有4个switch,在core层每一switch有一端口与一个Pod连接,一个4元的Fat-tree拓扑支持16个主机和20个交换机(核心层4个交换机,汇聚层8个交换机和接入层8交换机)组成。每条链路的初始带宽设置为11.3Gbps,设置最大传输速率为2000,TCP默认滑动窗口大小为85.3kbyte,每条链路设置的延时设置为10ms。

在本实施例中,图2为本发明整体设计流程图;高优先级的数据流对时延比较敏感,因此该算法构建了代价函数、建立满足时延约束而代价最小的数学模型,并且采用改进的D算法来选出时延最小路径进行流表下发。

首先,由链路发现模块对交换机进行监控,等待数据流进入交换机。如果有数据流进入交换机则判定此数据流的VLAN优先级是否小于5,即VLAN<5,其中数据流的VLAN优先级的取值为0~7,优先级7为网络管理的相关信息如RIP(如路由选择信息)协议和OSPF(开放最短路径)协议;优先级6和5主要是延迟敏感;优先级4到1主要用于受控负载、流式多媒体、关键性业务流量。优先级0是默认值,在没有设置其它优先级值的情况下自动启用。此处设定VLAN优先级小于5为低优先级数据流,反之为高优先级数据流。

然后,对于低优先级的数据流,采用带宽保障算法来保证低优先级的数据流的需求带宽,具体过程为:(1)带宽利用率Qu,表示使用带宽与总带宽之比,其表达式为Qu=Ballocated/Btotal,式中Ballocated表示使用带宽,Btotal表示链路总带宽;(2)将总带宽可表示为剩余带宽Bresidual与使用带宽Ballocated之和:Btotal=Bresidual+Ballocated;(3)初始带宽:Binit=Btotali,其中φi表示权重值;此外,链路带宽的过载可表示为:Brequest>Binit。首先考虑数据流分配相应带宽Ballocated,如果在Brequest≤Binit条件下,则数据流应分配的带宽为:Ballocated=Brequest;否则将带宽设置为Ballocated=Binit。其次,重负载路径的带宽需求Black=Brequest-Ballocated-Binit。对链路中的剩余带宽Bresidual=Binit+Ballocated-Brequest的分配方式为:首先当系统内的剩余带宽Bresidual大于Black时,则Ballocated=Brequest;其次当系统内的剩余带宽Bresidual小于Black时按一定比例进行分配,于是使得式中Badd为重新分配的带宽。Bilack为第i条链路上需求的带宽;而Ballocated=Ballocated+Badd。在接收到新数据流时,根据当前需求计算出符合要求的路径,同时控制器对链路状态进行检测,如果满足当前QoS需求,路径带宽分配不做变化,链路要求不能满足QoS需求时,通过带宽保障算法进行重新分配,以保障低优先级数据流带宽,在下一数据流到来时,要保障前一个数据流全部发送完毕。

最后,对于高优先级的数据流,采用时延保障算法来保证高优先级数据流的时延需求,具体过程为:对网络拓扑构建代价函数,建立满足时延约束而代价最小的数学模型。构建的链路代价函数及构建的模型为:

Cij=(1-β)gij+βpij,0<β<1,式中,gij表示i,j之间的时延抖动,pij表示i,j之间的丢包率,β表示比例系数。满足时延约束且代价最小的数学模型表示为:r*=argrmin{fc(r)|r∈rst,fd(r)≤dmax},式中,rst表示节点s与t之间所有的路由集合,r∈rst中一条路由,fc(r)表示路径r的总代价,dij表示节点i与j之间的链路时延,fd(r)表示路径r的总时延,dmax表示数据流的最大时延。此模型的求解过程为:首先Cij作为链路权值,通过D算法求解代价最小的路径。判断路径的时延是否满足需求,满足则下发相应流表,否则,以dij作为链路的权值,求解时延最小的路径,判断路径时延是否满足需求,如果满足则下发相应流表,否则控制器将进行重新计算。

图3为本发明时延保障算法对比匹配优先算法的时延仿真结果图:其中QDBA本文改进的算法,GFF是选取的比对算法。从图1中的h1端到和h16端发送数据流,在负载不变的情况下,时延也会增加到一定值,接下来会在一定范围内波动。从图3中可以看出在GFF算法增加到300ms左右之后时延就趋近于稳定,随着时间的增加波动范围也在300ms左右进行波动。QDBA时延的最大值相对较小,实验中QDBA的时延在150ms左右波动,这种波动与实验预期吻合,由于GFF本身的原因当链路负载增加到一定数值时,链路开始出现拥塞现象,数据时延增加导致网络性能下降。QDBA能够从整体上为数据流选择最优路径,能够根据数据流的带宽需求进行选路,因此能将时延控制在较小的范围内。在相同负载情况下,根据数据中心网络特征对数据流要求是在传输过程中时延进行了要求,本文提出的QDBA算法,时延一直保持在150ms左右,基本符合数据中心网络流量的需求,验证了该算法在数据中心网络中的有效性。

图4为本发明带宽保障算法效果仿真图:初始带宽设置为11.3Gbps,通过结果可知当前接收到的数据流带宽需求为2.71Mbits时,如果采用传统的匹配优先算法,该算法对不同路径上的数据流进行区分,在图4(b)中可知当前h1到h2只有一条队列,该队列的带宽值一直小于2.71Mbits,如果此数据流对带宽敏感,则不能保障流的QoS;在图4(a)中,启动带宽保障算法后,在h1到h2之间有两条队列根据数据流的需求分别是2.59Mbits和0.12Kbits,由此可知带宽保障算法能对端到端的数据流进行区分对待,以保障不同数据流的带宽。启动后带宽保障后从结果中可以看出端到端带宽中出现了两条不相同的队列来可以满足不同需求的带宽保障。由于本实验条件所限仅在带宽保障上进行可以在端到端的链路上对不同带宽需求的数据流进行带宽保障测试,本文提出的带宽保障策略可以实现在一条链路上根据数据流的需求进行带宽保障。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号