CN111650878B - 软件定义网络中多控制器失效时流的可编程性优化方法 - Google Patents
软件定义网络中多控制器失效时流的可编程性优化方法 Download PDFInfo
- Publication number
- CN111650878B CN111650878B CN202010544094.4A CN202010544094A CN111650878B CN 111650878 B CN111650878 B CN 111650878B CN 202010544094 A CN202010544094 A CN 202010544094A CN 111650878 B CN111650878 B CN 111650878B
- Authority
- CN
- China
- Prior art keywords
- programmability
- flow
- offline
- path
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了软件定义网络中多控制器失效时流的可编程性优化方法,通过构建最优流控制器映射模型(OFCM),将网络中脱机流的恢复问题转化为对OFCM模型的求解问题,并提出了启发式解决方案PG完成OFCM模型的求解,建立的模型及其求解过程,采用了细粒度流级别重新映射,能够在多个控制器出现故障时以较低的通信开销恢复脱机流,实验证明,在真实拓扑环境下本发明可有效提高恢复流的数量、平衡路径的可编程性及脱机流的总路径可编程性,有效降低了恢复过程中的通信开销。
Description
技术领域
本发明属于计算机网络技术领域,具体涉及软件定义网络中多控制器失效时流的可编程性优化方法。
背景技术
维持控制弹性是将软件定义网络(SDN)应用于广域网(WAN)(称为SD-WAN)的关键问题。在SD-WAN中,数据平面由多个网络域组成,每个域都具有分布在不同物理位置的SDN交换机。控制平面具有SDN控制器,它们是安装在物理服务器或虚拟机中的网络控制软件,用于控制其域内的这些物理SDN交换机。由于某些意外问题(例如,硬件/软件错误,电源故障),SDN控制器可能会发生故障。发生故障的控制器使所有连接的交换机脱机,从而丧失了更改流经它们的流的路径的能力,即路径可编程性,而这些流就变为脱机流。恢复脱机流的路径可编程性是在控制器故障下维持控制弹性的核心。
在SD-WAN中,维持控制平面弹性的核心是在控制器故障下恢复脱机流的可编程性。在实际的SDN约束下,这是一个复杂的优化问题。首先,优化目标是最大程度恢复路径的可编程性,从而获得最大的SDN控制功能,以及平衡恢复的路径可编程性。其次,在线控制器恢复脱机流的能力受到其处理能力的限制。第三,性能指标(例如,交换机和控制器之间的通信开销)也被认为可以在脱机流恢复期间为来自交换机的请求提供快速响应。
现有的控制弹性解决方案可在交换机级别恢复脱机流的可编程性。对于有故障的控制器,现有解决方案采用OpenFlow中的默认路径可编程性恢复解决方案,以建立从脱机交换机到在线控制器的新映射。通过将一个脱机交换机映射到一个在线的控制器,流经此交换机的所有流都由该控制器控制并变为可编程的。
为了高效的解决这个问题,Tanha等人与Killi等人提出了通过以静态的方式将交换机映射到控制器来恢复路径的可编程性的解决方案。静态解决方案是在控制器故障之前选择并放置备用的控制器,选择备用控制器并将其映射到交换机。它通过仔细选择控制器的位置以及控制器与交换机之间的连接来减少潜在的控制器故障的影响,从而优化网络部署。但是,这些解决方案通常会忽略交换机的不同控制负载以及控制器的控制能力的动态变化。因此,它们在实际环境中既无效率又无效果。
Guo等人提出了通过考虑当下交换机和控制器的状态,实时地将脱机交换机重新映射到在线控制器的动态解决方案。尽管动态解决方案在恢复路径可编程性方面取得了成功,但仍存在两个问题。首先,恢复流的路径可编程性不均衡。通常只有路程长并且有限数量的脱机流可以恢复为可编程状态。其次,因为当前方法采用以交换机为单位的粗粒度级别进行恢复,恢复路径可编程性效果不好。
综上所述,现有技术中脱机流的可编程性优化方法主要存在以下问题:一是,恢复粒度过粗,通常是恢复故障交换机中的所有流;二是,恢复过程中忽略了交换机的不同控制负载以及控制器的控制能力的动态变化;三是,恢复流的路径可编程性不均衡。
发明内容
有鉴于此,本发明提供了软件定义网络中多控制器失效时流的可编程性优化方法,能够在网络中多控制器出现失效时准确高效地恢复脱机流的路径可编程性。
本发明提供了一种软件定义网络中多控制器失效时流的可编程性优化方法,包括以下步骤:
步骤1、建立最优流控制器映射模型描述网络中脱机流与在线控制器之间的映射关系,所述最优流控制器映射模型如下式所示:
其中,r为所有脱机流的路径可编程性的最小值;l为脱机流f的编号,L为网络中脱机流的总数;i为脱机交换机的编号,N为网络中脱机交换机s的总数;j为在线控制器c的编号,M为网络中在线控制器的总数;Dij为交换机si与控制器cj间的传播迟延,λ为大于或等于0的常数,为流经si的脱机流fl在编号为i的脱机交换机s上所包含的路径数量;为布尔型变量,当取值为1时表示fl流经si且si至少有两条路径到达fl的目的点,否则取值为0;为布尔型变量,当取值为1时表示流经si的fl映射到cj,当取值为0时则表示流经si的fl未映射到cj;为cj的剩余能力;max[*]为取*的最大值;
步骤2、将与r松弛化后,求解所述最优流控制器映射模型得到解集 其中,为由fl的k个映射关系形成的集合,所述映射关系包括交换机与控制器间的映射及该映射的概率;选取k的最大值作为迭代次数T;将所有脱机流的路径可编程性均设为0;将映射关系全部置为0;
步骤3、建立包含所有脱机流的待测集合L*;
步骤4、从待测集合L*选择脱机流fl;
步骤6、如果所述总剩余处理能力为0,则测试结束退出流程;否则,将fl从L*中删除,执行步骤7;
步骤7、若L*不为空,则执行步骤4;否则,令T自减1,若T不为0,则根据更新后的流的路径可编程性,执行步骤3;若T为0,则测试结束退出流程。
进一步地,所述步骤7中根据更新后的流的路径可编程性,在下一轮迭代执行步骤3时,先将待测集合L*中的流按照路径可编程性由大到小的方式进行排序;相应地,所述步骤4中从L*中选择路径可编程性最大的脱机流。
进一步地,所述路径可编程性采用基于可编程结构的可编程路径计算方法进行计算。
有益效果:
本发明通过构建最优流控制器映射模型(OFCM),将网络中脱机流的恢复问题转化为对OFCM模型的求解问题,并提出了启发式解决方案PG完成OFCM模型的求解,建立的模型及其求解过程,采用了细粒度流级别重新映射,能够在多个控制器出现故障时以较低的通信开销恢复脱机流,实验证明,在真实拓扑环境下本发明可有效提高恢复流的数量、平衡路径的可编程性及脱机流的总路径可编程性,并有效降低了恢复过程中的通信开销。
附图说明
图1为本发明提供的软件定义网络中多控制器失效时流的可编程性优化方法采用的路径编程性的示意图。
图2(a)为本发明提供的软件定义网络中多控制器失效时流的可编程性优化方法采用的路径编程性的计算过程示意图1。
图2(b)为本发明提供的软件定义网络中多控制器失效时流的可编程性优化方法采用的路径编程性的计算过程示意图2。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的软件定义网络中多控制器失效时流的可编程性优化方法,其核心思想是:采用在软件定义网络中提高路径可编程性的方法,来恢复网络中脱机流的路径可编程性。
本发明提供的软件定义网络中多控制器失效时流的可编程性优化方法,具体包括以下步骤:
步骤1、建立最优流控制器映射模型(OFCM)描述网络中脱机流与在线控制器之间的映射关系,所述最优流控制器映射模型如公式(1)所示:
其中,r为所有脱机流的路径可编程性的最小值;l为脱机流f的编号,L为网络中脱机流的总数;i为交换机的编号,N为网络中交换机s的总数;j为在线控制器c的编号,M为网络中在线控制器的总数;Dij为交换机si与控制器cj间的传播迟延,λ为大于或等于0的常数,为流经si的脱机流fl所包含的路径数量;为布尔型变量,当取值为1时表示fl流经si且si至少有两条路径到达fl的目的点,否则取值为0;为布尔型变量,当取值为1时表示流经si的fl映射到cj,当取值为0时则表示流经si的fl未映射到cj;为cj的剩余能力。
通常情况下,软件定义广域网(SD-WAN)由位于H个位置的H个控制器组成,每个控制器控制一个交换器域。假设在线控制器的集合为C={C1,…,Cj,…,CM},发生故障的控制器集合为{CM+1,…,CH},脱机交换机的集合为S={s1,…,si,…,sN},故障控制器控制了这N个脱机交换机。本发明需要解决的问题是,将流经所有脱机交换机的流映射到在线控制器上。流经脱机交换机S的流的集合为F={f1,f2,…,fl,…,fL}。如果流fl流经交换机si,并且si至少有两条路径到达fl的目的点,则表示为否则本发明中,使用来表示流经交换机si的流fl映射到控制器Cj;否则
下面具体说明一下最优流控制器映射模型的约束条件:
1)流控制器映射约束。如果脱机流fl流经交换机si,则该脱机流至多可映射到一个在线控制器,如公式(2)所示:
2)控制器处理能力约束。当控制器出现故障成为脱机交换机时,在线控制器在不中断其自身正常运行的情况下控制来自脱机交换机的流量。控制器的控制开销等于在其域中控制其关联流的总开销,控制器的处理能力采用其在不引入额外延迟(例如排队延迟)的情况下可控制的流的总数进行表示。本发明中,控制器处理能力约束即为控制器的将要处理的负载不大于其剩余处理能力,如公式(3)所示:
3)流的路径可编程性约束。从统计上讲,路径长的流比路径短的流具有更高的可编程性,因为长路径会增加该流的控制概率。换句话说,路径长度在无形中区分了流的优先级,并导致流之间的路径可编程性不平衡。当流的流量较大时,无法重启路由以提高网络的负载平衡性能,而且流量大小可能随时间不断变化,因此,争取让每个脱机流具有相同的路径可编程性,则是解决这一问题的合理方案。流的路径可编程性表示为交换机改变流经此交换机的流的路径的能力。
恢复脱机流的转发路径上任意数量交换机的过程中,流的路径可编程的计算是一个复杂问题。其难点在于如何消除不同交换机的可编程路径之间的冗余路径。针对该问题,本发明采用基于可编程结构的可编程路径计算方法。可编程结构定义为一个离线流转发路径上恢复交换机组成的网络结构。基于此结构,可以将一个有向的网络拓扑进行简化:找出恢复的交换机、其下一跳相邻节点和该流的目的节点;将交换机之间只有最短路径部分替换为直接连接,形成可编程结构;修剪相邻节点,如果这些相邻节点到这个流到目的节点之间有最短路径,则将这些节点保留,否则删除这些节点可编程结构与之相邻的边;将计算可编程结构看为一个整体,其与外部的连接数量即为其可编程性,如图1所示。例如,路径可编程性的计算过程如图2(a)所示,其中,可编程结构A为s20和s22,可编程结构A对外连接为三条边:s20-s24、s22-s24及s22-s25,这三条边即为可编程结构A的路径可编程性的来源,即可编程结构A的路径可编程性的取值为3;在图2(b)中,可编程结构B为s21和s22,这里s21与s22直接相连替代了图2(a)中经过s20的最短路径,可编程结构B对外连接为四条边:s21-s23、s21-s25、s22-s25及s22-s24,因此可编程结构B的路径可编程性为4。
由此,流的路径可编程性约束可采用公式(4)进行表示:
现有技术中,整数编程的典型解决方案是使用整数程序优化求解器获得上述OFCM问题的最优解。但是,随着网络规模的增加,解决方案空间可能会大大增加,找到可行的解决方案可能会花费很长时间甚至是不可能的。为此,本发明中,提出了通过名为PG的启发式算法来解决这一问题,从而提高性能和时间复杂度。PG的关键思想是通过遵循流控制器映射的确定概率来测试和增加每个流的路径可编程性。PG算法的具体步骤包括下面从步骤2到步骤7的计算过程。
步骤2、将与r松弛化后,求解所述最优流控制器映射模型得到解集 其中,为由fl的k个映射关系形成的集合,所述映射关系包括交换机与控制器间的映射及该映射的概率;从L个k值中,选取k的最大值作为迭代次数T;将所有脱机流的路径可编程性均设为0;将映射关系全部置为0。
步骤3、建立包含所有脱机流的待测集合L*;设置布尔变量IsMapped的取值为0。
其中,布尔变量IsMapped的含义为流是否被恢复,当其取值为1时,说明流已经被恢复,否则说明还未被恢复。
为了进一步提升检测速度,本发明可以根据后续执行步骤7更新后的流的路径可编程性,再下一轮迭代时,建立包含所有脱机流的待测集合L*后,将待测集合L*中的流按照路径可编程性由大到小的方式进行排序。
步骤4、从集合L*选择脱机流fl。
其中,脱机流的选择方式,可以是随机选取,也可以根据集合L*中的排序顺序选择。
步骤6、如果所述总剩余处理能力为0,则测试结束退出流程;否则,将fl从L*中删除。
步骤7、若L*不为空,则执行步骤4;否则,令T自减1,若T不为0,则根据更新后的流的路径可编程性,执行步骤3;若T为0,则测试结束退出流程。
通过实验模拟对本实施例的性能进行了评估,PG可将已恢复流的百分比提高,而平衡路径的可编程性则高达29%,将已恢复流的总可编程性提高到68%,与基准算法相比,最多可将通信开销降低83%。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种软件定义网络中多控制器失效时流的可编程性优化方法,其特征在于,包括以下步骤:
步骤1、建立最优流控制器映射模型描述网络中脱机流与在线控制器之间的映射关系,所述最优流控制器映射模型如下式所示:
其中,r为所有脱机流的路径可编程性的最小值;l为脱机流f的编号,L为网络中脱机流的总数;i为脱机交换机的编号,N为网络中脱机交换机s的总数;j为在线控制器c的编号,M为网络中在线控制器的总数;Dij为交换机si与控制器cj间的传播迟延,λ为大于或等于0的常数,为流经si的脱机流fl在编号为i的脱机交换机s上所包含的路径数量;为布尔型变量,当取值为1时表示fl流经si且si至少有两条路径到达fl的目的点,否则取值为0;为布尔型变量,当取值为1时表示流经si的fl映射到cj,当取值为0时则表示流经si的fl未映射到cj;为cj的剩余能力;max[*]为取*的最大值;
步骤2、将与r松弛化后,求解所述最优流控制器映射模型得到解集 其中,为由fl的k个映射关系形成的集合,所述映射关系包括交换机与控制器间的映射及该映射的概率;选取k的最大值作为迭代次数T;将所有脱机流的路径可编程性均设为0;将映射关系全部置为0;
步骤3、建立包含所有脱机流的待测集合L*;
步骤4、从待测集合L*选择脱机流fl;
步骤6、如果所述总剩余处理能力为0,则测试结束退出流程;否则,将fl从L*中删除,执行步骤7;
步骤7、若L*不为空,则执行步骤4;否则,令T自减1,若T不为0,则根据更新后的流的路径可编程性,执行步骤3;若T为0,则测试结束退出流程;
2.根据权利要求1所述的方法,其特征在于,所述步骤7中根据更新后的流的路径可编程性,在下一轮迭代执行步骤3时,先将待测集合L*中的流按照路径可编程性由大到小的方式进行排序;相应地,所述步骤4中从L*中选择路径可编程性最大的脱机流。
3.根据权利要求1所述的方法,其特征在于,所述路径可编程性采用基于可编程结构的可编程路径计算方法进行计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010544094.4A CN111650878B (zh) | 2020-06-15 | 2020-06-15 | 软件定义网络中多控制器失效时流的可编程性优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010544094.4A CN111650878B (zh) | 2020-06-15 | 2020-06-15 | 软件定义网络中多控制器失效时流的可编程性优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111650878A CN111650878A (zh) | 2020-09-11 |
CN111650878B true CN111650878B (zh) | 2021-05-04 |
Family
ID=72341822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010544094.4A Active CN111650878B (zh) | 2020-06-15 | 2020-06-15 | 软件定义网络中多控制器失效时流的可编程性优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111650878B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1230090A (zh) * | 1997-10-01 | 1999-09-29 | 北方电讯有限公司 | 通信***结构及其运行方法 |
CN110391929A (zh) * | 2018-04-23 | 2019-10-29 | 深圳市格瑞信息科技有限公司 | 一种容错控制方法、装置及容错构件 |
CN110908772A (zh) * | 2019-11-14 | 2020-03-24 | 北京理工大学 | 一种提高多工作流可靠性的节能调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103675600B (zh) * | 2013-09-05 | 2016-03-30 | 国家电网公司 | 基于拓扑知识的配电网故障诊断***及方法 |
CN110149226B (zh) * | 2019-05-14 | 2022-01-28 | 电子科技大学中山学院 | 一种软件定义网络中多控制器部署问题的改进粒子群算法 |
-
2020
- 2020-06-15 CN CN202010544094.4A patent/CN111650878B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1230090A (zh) * | 1997-10-01 | 1999-09-29 | 北方电讯有限公司 | 通信***结构及其运行方法 |
CN110391929A (zh) * | 2018-04-23 | 2019-10-29 | 深圳市格瑞信息科技有限公司 | 一种容错控制方法、装置及容错构件 |
CN110908772A (zh) * | 2019-11-14 | 2020-03-24 | 北京理工大学 | 一种提高多工作流可靠性的节能调度方法 |
Non-Patent Citations (4)
Title |
---|
SDN中控制器松弛管理及虚拟网络映射研究;李莹;《中国优秀硕士学位论文全文数据库信息科技辑》;20150630;全文 * |
下一代网络技术中流量和资源管理机制研究;郭泽华;《中国博士学位论文全文数据库信息科技辑》;20150730;全文 * |
面向聚类和回归的模糊求解技术及应用;刘解放;《中国博士学位论文全文数据库信息科技辑》;20180430;全文 * |
高性能SDN数据面若干关键技术研究;郑凌;《中国博士学位论文全文数据库信息科技辑》;20200328;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111650878A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495300B (zh) | 一种可靠的sdn虚拟网络映射方法 | |
CN103703727B (zh) | 用于分体式架构***中控制业务的弹性路由的方法和设备 | |
Vizarreta et al. | Controller placement strategies for a resilient SDN control plane | |
CN105379196B (zh) | 用于容错和负载平衡路由的方法、***和计算机存储介质 | |
US8923113B2 (en) | Optimizations in multi-destination tree calculations for layer 2 link state protocols | |
CN109768924B (zh) | 一种面向多流共存的sdn网络多链路故障恢复方法及*** | |
CN108667727B (zh) | 网络链路故障处理方法、装置及控制器 | |
US8254263B2 (en) | Method and apparatus for simplifying the computation of alternate network paths | |
CN107306224B (zh) | 一种路由路径更新方法、网络管理装置及路由设备 | |
CN106464531A (zh) | 网络故障的主动处理 | |
CN105634823B (zh) | 一种基于多路由配置的数据中心网络故障恢复方法 | |
CN104025513A (zh) | 数据中心网络中的控制层级 | |
CN113347102B (zh) | 基于q-学习的sdn链路抗毁方法、存储介质及*** | |
US11706146B1 (en) | Directing network traffic using local routing decisions with a global overview | |
Golani et al. | Fault tolerant traffic engineering in software-defined WAN | |
Li et al. | P4Resilience: Scalable resilience for multi-failure recovery in SDN with programmable data plane | |
Al-Rumaih et al. | Spare capacity planning for survivable mesh networks | |
CN111650878B (zh) | 软件定义网络中多控制器失效时流的可编程性优化方法 | |
CN110213162A (zh) | 一种面向大规模计算机***的容错路由方法 | |
CN107147539A (zh) | 软件定义网络中判定关键链路提供快速故障恢复的方法及装置 | |
Mota et al. | Efficient routing table minimization for fault-tolerant irregular network-on-chip | |
Lemeshko et al. | Application prospects of first hop redundancy protocols for fault-tolerant SDN controllers: a survey | |
Broström et al. | Multiobjective design of survivable IP networks | |
JP2017539147A (ja) | スイッチのポート内障害の場合にルーティングを迅速に再構成するための方法 | |
CN109831229A (zh) | 一种基于强化学习恢复电力通信网络中业务的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |