首页> 中国专利> 一种基于链路实时负载的SDN动态负载均衡调度方法

一种基于链路实时负载的SDN动态负载均衡调度方法

摘要

本发明请求保护一种基于链路实时负载的SDN动态负载均衡调度方法,包括:控制器获取拓扑信息和收集网络的状态信息;控制器为网络中的路径设置一个权重,并以此作为路径的选择依据,从跳数最少的路径中选择权重最小的一条作为初始路径;计算网络负载均衡度,如果负载均衡度大于给定的阈值,返回第一步;否则,进入第四步;定位出负载最高的链路并检测该链路是否存在大流,如果检测大流,方法结束;否则,进入下一步;第五步:针对检测到的大流满足限定的条件,选择满足限定条件的大流进行调度,若该链路存在多条满足条件的大流,则优先调度更大的流,实现高效的负载均衡。本发明在研究数据中心网络的拓扑架构和流量特征的基础上,充分利用了SDN网络的集中式控制的优势,提出了一种基于链路实时负载的SDN动态负载均衡调度算法。

著录项

  • 公开/公告号CN106411733A

    专利类型发明专利

  • 公开/公告日2017-02-15

    原文格式PDF

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

    申请/专利号CN201610810802.8

  • 申请日2016-09-08

  • 分类号H04L12/721(20130101);H04L12/803(20130101);

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

  • 代理人刘小红

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

  • 入库时间 2023-06-19 01:35:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

    授权

    授权

  • 2017-03-15

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

    实质审查的生效

  • 2017-02-15

    公开

    公开

说明书

技术领域

本发明涉及数据中心网络应用技术领域,具体涉及一种于链路实时负载的SDN动态负载均衡调度方法。

背景技术

SDN采用集中式控制策略,控制器具有全网的拓扑视图,有助于对整个网络进行统一的管理,进而能实现对网络流量的实时监控和调度,便于实现路径优化和负载均衡等功能,能够有效的避免网络中产生拥塞,提高网络性能和资源利用率。它不仅可以大幅度降低硬件负载均衡设备成本,而且开放、灵活的可编程能力使得网络的控制能力和自动化管理空前提升,更有利于实现负载均衡。同时,数据中心网络作为当前信息世界的应用和流量核心所在,时时刻刻均承受着大量的请求访问、高性能需求和复杂的管理,大量采购的负载均衡器导致了成本和管理复杂度进一步上升。而基于SDN的数据中心网络负载均衡能有效提高数据中心网络资源利用率、降低设备管理复杂度。当前基于SDN的数据中心网络链路负载均衡主要是通过控制器对链路的周期性监控以获得流量和链路的状态信息,并为流的选取合适的传输路径实现负载均衡。

W.Braun等人在《2015International Conference and Workshops on,Cottbus,2015:1-5.》上发表题为“Load-dependent flow splitting for traffic engineering in resilient OpenFlow networks”的文章。该文章提出了流分割策略,将控制器匹配到的大流进行分割后再进行多路径传输。首先设定了一个流速率阈值,当某条大流f的速率超过该阈值时,即判定该流为大流,并需要进行分割。而路径的计算则是为每对源地址与目的地址计算两条最短路径,同时使这两条最短路径的相交链路最少,而更短的路径则作为主要的传输路径。

Hui Long等人在《2013 IEEE 27th International Conference on,2013:25-28》上发表题为“LABERIO:Dynamic load-balanced Routing in OpenFlow-enabled Network”的文章。该文章提出了动态负载均衡算法LABERIO,该方案采用最大最小剩余带宽法则为流量选择最佳下一跳链路,将最高负载链路上的最大的流调度到负载最小的链路上。而针对网络中一些频繁调度的大流,该算法为每条流进一步设置了一个标志h,用于表示流被调度后增加的传输跳数。该方案在无阻塞全连接网络和典型的Fat-Tree拓扑中分别进行了仿真实验,提高了网络整体传输能力减少了时延,并通过更好利用可用资源实现了网络吞吐量的最大化。

A.Craig等人在《2015 IEEE International Conference on,London,2015:5789-5795》上发表题为“Load balancing for multicast traffic in SDN using real-time link cost modification”的文章。该文章根据Fat-Tree拓扑的特征,将路径分为上行路径和下行路径,并根据下一跳链路负载选择最佳路径。当检测到大流f并进行分割后,再将其分配到路径中。同时,为了避免拥塞状况的产生,进一步为链路负载设定了一个阈值。当链路负载超过该阈值后,则对该链路上的流进行调度以均衡负载。该类方案需要将网络中的大流进行分割,但并没有提出能有效解决包失序问题的方案,同时重路由路径仅考虑了下一跳,可能导致网络负载不均衡,甚至拥塞。

J.Li等人在《2014 IEEE 13th International Conference on,Beijing,2014:527-533》上发表题为“An Effective Path Load Balancing Mechanism Based on SDN”的文章。该文章基于模糊控制理论提出了模糊综合评估机制(Fuzzy Synthetic Evaluation Mechanism,FSEM)实现路径负载均衡,并将算法分成了两个阶段。在网络初始状态时,网络中并没有流量,此时使用Top-K最短路径算法计算出K条最短路径。当网络中存在大量流量分布时,则采用FSEM对路径进行评估,并计算出最佳传输路径。该方案并没有对流进行任何区分,而是统一进行路由与调度,不能实现高效的负载均衡调度。

由相关的研究可知,当前的负载均衡方案主要是直接将最高负载链路上的最大流调度到最低负载链路,并没有考虑整条链路的负载情况,可能由于瓶颈链路而造成的局部拥塞。同时,直接对链路上的最大流进行调度,不仅可选路径少,甚至可能由于频繁调度大流,导致网络性能的下降。本发明根据数据中心网络流量的特征,为链路设置一个权重并把所有链路负载的标准差作为路径权重的一个考虑因素。本发明对链路上的负载和流进行周期性监控,若某条链路上的负载分布不均匀或某条链路超载,则优先选择满足限定条件的大流进度行调度。

发明内容

本发明旨在解决以上现有技术的问题。提出了一种方法。本发明的技术方案如下:

一种基于链路实时负载的SDN动态负载均衡调度方法,其包括以下步骤:

101、控制器获取数据中心网络拓扑信息和状态信息;

102、根据步骤101获取的网络拓扑信息和状态信息,控制器为网络中的路径设置一个权重,并以此作为路径的选择依据,从跳数最少的路径中选择权重最小的一条作为初始转发路径;

103、计算数据中心网络负载均衡度,如果负载均衡度大于给定的阈值,返回步骤101;否则,进入步骤104;

104、定位出负载最高的链路并检测该链路是否存在大流,如果检测不到大流,结束;否则,进入步骤105;

105、选择满足带宽限定条件的大流进行调度,若该链路存在多条满足条件的大流,则优先调度更大的流,实现动态负载均衡调度。

进一步的,所述步骤101控制器获取数据中心网络拓扑信息是通过链路层发现协议LLDP协议获取并更新全局网络拓扑的,当检测到网络中存在失效链路或节点时,则将该链路或节点从拓扑视图中删除,并为该链路上的流重新选择一条传输路径。

进一步的,所述步骤101控制器收集数据中心网络的状态信息是通过控制器向交换机发送OFPT_STATS_REQUEST消息,获取所需的链路统计信息和流的统计信息,包括收发的包数、字节数以及统计持续时间。

进一步的,所述步骤102控制器为网络中的路径设置一个权重WPath

其中,m表示链路的个数,LFi表示第i链路上的空闲负载,链路的空闲负载其中Bi表示链路i的已占用的带宽,Ci表示链路i的最大。

进一步的,所述步骤103网络负载均衡度ρ计算公式为:其中,整个网络的链路平均负载Lavg是由等式确定,Li为第i条链路上的负载,整个网络的链路最大负载LMax=max{L1,L2,…,Ln}。

进一步的,步骤104流的大小为其中,Mt是在t时刻交换机接收到的流字节数,Mt+T表示交换机在t+T时刻接收到的流字节数,T为控制器监测统计周期。

进一步的,所述流的大小为将占用5%链路带宽的流设为大流。

进一步的,步骤105所述调度的大流Fr需满足限定条件:其中ε表示链路最高负载门限,Lnew表示新路径Pnew上负载最高的链路lnew的负载,θ表示阈值,C表示每条链路的带宽。

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

本发明提出了一种数据中心负载均衡算法,该算法从三个方面实现了负载均衡功能。首先,针对网络中的路由选择问题,根据路径的当前负载状况和链路负载波动为路径设置了一个权重,即本发明中将将所有链路负载的标准差作为路径选择的一个考虑因素,并以此作为路径选择依据。在数据传输过程中还需要进一步考虑路径的跳数,有效的保证带宽时延。其次,算法设置了一个负载均衡度用于衡量网络负载状况,当负载均衡度较低时,则判定网络负载不均衡,此时,将最高负载链路的流量调度到其它路径以均衡全网负载。最后,针对需要调度的流,本算法进一步限定了其流量大小范围,保证了高效的流调度。调度的流的大小应小于新路径PNew中的最大可用带宽,确定避免大流fe调度到路径PNew后造成链路拥塞或负载过高。

附图说明

图1是本发明提供优选实施例所使用的拓扑结构示意图;

图2为本发明提供的基于SDN的数据中心网络负载均衡算法的流程图;

图3为本发明提出的DCLB算法与ECMP、LABERIO算法的平均时延对比图;

图4为本发明提出的DCLB算法与ECMP、LABERIO算法的链路带宽利用率对比图;

图5为本发明提出的DCLB算法与ECMP、LABERIO算法的负载分布对比图。

具体实施方式

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

本发明的技术方案如下:

图1所示为本发明所使用的拓扑结构示意图。本发明所用拓扑共有20个交换机和16个主机。了区分不同层次和不同Pod的交换机,因此,对交换机进行了统一与差异化命名。在20台交换机中共有4台核心层交换机,即图中的s101-s104交换机;汇聚层交换机共有8台,即图中的s201-s208交换机;边缘层交换机共8台,即图中的s301-s308交换机。共有16台主机,即图1中的h1-h16主机。同时,网络中所有链路带宽为10Mbps,监控周期设置为3s,负载均衡度取值0.7。本发明选择图1中Pod1的主机h1和Pod2的主机h5作为观察对象。

图2所示为本发明提出的基于SDN的数据中心网络负载均衡路由算法的流程图,具体包括:

第一步:控制器获取拓扑信息和收集网络的状态信息;

控制器通过链路层发现协议(Link Layer Discovery Protocol,LLDP)协议获取并更新全局网络拓扑,当检测到网络中存在失效链路或节点时,则将该链路或节点从拓扑视图中删除,并为该链路上的流重新选择一条传输路径。控制器向交换机发送OFPT_STATS_REQUEST消息,以获取所需的链路统计信息和流的统计信息,如收发的包数、字节数以及统计持续时间等。

第二步:根据获取的网络拓扑信息和状态信息,控制器为网络中的路径设置一个权重,并以此作为路径的选择依据,从跳数最少的路径中选择权重最小的一条作为初始路径;

控制器为网络中的路径设置一个权重WPath

其中,LFi表示第i链路上的空闲负载。链路的空闲负载其中Bi表示链路i的已占用的带宽,Ci表示链路i的最大。

第三步:进一步设置了一个负载均衡度衡量网络负载均衡程度,并判断负载均衡度是否满足给定的阈值,如果不满足条件,重新收集网络状态信息;否则,进入第四步;

网络负载均衡度ρ计算公式为:其中,整个网络的链路平均负载Lavg是由等式确定,Li为第i条链路上的负载。整个网络的链路最大负载LMax=max{L1,L2,…,Ln}。

第四步:针对第三步负载均衡度小于给定阈值的限制情况,定位出负载最高的链路并检测该链路是否存在大流,如果检测大流,方法结束;否则,进入第五步;

流的大小为其中,Mt是在t时刻交换机接收到的流字节数,Mt+T表示交换机在t+T时刻接收到的流字节数,T为控制器监测统计周期。本发明将占用5%链路带宽的流设为大流。

第五步:针对检测到的大流满足限定的条件,选择满足限定条件的大流进行调度,若该链路存在多条满足条件的大流,则优先调度更大的流,实现高效的负载均衡;

调度的大流Fr需满足限定条件:其中ε表示链路最高负载门限,Lnew表示新路径Pnew上负载最高的链路lnew的负载,θ表示阈值,C表示每条链路的带宽。本发明中若链路上存在多条满足调度条件的大流,则优先调度最大的流。

对本发明提出的DCLB算法的性能进行对比和分析,使用平均传输时延、链路带宽利用率和负载分布三个网络性能指标与ECMP、LABERIO算法进行对比。

在本实施例中,图3给出本发明所提DCLB算法与ECMP、LABERIO算法的平均时延对比图。由图3可见:所提实施方法DCLB算法较ECMP算法和LABERIO算法所得到的平均时延更稳定且较小。由于ECMP算法没有考虑链路状况,使得网络中部分链路的负载过高,进而影响了报文传输的时间和稳定,导致传输时延的快速上升和较大抖动;LABERIO算法只考虑了最佳的下一跳链路,随着网络中负载的增加,网络中存在瓶颈链路,因此导致时延增加。

在本实施例中,图4给出本发明所提DCLB算法与ECMP、LABERIO算法的链路带宽利用率对比图。由图4可见:所提实施方法DCLB算法的带宽利用率优于ECMP算法和LABERIO算法。由于ECMP算法是随机选择路径,多条大流在同一条链路中碰撞,导致Pod内部产生热点路径,因此,核心交换机与汇聚层交换机链路的带宽利用率较低;LABERIO算法是基于单跳贪婪策略,且仅在链路负载超过门限阈值时实现对流的调度,不能主动均衡链路负载,因此,在网络负载较高的情况下,链路利用率较低。

在本实施例中,图5给出本发明所提DCLB算法与ECMP、LABERIO算法的负载分布对比图。由图5可见:所提实施方法DCLB算法较ECMP算法和LABERIO算法所得到的核心交换机的负载分布更均匀。在ECMP算法下,核心交换机的负载范围为[2008,3107]Mbit,平均负载为2505Mbit,方差为461.4。在LABERIO算法下,核心交换机的负载范围为[2503,3014]Mbit,平均负载为2718Mbit,方差为254.5。在DCLB算法下,核心交换机的负载范围为[2638,3006]Mbit,平均负载为2837Mbit,方差为157.9。通过方差的比较,可以发现DCLB算法的负载分布得更加均匀。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号