基于交换机动态迁移的控制器负载均衡方法与流程

文档序号:16097197发布日期:2018-11-27 23:43阅读:499来源:国知局

本发明属于软件定义网络、负载均衡技术领域,具体涉及一种基于交换机动态迁移的控制器负载均衡方法。



背景技术:

软件定义网络(Software Defined Network, SDN )是一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。基于OpenFlow的软件定义网络已经成为了近些年来新兴的网络技术,该技术的主要特点为转发平面和控制平面实现了完全解耦,控制器负责管理整个网络。现有的单控制器部署架构,集中式控制策略降低了网络可扩展性和灵活性,因此研究人员相继提出了一个逻辑上集中,但在物理上分散的控制器部署策略,例如 HyperFlow、Opendaylight、Onix等方案,将SDN划分成多个不相交的子域,每个子域由独立的主控制器控制。控制器多域部署解决了网络可扩展性和灵活性问题,然而流量分布在时间和空间上具有不确定性,在某个时间段或某个域内会出现流量的激增或瞬减,从而导致控制器负载发生较大波动。

为了解决控制器负载波动产生的负载不均衡问题,Heller等人首次提出迁移交换机的思想,以交换机和控制器之间的时延作为迁移度量,研究了不同控制器部署位置对于交换机迁移的影响。但只是进行了理论性分析,未作算法上的具体描述。Dixit等人提出了一种Elasticon架构,增加了负载适应决策模块,基于双门限值,当控制器负载超过上、下门限值时,通过交换机的动态迁移,实现了控制器和交换机之间的动态配置,不足之处在于未考虑多控制器同时超载的情况。Barim等人注重于网络中的流量变化,并设定相应的流量监视模块,根据交换机的实时流请求速率对交换机进行动态调整。Kopo-nen等人提出了一种两层控制器架构,在底层,控制器群并不进行相互通信,对网络信息也毫不知情,上层采用一个逻辑上集中的控制器来维持全局网络状态。两层间的控制器需要不断进行通信,整个网络开销较大。Fu提出了一种控制器休眠模型,在轻流量状态下允许闲置的控制器进入休眠状态以节省资源,利用数学理论定量分析系统性能,构造全局消耗函数以寻求最优解。但冗余控制器的设置难免会使网络的代价增大。在利用率最低迁移策略中提出选取资源利用率最低的控制器作为交换机的迁移目标,虽然提高了迁移效率,但目标控制器的搜索过程较为复杂,控制器消耗了大量资源进行通信交互,降低了控制器的流处理性能。



技术实现要素:

为了解决现有技术的不足,本发明提供了一种基于交换机动态迁移的控制器负载均衡方法。

本发明的目的通过以下技术方案来实现:

基于交换机动态迁移的控制器负载均衡方法,包括如下步骤:

S1、对资源池中的每个控制器进行网络负载阈值的上限设置;

S2、周期性的测量和收集控制器的负载情况;

S3、根据S2中收集的控制器负载情况进行判断资源池中控制器的负载是否超过设置的阈值,若超过则通过网管协议进行控制器的添加,若不超过则直接进入下一步;

S4、将控制器的负载设为优化目标函数,在SDN的众多可行域中确定迁入域和迁出域;

S5、设置子域迁移度M=a|(R1-R2)|+b,其中,R1、R2分别为迁入域和迁出域的负载值,a、b为常量系数;设置交换机的有效期,低请求度的交换机的有效期大于高请求度交换机的有效期;

S6、选择符合条件的交换机进行迁移。

优选地,所述S2中控制器的负载情况包括但不限于,待处理的Packet-In消息、维护管理域和全局拓扑所需的流量、域间控制器的通信开销、流表安装代价、主机CPU的使用率和内存的使用率。

优选地,所述S4中对迁入和迁出域的确定采用遗传算法,

优选地,所述S6中选择交换机的步骤包括:对迁出域控制器管控的交换机在时间间隔内产生的平均流请求进行排序,初始时选择平均请求最大的交换机作为待迁移的交换机,判断迁移后的迁入域的控制器负载是否超过阈值,如果超过,则选择平均请求更低的交换机进行迁移。

优选地,对可行解进行的所述遗传算法包括但不限于选择、交叉、变异操作。

优选地,所述S5中的a、b为和为1的常量系数。

本发明的有益效果体现在:本方法在均衡控制器流量开销方面具有明显优势,缩小了控制器间平均同步时延和交换机请求响应时延,控制器的流处理性能及控制器负载均衡率均得到了提升。

附图说明

图1:本发明的均衡方法流程示意图。

具体实施方式

本发明揭示了一种基于交换机动态迁移的控制器负载均衡方法,结合图1所示,包括如下步骤:

S1、对资源池中的每个控制器进行网络负载阈值的上限设置;

S2、周期性的测量和收集控制器的负载情况;所述控制器的负载情况包括但不限于,待处理的Packet-In消息、维护管理域和全局拓扑所需的流量、域间控制器的通信开销、流表安装代价、主机CPU的使用率和内存的使用率。具体的,由于主机CPU的使用率和内存的使用率属于控制器指标,若只考虑待处理的Packet-In消息、维护管理域和全局拓扑所需的流量、域间控制器的通信开销、流表安装代价等信息,就会忽略控制器的差异,由于每个控制器的处理能力未必相同,收集负载情况时加入主机CPU的使用率和内存的使用率可以更好的根据每个处理器的实际处理情况进行负载均衡。每个控制器的阈值设置与自身的处理能力以及所在网络对网络时延的要求相关。控制器处理能力越高,阈值越高。网络对时延的要求越严,阈值越低。而整个网络的总阈值则是每个处理器的阈值之和。

S3、根据以上收集的控制器负载情况进行判断资源池中控制器的负载是否超过设置的阈值,若超过则通过网管协议进行控制器的添加,若不超过则直接进入下一步;

S4、将所有的控制器进行二进制编码,随机抽取N个控制器作为初始群体。将控制器的负载均衡状况设为优化目标函数,目标函数的值设为个体的适应度,适应度高的遗传给下一代,然后进行交叉、变异,选出局部最优解。从而在SDN的众多可行域中确定迁入域和迁出域;所述迁入域和迁出域的确定采用遗传算法,对可行解进行选择、交叉、变异等遗传操作。

S5、设置子域迁移度,所述子域迁移度是指迁移的交换机数量,其满足条件为:M=a|(R1-R2)|+b,其中,R1、R2分别为迁入域和迁出域的负载值,a、b为和为1的常量系数。设置交换机的有效期,低请求度的交换机的有效期大于高请求度交换机的有效期。所述交换机的有效期是指交换机在迁移过程中处于有效迁移状态的周期数;

S6、对迁出域控制器管控的交换机在时间间隔内产生的平均流请求进行排序,初始时选择平均请求最大的交换机作为待迁移的交换机,判断迁移后的迁入域的控制器负载是否超过阈值,如果超过,则选择平均请求更低的交换机进行迁移。通过交换机的迁移状况,构建新的SDN网络拓扑。

本发明在控制器失效或控制器负载过大时能够将SDN(Software Defined Network, 软件定义网络)交换机迁移到其他正常的或负载较轻的控制器下,避免了控制器单点失效或负载过大,优化了交换机到控制器的动态部署,提高了控制器负载均衡率。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1