软件定义网络中分布式控制平面的鲁棒性验证方法及装置制造方法及图纸

技术编号:21634192 阅读:47 留言:0更新日期:2019-07-17 12:50
本发明专利技术提供了一种网络控制领域的软件定义网络中分布式控制平面的鲁棒性验证方法及装置,包括:构建鲁棒性验证框架,鲁棒性验证框架容纳了失效场景集和失效恢复策略集;选定失效恢复策略,查找失效恢复策略下的最差失效场景;验证最差失效场景与失效恢复策略组合下控制平面中最大控制器的利用率;根据利用率对控制平面的鲁棒性进行验证。本发明专利技术将分布式控制平面的验证问题作为一个各种不同失效情形以及失效恢复策略下的鲁棒优化问题,通过选定失效恢复策略以后,找到最差的失效场景,来判断控制平面的性能是否符合需求。

Robustness Verification Method and Device for Distributed Control Plane in Software Definition Networks

【技术实现步骤摘要】
软件定义网络中分布式控制平面的鲁棒性验证方法及装置
本专利技术属于一种控制平面性能验证方法,具体是涉及到一种软件定义网络中分布式控制平面的鲁棒性验证方法及装置。
技术介绍
目前,软件定义网络吸引了学术界和工业界大量的关注。它允许网络操作者动态地管理网络资源和网络行为。同时,软件定义网络使得开发新的网络应用变得更加灵活。软件定义网络解耦了网络的数据平面和控制平面,由控制平面决策流所走的路径,数据平面按照控制平面的决策进行相应的转发操作。软件定义网络采用一个逻辑中心的控制平面来维持一个全局一致的网络视图。为了保证控制平面的可用性和可扩展性,这样的控制平面通常由多个分布式的控制器构成。逻辑中心的控制平面是软件定义网络的一个关键部分。通过为每一个交换机分配一个可用的控制器列表(包括一个主控制器和几个从控制器),能够实现一个设计好的控制平面和数据平面之间的映射。主控制器负责接收它所覆盖的交换机的流请求,并为每一条流计算一个路由决策,以及安装流规则到路径上相关的交换机。依照这种方式,交换机能够按照控制平面所作出的路由决策进行流的转发。为了实现以上的设计,控制平面和数据面必须通过安全链路进行相互通信。安全链路能被实现通过专门的控制通道(带外)或者和数据面共享相同的网络链路(带内)。当设计一个控制平面时,急需能够确保在可以接受的花费内提供确定的性能。然而,当前对于验证控制平面在各种各样的失效条件下能否满足设计目标的要求缺乏研究。这个问题被称作分布式控制平面的鲁棒性验证问题,由于两个方面的挑战,使得这个问题变得很难。第一,控制平面可能遭遇控制器或安全链路的失效,任何这样的失效都可能使交换机失去和它的主控制器的连接,变成未被覆盖的交换机,不再能够处理新的流请求。这样的潜在的失效的情形可能是不胜枚举的。第二,当不同的失效策略被采用来抵御失效时,对于控制平面性能的建模仍然是一个开放的问题。控制平面将从未被覆盖的交换机的从控制器中选择一个座位它的新的主控制器。由于接管了额外的未被覆盖的交换机,这样的操作将使得一些控制器显示更高的利用率。显然,失效的情形以及控制平面所采用的失效恢复策略联合影响了控制平面的性能。
技术实现思路
本专利技术的目的在于提供一种软件定义网络中分布式控制平面的鲁棒性验证方法及装置,以解决现有的软件定义网络中,缺乏对控制平面性能的验证的现有技术问题。为解决上述问题,本专利技术提供了一种软件定义网络中分布式控制平面的鲁棒性验证方法,包括以下步骤:S1:构建鲁棒性验证框架,所述鲁棒性验证框架容纳了失效场景集和失效恢复策略集;S2:选定失效恢复策略,查找所述失效恢复策略下的最差失效场景;S3:验证所述最差失效场景与所述失效恢复策略组合下控制平面中最大控制器的利用率;S4:根据所述利用率对控制平面的鲁棒性进行验证。优选地,步骤S2中查找最差失效场景的方法为采用递归算法进行查找。优选地,采用分支界定法减少失效场景从而减少递归算法的运算时间。优选地,S4对控制平面的鲁棒性进行验证的公式为:其中,N为控制平面内交换机的数量,M为控制平面内控制器的数量,vlij表示安全链接在交换机si和控制器cj之间的状态,vfj表示控制器cj的状态,为故障恢复策略。优选地,步骤S4中,根据所述利用率对控制平面的鲁棒性进行验证的方式为判断F*与1的关系,若F*<1,则认为控制平面能够满足设计需求,否则,对控制平面进行扩充容量。优选地,扩充容量遵循的扩容准则为:其中,V为失效场景集,v为失效场景,δj为控制器的最大利用率,为控制器的单位容量成本,vlij表示安全链接在交换机si和控制器cj之间的状态,vfj表示控制器cj的状态.ρj表示为控制器cj增加单位容量的花费。S表示交换机的集合,Sf失效交换机的集合,|Sf|表示失效交换机的数量mxj表示控制器cj是否为交换机si的主控制器,M表示控制平面控制器的数量。优选地,采用迭代算法对扩容准则进行计算从而得到扩展容量。依托于上述方法,本专利技术还提供了一种软件定义网络中分布式控制平面的鲁棒性验证装置,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一所述方法的步骤。本专利技术包括以下的有益效果:1.本专利技术将分布式控制平面的验证问题作为一个各种不同失效情形以及失效恢复策略下的鲁棒优化问题,通过选定失效恢复策略以后,找到最差的失效场景,来判断验证平面的性能是否符合需求。2.本专利技术创新性提出了查找最差的失效场景的算法,能够快速、准确的在选定失效恢复策略以后,找到最差的失效场景。3.本专利技术在验证了控制平面的鲁棒性后,能够有效的提出控制平面主控制器的扩容方案,从而增强控制平面的性能和能力,更好的符合使用要求。附图说明图1为本专利技术优选实施例一种软件定义网络中分布式控制平面的鲁棒性验证方法流程图;图2为本专利技术优选实施例中所述的随着交换机数量的增长,控制器吞吐量的改变趋势图;图3为本专利技术优选实施例的SDN实验床上测试的失效对于MCU的影响对比图;图4为本专利技术优选实施例不同控制器的能力设置下,控制器数量对于MCU的影响对比图;图5为本专利技术优选实施例校园网中,不同失效恢复策略下寻找最差失效场景对比图;图6为本专利技术优选实施例数据中心网络中,不同失效恢复策略下寻找最差失效场景对比图。具体实施方式实施例1:下文中的SDN为软件定义网络,MCU为控制平面所有控制器中,利用率最大的那一个。如图1所示,本专利技术提供了一种软件定义网络中分布式控制平面的鲁棒性验证方法,包括以下步骤:S1:构建鲁棒性验证框架,所述鲁棒性验证框架容纳了失效场景集和失效恢复策略集。鲁棒性验证框架是一个数学公式,主要内容就是根据失效场景和失效恢复策略计算当时控制平面每台控制器的利用率。本实施例主要对主控制器的最大利用率进行分析。假设一个控制器可以处理ρ流量每秒的请求数,该控制器利用率定义为U=r/ρ。对于任何控制器,U的值直接影响其吞吐量和响应延迟。利用cbench性能测试套件测试控制器的吞吐量的影响,将cbench和控制器布置在一个8GB内存、英特尔酷睿2.4GHz的CPU的机器上。在每个开关的设置数下进行了10轮实验。图2描绘了控制器在不同数量的交换机上吞吐量的变化趋势。显然,当交换机的数量超过阈值时,控制器的容量将饱和,因为每个模拟交换机以最高可能的速率发送请求。因此,当控制器的利用率超过1时,即使接收到更多的请求,控制器的吞吐量也开始下降。从图2中可以看到,当交换机的数量超过40时,最大吞吐量急剧下降。为此,我们在所有可用的控制器中使用MCU来捕捉分布式控制平面对失败的性能。当MCU>1时,控制平面将不再满足感兴趣的需求。安全链路是控制信道的基础设施,用于连接交换机和控制器。安全链路的故障将导致交换机失去与主控制器的连接。但不仅安全链路的故障会造成失去连接的现象,控制器的故障也会导致交换机和它们的主控制器之间的脱节。失效场景就包括了控制器失效和安全链路的失效。交换机产生的流请求可以从历史记录中预测。验证框架可以使用一组历史流量矩阵{ri}i∈H优化,其中H={1,2,...,h}。预测者通常根据已知矩阵的凸组合估计给定区间的流量矩阵。验证设计的凸壳的{r1,r2,...,rh},确保所本文档来自技高网
...

【技术保护点】
1.软件定义网络中分布式控制平面的鲁棒性验证方法,其特征是,包括以下步骤:S1:构建鲁棒性验证框架,所述鲁棒性验证框架容纳了失效场景集和失效恢复策略集;S2:选定失效恢复策略,查找所述失效恢复策略下的最差失效场景;S3:验证所述最差失效场景与所述失效恢复策略组合下控制平面中最大控制器的利用率;S4:根据所述利用率对控制平面的鲁棒性进行验证。

【技术特征摘要】
1.软件定义网络中分布式控制平面的鲁棒性验证方法,其特征是,包括以下步骤:S1:构建鲁棒性验证框架,所述鲁棒性验证框架容纳了失效场景集和失效恢复策略集;S2:选定失效恢复策略,查找所述失效恢复策略下的最差失效场景;S3:验证所述最差失效场景与所述失效恢复策略组合下控制平面中最大控制器的利用率;S4:根据所述利用率对控制平面的鲁棒性进行验证。2.如权利要求1所述的软件定义网络中分布式控制平面的鲁棒性验证方法,其特征是,所述步骤S2中查找最差失效场景的方法为采用递归算法进行查找。3.如权利要求2所述的软件定义网络中分布式控制平面的鲁棒性验证方法,其特征是,采用分支界定法减少失效场景从而减少递归算法的运算时间。4.如权利要求1所述的软件定义网络中分布式控制平面的鲁棒性验证方法,其特征是,所述S4对控制平面的鲁棒性进行验证的公式为:其中,N为控制平面内交换机的数量,M为控制平面内控制器的数量,vlii表示安全链接在交换机si和控制器cj之间的状态,vfj表示控制器cj的状态,为故障恢复策略。5.如权利要求1所述的软件定义网络中分布式控制平面的鲁棒性验证...

【专利技术属性】
技术研发人员:郭得科谢俊杰郭杨夏俊旭谷思远
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

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

1