一种SDN链路故障恢复技术的研究
2020-12-24张莉敏田小路杨廷来
张莉敏 田小路 杨廷来
摘 要: 软件定义网络(SDN)中交换机检测到链路或节点发生故障时,必须通知控制器更新流表或将数据转换到备份路径以恢复故障。然而,现有的故障恢复方法主要采用主动式故障恢复策略,为每条链路设置备份路径,极大的消耗存储资源。因此,为了最小化备份路径的资源消耗并满足所需的故障恢复延迟,本文提出了一种改进的链路故障恢复方法。该方法根据带宽值将链路分为不同的等级,根据链路等级的不同制定不同的恢复策略。通过仿真实验得出,该方法在保证故障恢复时间的前提下,使用尽可能少的流条目,减少资源消耗,以确保故障恢复的性能并同时满足重要流量所需的延迟。
关键词: SDN;故障恢复;链路重路由
中图分类号: TP393.02 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.020
本文著录格式:张莉敏,田小路,杨廷来. 一种SDN链路故障恢复技术的研究[J]. 软件,2020,41(07):103-104+112
Research on SDN Link Failure Recovery Technology
ZHANG Li-min, TIAN Xiao-lu, YANG Ting-lai
(Information Technology Institute,Guang Dong Polytechnic College, Zhaoqing 526100, China)
【Abstract】: When the switch detects a link or node failure in Software-defined network (SDN), the controller must be notified to update the flow table or convert the data to the backup path to recover the failure. However, the existing fault recovery methods mainly adopt active fault recovery strategy, set up backup path for each link, and consume storage resources greatly. Therefore, in order to minimize the resource consumption of the backup path and meet the required fault recovery delay, an improved link fault recovery method is proposed. This method divides the link into different levels according to the bandwidth value, and formulates different recovery strategies according to the different link levels. through simulation experiments, it is concluded that this method uses as few flow entries as possible to reduce resource consumption under the premise of ensuring fault recovery time to ensure the performance of fault recovery and simultaneously meet the delay required for important traffic.
【Key words】: SDN; Failure recovery; Link rerouting
0 引言
軟件定义网络(Soft Network,SDN)中故障恢复技术主要用于在网络发生故障时,确保数据流的正常传送,保证网络的健壮性和平稳性[1-3]。SDN网络架构将数据平面和转发平面功能分离,使得交换机只负责数据流的转发,如果数据层链路出现故障,必须要向控制器发送信息,才能重新恢复数据流的传送。这一过程很可能造成数据包的丢失或网络传输时延,影响网络性能。
现有的故障恢复算法主要是在交换机中增加备份路径,如果链路出现故障,立即启用交换机中的备用路径。但是该恢复方法并未考虑到过多的备份路径会消耗网络资源,并且备份路径会影响网络负载情况,容易造成丢包的发生。
因此,本文提出在确保网络时延的情况下,根据带宽值将链路分为不同的等级,并制定相应的恢复策略,减少流条目数,降低重路由过程中数据丢包的概率。
1 SDN架构
本小节主要介绍SDN体系架构[4-5],如图1所示为SDN系统架构图,SDN总体可划分为三层[6]:最底层的数据层、中间控制层和顶层应用层。应用层和控制层之间有一系列接口,称为北向接口,负责与各种上层应交互。控制层和数据层之间的接口称为南向接口,该接口主要用于底层物理设备与控制器的通信,并实现控制器对底层设备的管理和控制。下面对三层结构进行简单描述:
(1)数据层
底层数据层通常表示基础的网络設施,与传统的网络相似,主要由交换机、主机和其它转发设备互联组成。数据层只负责根据流表项对数据处理、转发和链路状态的收集,因此数据层对数据处理性能要求较高。
(2)控制层
控制层集中管理整个网络设备,是实现SDN集中化控制的关键部分,类似于传统的操作系统。控制层内安放SDN控制器,是实现集中控制的核心,可以通过下发指令控制网络中的设备。控制器通过南向接口与底层设备通信,可以获取全局网络结构,从而可以灵活分配网络资源。对上层,通过北向接口向上层应用提供全网资源的控制能力;对下层,通过南向接口实现与不同物理设备的通信。
(3)应用层
应用层包括根据不同的用户需求开发的各种应用,通过开放的、可编程的北向接口与控制层进行通信,通过控制层提供的编程接口实现对底层设备的编程,使得用户能够掌控网络,根据自身需求开发各种应用,实现丰富的业务创新。
2 故障恢复算法
SDN网络的故障类型主要有以下三种[7]:
数据层故障,主要是指交换机或链路发生故障;
控制通道故障,主要是指控制器和交换机之间的连接通道发生故障;
控制层故障,主要是指控制器之间的链接出现故障。
本文主要针对数据层的链路故障进行恢复。本文提出的恢复策略提出将链路分为不同的等级,对不同等级的链路采用不同的恢复策略进行重路由(multiple backup path,MBP算法)。
在本节中,首先说明如何对链路的重要性级别进行分级。针对不同的链路定义了三种不同的备份策略。下面分别介绍链路等级划分的依据及备份策略。
2.1 链接的重要性级别
在实际网络中,链路故障的发生是随机的,并且由于链路的多样性,在链路故障的情况下,对网络或主机之间的通信的影响也不同。为了最大程度地减少用于预配置备份路径的流条目,并在链路故障的情况下实现所需的恢复延迟,首先根据以下度量标准对链路进行分类。
其中LDN表示带宽利用率,BL表示流经链路的数据流数目,的取值范围为[0-1]。经过计算,链路的MBPL值介于0-2之间。
2.2 链路故障恢复策略
根据度量结果值,将链路分为三个等级。针对一级链路使用双路径备份策略,该策略提供了两个备份路径,从而保障重要数据流的传送。
针对二级链路使用单备份路径恢复策略,从而可以满足所需的故障转移延迟。如果该策略失败,将触发被动恢复策略。
针对三级链路,通常流经这些链路的流量较少或对于延迟或数据包丢失的需求不高,因此对这些链路将采用被动备份策。该方法未对链路建立备份路径,直到发生故障时才分配恢复路径所需的资源。因此,可以节省内存资源。
3 实验仿真
本次实验是在虚拟机中进行,使用 Ubuntu14. 04操作系统,SDN控制器使用Floodlight,测试平台使用Mininet,网络拓扑结构如图2所示,这里将交换机分为两类:边缘交换机和核心交换机。边缘
交换机可当做数据流的源和目的地,而核心交换机负责数据路由转发。假设每条链路的故障概率相同,并且每条链路的最大带宽为524 M。其中纵坐标表示备份路径流条目数占整个工作路径流条目数的比例(用Bp表示),横坐标表示边缘交换机所占比例。
本次实验主要评估备份路径的资源消耗性能,本文将边缘交换机的百分比设置为15%,30%,50%和70%,然后计算不同边缘交换机百分比下的值。从图3中可以看出,传统主动式恢复算法中备份路径流条目数比例值在65%至75%之间。并且,随着
边缘交换机数量的增加,其值基本保持不变。然而,本文提出的方法中备份路径流条目数所占比例减小后逐渐趋于平稳,由此可看出该方法可有效减少备份路径资源消耗。
4 总结
目前SDN故障恢复方法主要采用主动式故障恢复策略,为每条链路设置备份路径,极大的消耗存储资源。因此,为了最小化备份路径所消耗的资源并满足所需的故障恢复延迟,本文提出了一种新的故障恢复方法。首先根据链路带宽将链接分为不同的级别,然后针对不同等级的链接提出了不同的恢复策略。仿真表明,本文提出的方法可以减少备份路径的资源消耗,同时满足重要流量所需的延迟。
参考文献
[1]. SDN[D]. , 2019.
[2] 巴军华. 基于拓扑切换的SDN节能路由及其优化方法[D].北京邮电大学, 2019.
[3] 刘振鹏, 王文胜, 贺玉鹏, 等. 一种SDN控制节点故障恢复的部署策略[J]. 山东大学学报(理学版), 2019, 54(05): 21-27.
[4] 王立坤. SDN网络链路和控制器故障恢复机制研究[D]. 大连理工大学, 2018.
[5] 张淑娟. 基于备份资源的SDN数据平面故障恢复方法[D].北京邮电大学, 2017.
[6] 洪硕果. SDN网络的故障检测和恢复技术研究与实现[D].南京邮电大学, 2015.
[7] 尹子龙. 面向SDN胖树拓扑的链路故障恢复技术的研究与实现[D]. 北京邮电大学, 2019.