大规模软件定义网络的负载均衡方法技术

技术编号:28564883 阅读:46 留言:0更新日期:2021-05-25 18:01
本发明专利技术公开了一种大规模软件定义网络的负载均衡方法,包括:构建多控制器的大规模软件定义网络;多个控制器将所在控制域的网络信息发送至服务端,并拼接形成全局拓扑及网络状态信息;根据全局拓扑及网络状态信息计算得到源目的地址的最短的预设数量条路径;计算各路径的评分,并将评分最高的路径作为主路径;计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流;若不需要分流则按照主路径进行流量调度;若需要分流则根据负载计算得到分流路径和分流比例,根据分流路径和分流比例进行分流。通过本发明专利技术的技术方案,实现了负载均衡,提高了网络的链路利用率,缩短了网络时延,实现了更好的网络性能。

【技术实现步骤摘要】
大规模软件定义网络的负载均衡方法
本专利技术涉及软件定义网络
,尤其涉及一种大规模软件定义网络的负载均衡方法。
技术介绍
软件定义网络(SDN)是由斯坦福大学提出的一种新型网络架构,其基本思想是把当前IP网络互连节点中决定报文如何转发的复杂控制逻辑从交换机/路由器等设备中分离出来,以便通过软件编程实现硬件对数据转发规则的控制。最初,sdn部署使用单个控制器,该控制器负责监控整个网络中的交换机及链路流量,集中式的网络控制可以有效管理网络,但当网络规模较大或通信流量较多时,单控制器的负载能力和单点故障会成为SDN网络的瓶颈。目前可采用多控制器来解决这些问题,如扁平式SDN架构,在这种架构下,每个控制器负责自己的一个子域,控制器抽象出自己控制域的网络拓扑并在控制器之间通过控制器通信通道进行分发从而获取全局视图和可达性信息。对于扁平式架构,所有控制器均掌握全局网络拓扑,所以当网络规模增大时,会进行大量的网络信息共享,导致计算和通信开销剧增。同时,虽然分布式SDN架构一方面更适应于大规模网络,另一方面仍存在负载不均衡问题。一是在数据面的负载均衡问题,数据面负载不均衡,容易使得部分链路负载高而部分链路负载低,致使网络性能差。另一个是控制面的负载均衡问题,即各个控制器的负载情况,重载控制器的性能急剧下降从而影响全网的性能。
技术实现思路
针对上述问题,本专利技术提供了一种大规模软件定义网络的负载均衡方法,通过构建多控制器的软件定义网络,避免单控制器的负载能力和单点故障成为软件定义网络的瓶颈,在此架构下通过链路负载计算多条最短路径的评分,并以路径的负载均衡度与预设阈值的比较判断是否需要进行流量调度分流,并在需要分流时根据负载计算恰当的分流路径和分流比例,从而保证大规模软件定义网络中数据面的负载均衡,避免链路不均衡导致的网络性能差,同时保证控制面的负载均衡,避免重载控制器的性能下降影响全网性能,提高了网络的链路利用率,缩短了网络时延,实现了更好的网络性能。为实现上述目的,本专利技术提供了一种大规模软件定义网络的负载均衡方法,包括:构建多控制器的大规模软件定义网络,其中,多个控制器分别独立负责控制域;多个所述控制器将所在控制域的网络信息发送至服务端;根据接收到的所有控制域的网络信息拼接形成全局拓扑及网络状态信息;根据所述全局拓扑及网络状态信息计算得到源目的地址的最短的预设数量条路径;计算预设数量条路径的评分,并将评分最高的路径作为主路径;计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流;若不需要分流则按照所述主路径进行流量调度;若需要分流则根据负载计算得到分流路径和分流比例,根据所述分流路径和分流比例进行分流。在上述技术方案中,优选地,所述计算预设数量条路径的评分并将评分最高的路径作为主路径具体包括:计算每条路径上所有链路的负载增量之和作为负载总增量;计算每条路径上所有链路的带宽并在比较后选择记录最小带宽链路的带宽;计算每条路径经过的控制器单位时间处理数据包的数量,并结合对应路径上所述最小带宽链路的带宽和所述负载总增量计算对应路径的评分;对该预设数量条路径的评分进行排序并选择评分最高的路径作为主路径。在上述技术方案中,优选地,所述计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流具体包括:通过已用带宽和链路设定最大带宽计算得到链路带宽利用率;计算所述主路径上所有链路带宽利用率的平均值作为链路平均带宽利用率;通过所述链路带宽利用率和所述链路平均带宽利用率计算得到所述主路径的链路负载均衡度;将所述链路负载均衡度与预设负载均衡度阈值比较,若所述链路负载均衡度小于所述预设负载均衡度阈值,则判定不需要分流,若大于,则判定需要分流。在上述技术方案中,优选地,所述根据负载计算得到分流路径和分流比例具体包括:根据评分由高到低依次计算预设数量条路径中除所述主路径外的负载均衡度;在某路径的负载均衡度小于所述预设负载均衡度阈值时确定当前路径作为分流路径,若所有路径的负载均衡度均大于所述预设负载均衡度阈值则以负载均衡度最小的路径作为分流路径;根据链路最大带宽和链路当前带宽的差值计算得到链路剩余带宽;根据路径中所有链路的链路剩余带宽的平均值分别计算得到主路径和分流路径的路径平均剩余带宽;根据主路径平均剩余带宽和分流路径平均剩余带宽分别与所述主路径平均剩余带宽、所述分流路径平均剩余带宽之和的比值,计算得到主路径分流比例和分流路径分流比例。在上述技术方案中,优选地,所述多个所述控制器将所在控制域的网络信息发送至服务端具体包括:所述控制器将所负责控制域中的网络信息周期性地发送至所述服务端,其中,所述网络信息包括域内拓扑信息、网络链路信息、链路带宽和控制器处理packet-in数据包的数量。在上述技术方案中,优选地,所述根据所述全局拓扑及网络状态信息计算得到源目的地址的最短的预设数量条路径具体包括:基于所述全局拓扑及网络状态信息,利用深度优先遍历算法计算得到源目的地址的最短预设数量条路径。在上述技术方案中,优选地,若t时刻链路(i,j)的带宽B(i,j)(t)小于当前时刻链路最大带宽Max(i,j)(t),则所述链路的负载增量G(B,V)=g1(V+B)-g1(B),g1(x)=x;若t时刻链路(i,j)的带宽B(i,j)(t)大于或等于当前时刻链路最大带宽Max(i,j)(t),则所述链路的负载增量G(B,V)=g2(V+B)-g2(B),g2(x)=2x;当前路径的所述负载总增量为其中,G(B,V)为大小为v的大流调度至已用带宽为B的链路上对该链路带来的负担,g1(x)、g2(x)分别为计算函数,V为新到达的大流的带宽,N标识当前路径由N条链路组成。在上述技术方案中,优选地,以最小带宽链路的带宽Min(t)与链路负载增量G(B,V)和单位时间内处理数据包数量Pno之积的比值作为路径的评分s,即其中,Pno用以衡量每个控制器的繁忙程度,no为控制器编号。在上述技术方案中,优选地,t时刻的链路带宽利用率u(i,j)(t)为已用带宽与链路设定最大带宽的比值,即t时刻的链路平均带宽利用率u(ave)(t)为当前路径上所有链路带宽利用率u(i,j)(t)的平均值,即所述主路径的链路负载均衡度在上述技术方案中,优选地,t时刻的链路当前带宽为B(i,j)(t),链路最大带宽为Max(i,j)(t),则链路剩余带宽L(i,j)(t)=Max(i,j)(t)-B(i,j)(t);路径平均剩余带宽L_ave(t)为路径中所有链路的链路剩余带宽的平均值,即其中,N标识该路径由N条链路组成;主路径分流比例=主路径平均剩余带宽/(主路径平均剩余带宽+分流路径的路径平均剩余带宽);分流路径分流比例=分流路径平均剩余带宽/(主路径平均剩余带宽+分流路径的路径平均剩余带宽)。与现有技术相比,本专利技术的有益效果为:通过构建多控制器的软件定义网络,避免单控制器的负载能力和单点故障成为软件定义网络的瓶颈,在此架构下通过链路负载计算多条最短路径的评分,并以路径的负载均衡度与预设阈值的比较判本文档来自技高网...

【技术保护点】
1.一种大规模软件定义网络的负载均衡方法,其特征在于,包括:/n构建多控制器的大规模软件定义网络,其中,多个控制器分别独立负责控制域;/n多个所述控制器将所在控制域的网络信息发送至服务端;/n根据接收到的所有控制域的网络信息拼接形成全局拓扑及网络状态信息;/n根据所述全局拓扑及网络状态信息计算得到源目的地址的最短的预设数量条路径;/n计算预设数量条路径的评分,并将评分最高的路径作为主路径;/n计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流;/n若不需要分流则按照所述主路径进行流量调度;/n若需要分流则根据负载计算得到分流路径和分流比例,根据所述分流路径和分流比例进行分流。/n

【技术特征摘要】
1.一种大规模软件定义网络的负载均衡方法,其特征在于,包括:
构建多控制器的大规模软件定义网络,其中,多个控制器分别独立负责控制域;
多个所述控制器将所在控制域的网络信息发送至服务端;
根据接收到的所有控制域的网络信息拼接形成全局拓扑及网络状态信息;
根据所述全局拓扑及网络状态信息计算得到源目的地址的最短的预设数量条路径;
计算预设数量条路径的评分,并将评分最高的路径作为主路径;
计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流;
若不需要分流则按照所述主路径进行流量调度;
若需要分流则根据负载计算得到分流路径和分流比例,根据所述分流路径和分流比例进行分流。


2.根据权利要求1所述的大规模软件定义网络的负载均衡方法,其特征在于,所述计算预设数量条路径的评分并将评分最高的路径作为主路径具体包括:
计算每条路径上所有链路的负载增量之和作为负载总增量;
计算每条路径上所有链路的带宽并在比较后选择记录最小带宽链路的带宽;
计算每条路径经过的控制器单位时间处理数据包的数量,并结合对应路径上所述最小带宽链路的带宽和所述负载总增量计算对应路径的评分;
对该预设数量条路径的评分进行排序并选择评分最高的路径作为主路径。


3.根据权利要求1所述的大规模软件定义网络的负载均衡方法,其特征在于,所述计算主路径的负载均衡度,并与预设阈值进行比较,判断是否需要分流具体包括:
通过已用带宽和链路设定最大带宽计算得到链路带宽利用率;
计算所述主路径上所有链路带宽利用率的平均值作为链路平均带宽利用率;
通过所述链路带宽利用率和所述链路平均带宽利用率计算得到所述主路径的链路负载均衡度;
将所述链路负载均衡度与预设负载均衡度阈值比较,若所述链路负载均衡度小于所述预设负载均衡度阈值,则判定不需要分流,若大于,则判定需要分流。


4.根据权利要求3所述的大规模软件定义网络的负载均衡方法,其特征在于,所述根据负载计算得到分流路径和分流比例具体包括:
根据评分由高到低依次计算预设数量条路径中除所述主路径外的负载均衡度;
在某路径的负载均衡度小于所述预设负载均衡度阈值时确定当前路径作为分流路径,若所有路径的负载均衡度均大于所述预设负载均衡度阈值则以负载均衡度最小的路径作为分流路径;
根据链路最大带宽和链路当前带宽的差值计算得到链路剩余带宽;
根据路径中所有链路的链路剩余带宽的平均值分别计算得到主路径和分流路径的路径平均剩余带宽;
根据主路径平均剩余带宽和分流路径平均剩余带宽分别与所述主路径平均剩余带宽、所述分流路径平均剩余带宽之和的比值,计算得到主路径分流比例和分流路径分流比例。


5.根据权利要求...

【专利技术属性】
技术研发人员:张丽樊皓洁
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1