• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    面向SDN负载均衡的交换机自适应迁移策略*

    放大字体  缩小字体 发布日期:2021-11-01 13:41:21    浏览次数:12    评论:0
    导读

    摘 要:针对软件定义网络(SDN)多域部署中存在的子域控制器负载不均衡问题,提出了一种面向SDN负载均衡的交换机自适应迁移策略。首先,通过检测各子域控制器的负载,在网络中基于自适应遗传算法选择迁入和迁出域,可以实现全局最优迁移域的选取;然后,应用生存期和淘汰机制将迁出域中的高负载度交换机迁移至迁入域,有效地

    摘 要:针对软件定义网络(SDN)多域部署中存在的子域控制器负载不均衡问题,提出了一种面向SDN负载均衡的交换机自适应迁移策略。首先,通过检测各子域控制器的负载,在网络中基于自适应遗传算法选择迁入和迁出域,可以实现全局最优迁移域的选取;然后,应用生存期和淘汰机制将迁出域中的高负载度交换机迁移至迁入域,有效地均衡了控制器负载。仿真结果表明,与现有的交换机迁移算法相比,迁移效率提升了19.7%,各个子域控制器的负载和交换机的数量到达了均衡,增强了网络的稳定性。

    关键词:软件定义网络(SDN);交换机迁移;自适应遗传算法;生存期;淘汰机制

    0 引言

    软件定义网络(Software-Defined Networking,SDN)多域控制器部署解决了可扩展性和灵活性的问题[1-2],由于流量的传输具有时间性和空间性[3],在某个时间段或者某个域内会出现流量激增和瞬减,因此在各个子域中的控制器的流量负载情况不尽相同,从而导致该域的控制器出现过载和轻载的状况,不利于整个网络架构的稳定和控制器负载均衡[4]

    针对该问题,本文提出了一种面向SDN控制器负载均衡的交换机自适应迁移策略。首先将SDN网络划分为各个子域,对各子域内控制器的负载进行测量,将测量数据传到数据中心,根据测量情况动态地设置控制器过载判定门限值,判断在各SDN子域是否存在过载的控制器;然后基于自适应遗传算法[5]把过载控制器所在SDN子域作为交换机迁移过程的迁出域,选择该子域的相邻最优子域作为交换机的迁入域;最后应用生存期和淘汰机制将迁出域内负载度高的交换机迁移至迁入域,从而实现整个网络的负载均衡,提升了网络可靠性。

    1 模型构建

    在SDN多域网络中,扁平式分布架构的引入会引起各个SDN子域内控制器负载不均衡[6],在这里,通过对交换机流量和控制器的负载进行测量,选择迁入和迁出子域,将迁出域内的负载度高的交换机迁移至相邻的迁入域内,实现了控制器负载和交换机数量在SDN子域的均衡部署。

    为了实现所设计功能,将SDN的子域中的模块分为交换机链路模块、控制器模块、迁移模块三大部分,如图1所示。

    图1 分布式SDN控制器负载均衡架构

    底层的交换机和物理链路表示该子域的交换机链路模块,由多个交换机通过物理链路连接构成。往上是控制器模块,负责管理网络中的流量和拓扑。迁移模块位于顶端,网络中的各个控制器都与迁移模块相连接,负责和协调交换机在各个SDN子域内的有效迁移。

    1.1 交换机链路模块

    一个完整的SDN网络被切分成各个SDN子域,因此各个交换机群组也被归类到不同的SDN的子域中。假设所有的交换机都支持OpenFlow协议[7],主要执行数据转发。一个完整的OpenFlow交换机如图2所示,包括流表、安全通道及OpenFLow协议三部分,交换机与交换机之间、交换机与控制器之间由物理链路相连接。

    图2 OpenFlow交换机架构

    1.2 控制器模块

    不同的SDN控制器归属于不同的SDN子域,负责管理该子域的网络,并与其他域的SDN控制器进行相互通信。对SDN控制器的内部模块进行划分,主要分为5个部分:(1)南向接口,主要负责与数据平面通信;(2)负载收集与测量模块,负载收集该控制器的负载信息,并聚合其他控制器的负载信息;(3)评估与决策模块,负责评估控制器负载是否超过预设的门限值,根据各控制器的负载情况进行决策,设定动态门限值;(4)存储模块,储存子域内所有交换机的链路消息、拓扑消息和流量消息;(5)北向接口,负责与应用平面进行通信。

    1.3 迁移模块

    迁移模块根据评估和决策的结果协调各个SDN子域,实行迁移策略,选择迁出和迁入域,将迁出域内高负载度的交换机迁移至迁入域内,完成控制器的负载均衡和交换机部署均衡。

    2 设计实施

    2.1 负载收集与测量

    (1)控制器负载的收集

    在SDN网络中,控制器的负载主要由以下4个部分构成:①待处理的Packet_In的事件数(P);②维护其管理域和全局的拓扑所需的流量(F);③与其他控制器的通信开销(K);④安装上层应用产生的流表项(N)。每个部分在不同控制器中所占的权值不同,设定相应的权值分别对应为 u1、u2、u3、u4。 因此可以得到控制器负载的计算公式为:

    (2)交换机负载的测量

    基于分布式SDN多域部署将整个网络划分为多个SDN子域,利用图论的知识,设网络拓扑为 G(V,E),其中,V代表网络中交换机,E代表交换机之间的链路。将网络划分为N个子域,各个子域可表示为Si(Wi,Li),其中,Wi表示子域 Si中的交换机,Li表示 Si中的链路,有:

    定义 交换机负载度。交换机向控制器请求的Packet_In的事件数定义为交换机的负载度,设为fk

    SDN子域Si中交换机的个数为Mi,所有交换机的负载度总和为如式(4)所示:

    则该SDN子域Si的平均负载度如式(5)所示:

    在整个SDN域中,共有N个子域,则子域Si的相对平均负载度如式(6)所示:

    2.2 控制器过载判定

    由于交换机流量在时间和空间上的波动性,有可能导致各SDN子域控制器负载不均衡,因此本文设计了一种控制器过载的动态判定机制。设置动态门限LA,子域Si中控制器的负载值为 Ci,判定过载门限值设为ε,则LA如式(7)所示:

    2.3 选择与迁移策略

    选择与迁移策略主要包含两部分内容:(1)基于自适应遗传算法的迁入和迁出域选择策略;(2)基于存活期和淘汰机制的交换机动态迁移策略。首先利用自适应遗传算法搜索能力强的特点,设定适应度函数作为度量,在进化过程的每一代,动态地选择交叉概率Pc和变异概率Pm,选择出实施迁移的最佳SDN子域。然后计算出迁入和迁出SDN子域的相对平均负载度,动态地计算出两个SDN子域的迁移率,根据迁移率确定可进行迁移交换机的数目,按照交换机负载度的高低进行排序,应用存活期和淘汰机制把迁出域内一定数目的高负载度交换机迁移到迁入域内,从而实现SDN多域控制器的负载均衡和交换机的部署均衡。

    2.3.1 迁出域和迁入域选择

    将控制器负载最大的子域设为迁出域,设为Sh。迁入域的选择是综合考量各类影响因素后得到的结果,不仅要考虑候选SDN子域的控制器负载情况(记为C),还要考虑到迁入域和迁出域之间的传输时延(记为D),迁入过程所产生的通信流量记为T。设目标函数为Q,如式(8)所示:

    在迁出域的相邻子域中,将具有最小目标函数Qmin所在的子域设为迁入域,记为Sl。本文采用自适应遗传算法来求取目标函数的最小值Qmin

    自适应遗传算法中的要素进行如下设定:

    (1)编码设计

    在这里本文采用二进制编码,将原问题表示为一个二进制的0~1字符串的形式,然后在位串空间上进行迭代遗传操作,得到的结果再通过解码的过程来还原成其解空间的解。例如,(0,1,1,0,1,0)就是一个长度为 6 的二进制编码染色体。

    (2)适应度函数

    适应度函数是对遗传算法中解的好坏进行度量的一种标准,在这里选取目标函数Q作为该算法的适应度函数,根据适应度函数计算个体的适应度。

    (3)交叉和变异

    自适应遗传算法中的交叉操作是指两个将相互配对的个体按照一致交叉的方式相互交换部分基因,从而形成两个新的个体,交叉概率为Pc。与之类似,变异操作是指将个体的染色体编码串中的某些基因座上的基因值用该基因座上的其他等位基因来替换,形成新的个体,记变异概率为Pm

    算法1:迁入、迁出域选择算法

    输入:SDN 子域:{S1,S2,…,SN}(N 为子域的个数);控制器负载:C;目标函数:Q;迭代次数:I;遗传代数:x=0。

    输出:迁出域:Sh;迁入域:Sl;目标函数最小值:Qmin;0:无须选择迁入迁出域。

    2.3.2 交换机自适应迁移策略

    基于算法1得到整个网络中所要迁入和迁出域,然后计算出迁入和迁出的两个SDN子域的相对平均负载度,得到两个SDN子域的迁移率。根据迁移率选择一定数目的交换机,使得迁出域里负载度高的交换机迁移到迁入域内,并加入存活期和淘汰机制,防止在迁移过程中有多个迁出域对应一个迁入域时,迁入域内有过多的交换机迁入,造成该迁入域负载骤增,产生二次迁移问题,平衡了各SDN子域内交换机的数量。

    (1)迁移率的调整

    迁移率是对SDN子域的迁入和迁出能力的定量描述,通过迁移率的比较与计算可以得出能够迁入和迁出交换机的最佳数量。

    现假设 SDN域中有两个 SDN子域记为 Sp和 Sq,由Sp到 Sq的迁移率记为 M(p,q),同时由 Sq到 Sp的迁移率记为M(q,p)。Sp和 Sq的相对平均负载度分别为则其迁移率:

    式(9)中两个子域中的一个子域的平均负载度为0时,M(p,q)=1,需要满足条件 u+v=1。

    则其迁移率:

    式(10)中两个SDN子域的一个平均负载度为 0,另一个为极值时,M(q,p)=0,需要满足条件 d+e=0。

    (2)基于存活期的淘汰机制

    本文设计了一种基于存活期和淘汰机制的交换机自适应迁移算法,即对参与迁移的交换机计算其存活期,若迁入个体年龄大于它的存活期就要被淘汰,不再参与迁移过程。

    存活期基于以下两个原则:①负载度低的交换机的存活期大于负载度高的交换机的存活期;②当某个SDN子域的交换机规模过大时不再接收新的交换机。

    在此,为交换机设定两个参数:年龄Y(Xj)和寿命L(Xj)。交换机Xj每经过一次迁移流程,称为一代,其年龄加1,其存活的代数不能超过其存活期L(Xj)。为了防止子域的交换机数量过多或过少,引入规模控制门限值R,f(Xj)为交换机的负载度函数值,当前域的最大、最小和平均负载度分别为 fmax、fmin、favg,设置在 SDN子域中交换机最大数目为Mmax。规模控制门限值R为:

    其中,min LT是允许最小寿命,max LT是允许最大寿命。

    算法2:交换机自适应迁移算法

    输入:迁出的 SDN子域:Sh;迁入的 SDN子域:Sl;年龄计数器t=0;可供迁移的交换机数量:λ;Sh域内交换机数量:M;迁移成功的交换机数量:SUM。

    输出:新的SDN多域控制器网络拓扑;0:没有可供选择的交换机。

    3 性能评估

    本文应用基于Ryu的分布式SDN控制器[8],在此基础上添加了收集与测量模块、评估决策模块和存储模块,并编写了迁移模块来负责整个域内交换机的迁移。运用Cbench[9]软件,使用 Mininet[10]来模拟整个网络拓扑,通过模拟一定数量的交换机连接到控制器,发送Packet-In消息,并等待控制器下发flow-mods消息来衡量控制器的性能。

    模拟一个具有5个控制器和100个交换机的网络拓扑,将整个网络划分为5个SDN子域,每一个子域内各部署一个控制器,使用Mininet来模拟整个网络拓扑。首先为了说明本文所述迁移机制的有效性和均衡性,采用模拟主机在网络中进行发送数据包,在交换机上产生大量的流量负载,将本文所采用的交换机自适应迁移策 略 (Adaptive Migration Policy,AMP)、ElastiCon[3]提 出 的就近迁移策略(Nearest Migration Policy,NMP)和随机迁移策略(Random Migration Policy,RMP)进行对比。控制器负载率代表控制器所承受的负载与可承受最大负载的比值,如图3所示,对比3种策略下控制器负载率随时间的变化。

    图3 控制器相对负载率随时间变化图

    从图3中可以看出,刚开始时设定3种策略下所属的控制器都处于过载状态,随着时间的推移,随机迁移策略RMP对于要迁移的SDN子域随机选择,导致曲线处于无规律波动状态,有所下降但波动幅度较大;在0~60 s内,就近迁移策略NMP和自适应迁移策略AMP呈下降趋势;大约60 s迁移过程完成之后波动幅度较小,趋于稳定,但AMP的相对负载率在0.76左右比起RMP的0.91有明显的下降,交换机迁移效率提升了19.7%,表明采用本文提出的自适应迁移策略可以使过载控制器的负载率得到明显改善,控制器资源得到充分的调动,各个控制器的负载更加均衡。

    如图4所示,在前60 s内,由于交换机的迁出,迁出域控制器的负载基本上是呈现明显的下降趋势,且迁入域由于有部分负载度高的交换机从迁出域中迁移过来,因此迁入域控制器的负载有一定程度的上升;在60 s之后,两个域内的控制器的负载基本处于均衡状态,由数据统计可以看出,迁出域控制器的初始负载值是设定为1 400 Request/s,迁入域控制器的初始负载值设定为800 Request/s,经过迁移之后,迁出域控制器负载值变为1 133 Request/s,相对于初始值降低了 19.1%,同时迁入域控制器负载值变为为1 041 Request/s,都低于控制器过载判定门限值1 300 Request/s,迁出域和迁入域的负载得到了很好的均衡。

    图4 SDN子域控制器负载随时间变化图

    4 结论

    本文针对SDN多域部署下各个子域控制器之间的负载不均衡问题,设计了基于自适应遗传算法的迁入、迁出域选择机制,根据迁移率,存活期和淘汰机制在迁出域中选择一定数目的交换机迁移到迁入域中,实现了各SDN子域控制器的负载均衡和交换机在各子域内的均衡部署。


     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=1700 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号