«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (6): 209-215  DOI: 10.19678/j.issn.1000-3428.0054783
0

引用本文  

耿海军, 张伟, 尹霞. 基于混合软件定义网络的路由保护算法[J]. 计算机工程, 2020, 46(6), 209-215. DOI: 10.19678/j.issn.1000-3428.0054783.
GENG Haijun, ZHANG Wei, YIN Xia. Routing Protection Algorithm Based on Hybrid Software Defined Network[J]. Computer Engineering, 2020, 46(6), 209-215. DOI: 10.19678/j.issn.1000-3428.0054783.

基金项目

国家自然科学基金(61702315);山西省高等学校科技创新项目(201802013)

作者简介

耿海军(1983-), 男, 讲师、博士, 主研方向为网络体系结构、路由算法;
张伟, 副教授;
尹霞, 教授、博士

文章历史

收稿日期:2019-04-30
修回日期:2019-06-03
基于混合软件定义网络的路由保护算法
耿海军1 , 张伟2 , 尹霞3     
1. 山西大学 软件学院, 太原 030006;
2. 中国劳动关系学院 计算机应用教研室, 北京 100048;
3. 清华大学 计算机科学与技术系, 北京 100084
摘要:为使混合软件定义网络(SDN)体系架构能够应对网络中的单链路故障情形,提出一种基于混合软件定义网络的路由保护算法。在混合SDN网络中部署应对单链路故障的路由保护算法,将其归结为一个0-1整数规划问题,并利用启发式算法计算该问题对应的近似最优解。通过实例介绍算法的执行过程,分析算法对应的时间复杂度。实验结果表明,该算法仅需将传统网络中的少部分节点升级为SDN节点,即可应对网络中可能出现的单链路故障情形,且对应的路径拉伸度在1.4以内。
关键词混合软件定义网络    单链路故障    启发式算法    整数规划模型    故障保护率    
Routing Protection Algorithm Based on Hybrid Software Defined Network
GENG Haijun1 , ZHANG Wei2 , YIN Xia3     
1. School of Software Engineering, Shanxi University, Taiyuan 030006, China;
2. Computer Application Teaching and Research Section, China University of Labor Relations, Beijing 100048, China;
3. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
Abstract: In order to enable the Software Defined Network(SDN) to cope with the possible situations of single link failure in network, this paper proposes a routing protection algorithm based on hybrid SDN.The routing protection algorithm coping with the single link failure is deployed in the hybrid SDN, which is reduced to a 0-1 integer programming problem and a heuristic algorithm is used to calculate the approximate optimal solution to the problem.The execution process of the algorithm is introduced through an example and the corresponding time complexity of the algorithm is analyzed.Experimental results show that the proposed algorithm can cope with all possible situations of single link failure only by upgrading a small number of nodes in the traditional network to SDN nodes, and the corresponding path stretch is within 1.4.
Key words: hybrid Software Defined Network(SDN)    single link failure    heuristic algorithm    integer programming model    failure protection ratio    
0 概述

近年来, 互联网得到了迅速的发展和广泛的部署。然而, 大量的新型应用软件和应用场景层出不穷, 这对互联网提出了更加严格的要求和更高的挑战。为了适应软件应用发展的需求, 斯坦福大学的研究人员提出了一种网络体系结构, 即软件定义网络(Software Defined Network, SDN)。该网络体系架构将控制平面和转发平面的功能进行了分离[1], 控制平面主要关注如何根据优化目标制定最优的路由决策, 而转发平面主要负责快速转发数据包[2]。由于研究人员对SDN架构的性能、健壮性等方面进行了优化, 因此使得越来越多的互联网服务提供商开始在他们的骨干网中部署SDN技术[3-6]。然而, 由于经济和技术等方面的原因, 短期内不可能将目前骨干网中的所有传统网络设备替换为SDN节点, 因此骨干网将会长期处在传统网络设备和SDN节点共存的状态, 称该网络为混合SDN网络[7-8]。混合SDN网络主要由SDN控制器、SDN节点和传统网络设备构成, SDN节点既可以运行传统的路由协议, 也可以和SDN控制器交互信息, 但是传统网络设备只能运行传统的路由协议[9]

随着互联网的发展, 其支持的应用范围呈现出了显著的变化。最初, 互联网主要支持一些非实时应用, 如电子邮件、传输文件等。而如今大量的实时业务数据[10-11]在互联网上广泛传播, 如IP语音(Voice over Internet Protocol, VoIP)、股票在线交易、远程手术、视频监控和即时通信等, 这些新型应用对路由可用性[12]提出了更高的要求。由此可见, 路由可用性将直接影响用户的财产安全甚至生命安全。

目前, 提高域内路由可用性的算法可以分为两类, 即被动恢复算法和路由保护算法[13]。其中被动恢复算法主要研究当网络出现故障时如何加快路由收敛速度, 尽量缩短网络中断时间, 但是当网络中的链路频繁断开时, 该算法可能导致路由不稳定。路由保护算法则是根据相关规则事先计算备份路由, 当网络中出现故障时, 利用事先计算的备份路由转发数据包, 从而最大化减少报文丢失, 缩短网络服务中断时间。相比较而言, 路由保护算法更受学术界青睐[14]

比较典型的路由保护方案主要包括等价多路径路由[15]、多配置路由[16]、Failure Carrying Packet[17]、LFA[18]和Not-Via[19]等。文献[20]提出一种基于SDN的路由保护方案, 其利用节点间的偏序关系为每个节点计算多个到达目的节点的下一跳, 从而达到路由保护的目的。文献[21]提出一种基于段路由的单节点故障路由保护算法, 该算法为网络中所有的节点对部署中转节点, 从而提高路由可用性。

已有的路由保护算法多数针对单一网络体系结构, 上述方案都可以直接应用在纯SDN网络体系结构中, 但是无法直接应用于混合SDN网络。为此, 本文提出一种基于混合SDN的路由保护算法。通过在网络中部署SDN节点, 为网络中所有的链路计算一条保护路径, 从而使算法可以应对网络中可能出现的单链路故障情形。

1 问题描述

目前互联网部署的域内链路状态路由协议为网络中所有的源-目的对计算一条最短路径。当有报文在网络中传输时, 路由器根据报文头部字段中的目的地址将该报文正确地转发到目的地址。当网络出现故障时, 受该故障影响的报文将会被丢弃, 从而影响网络性能, 降低用户体验满意度, 影响了互联网服务提供商的声誉。学术界和工业界普遍采用路由保护方案来解决由于故障造成的网络性能下降问题。然而已有的路由保护方案都是基于单一网络体系结构展开研究, 无法直接应用在混合SDN网络中。因此, 可以将本文解决的问题具体表达为:给定网络G=(V, E), 其中, V为该拓扑中节点的集合, E为该拓扑中边的集合。如何选择一组节点MV部署SDN技术, 从而使得该路由保护算法可以应对网络中所有可能出现的单链路故障情形。

上述问题可以描述为一个0-1整数线性规划(Integer Linear Programming, ILP)模型, 即:

$ {\rm{Minimize}}:\sum\limits_{i \in V} {x(i)} $ (1)

Subject to:

$ y\left( {i, j, k} \right) \in \left\{ {0, 1} \right\}, {\rm{ }}i, j, k \in V $ (2)
$ y\left( {i, j, k} \right) = 0, {\rm{ }}i \notin {\rm{SDN}}(j, k) $ (3)
$ y\left( {i, j, k} \right) = 1, {\rm{ }}i \in {\rm{SDN}}(j, k) $ (4)
$ y\left( {i, j, k} \right) = 1, {\rm{ }}z\left( {\left( {j, k} \right), j, i} \right) + \prod\limits_i {z\left( {\left( {j, k} \right), N\left( i \right), k} \right) = 0} $ (5)
$ x\left( i \right) \in \left\{ {0, 1} \right\}, {\rm{ }}i \in V $ (6)
$ x\left( i \right) = 0, {\rm{ }}\sum\limits_{\left( {j, k} \right) \in V} {y\left( {i, j, k} \right) = 0} $ (7)
$ x(i) = 1, \sum\limits_{\left( {j, k} \right) \in V} {y\left( {i, j, k} \right) \ge 1} $ (8)
$ f\left( {i, j} \right) \in \left\{ {0, 1} \right\}, {\rm{ }}i, j \in V $ (9)
$ f\left( {i, j} \right) = 0, {\rm{ }}\left( {i, j} \right) \notin E $ (10)
$ f\left( {i, j} \right) = 1, {\rm{ }}\left( {i, j} \right) \in E $ (11)
$ z\left( {\left( {i, j} \right), i, d} \right) \in \left\{ {0, 1} \right\}, {\rm{ }}i, j, d \in V $ (12)
$ z\left( {\left( {i, j} \right), i, d} \right) = 0, {\rm{ }}\left( {i, j} \right) \in {\rm{sp}}(i, d) $ (13)
$ z(\left( {i, j} \right), i, d) = 1, {\rm{ }}\left( {i, j} \right) \in {\rm{sp}}(i, d) $ (14)
$ \sum\limits_i {y\left( {i, j, k} \right) \le 1} $ (15)
$ y\left( {i, j, k} \right) \le x(i) $ (16)

下文将阐述上述的0-1整数规划模型。式(1)是本文的优化目标, 使得部署SDN节点的数量最小, 并且能够实现保护网络中所有可能出现的单链路故障的目的。

在式(2)~式(4)中, 变量y(i, j, k)的取值为0或者1, 如果y(i, j, k)=1, 则节点i是链路(j, k)的SDN节点, 否则如果y(i, j, k)=0, 则表示节点i不是链路(j, k)的SDN节点。如果节点i是链路(j, k)的SDN节点, 则当链路(j, k)出现故障时, 节点j可以先将报文发送给节点i, 然后节点i再将报文发送给节点k。式(5)说明, 如果某个节点i是链路(j, k)的SDN节点, 则节点j到节点i的最短路径一定不包含链路(j, k), 并且节点i至少有一个邻居节点到k的最短路径一定不包含链路(j, k), 式(5)同时也给出了计算网络中所有链路SDN节点的方法。为了更好地理解式(5), 本文通过实例来进行解释。图 1表示节点i是链路(j, k)中SDN节点的情况, 图中节点间的虚线表示这2个节点之间的最短路径, 实线表示这2个节点是邻居节点。当链路(j, k)出现故障时, 节点j可以先将报文发送给节点i, 并且节点j到节点i的最短路径不能包含链路(j, k), 然后如果节点i到节点k的最短路径不包含链路(j, k), 则节点i通过最短路径将报文转发给节点k, 否则如果节点i到节点k的最短路径包含链路(j, k), 则节点i将报文转发给其邻居节点x, 并且需要保证节点x到节点k的最短路径不包含链路(j, k)。

Download:
图 1 节点i为链路(j, k)中SDN节点的情况 Fig. 1 Condition that node i is SDN node of link (j, k)

在式(6)~式(8)中, 变量x(i)的取值为0或者1, 如果x(i)=1, 则该节点是SDN节点, 否则如果x(i)=0, 则该节点是传统网络设备。在式(9)~式(11)中, 变量f(i, j)的取值为0或者1, 如果f(i, j)=1, 则表示链路(i, j)在网络拓扑结构中, 否则如果f(i, j)=0, 则表示链路(i, j)不在网络拓扑结构中。在式(12)~式(14)中, 变量z((i, j), i, d)的取值为0或者1, 如果z((i, j), i, d)=1, 则表示链路(i, j)在节点i到节点j的最短路径上, 否则如果z((i, j), i, d)=0, 则表示链路(i, j)不在节点i到节点j的最短路径上。式(15)说明, 对于网络中的任意一条链路, 该链路对应唯一一个SDN节点。式(16)说明, 如果有一条链路选择某个节点为其对应的SDN节点, 则该节点必将被部署为SDN节点。

2 算法描述 2.1 SLFRPHSDN算法

第1节分析了本文需要解决的关键问题, 并且形式化地描述了该问题。从上文的描述可以看出, 该问题中所有变量的取值均为0和1, 因此需要解决的问题是一个0-1整数规划。因为0-1整数规划已经被证明是一个NP问题, 所以不可能在有限的时间内获得最优解。在实际网络中, 网络拓扑大小的变化范围较大, 从十几个节点到上百个节点不等。在较小的网络中, 可以使用已有的工具如CPLEX获得最优解, 但是在较大的网络中, CPLEX将无法计算出最优解。因此, 本文提出一种通用的解决方案SLFRPHSDN, 该方案适用于各种类型的网络拓扑结构。

算法1详细列出了SLFRPHSDN的具体执行过程。算法1的输入为网络拓扑结构G=(V, E), 算法的输出为需要部署SDN节点的集合。根据式(16)计算出网络中的链路∀(j, k)∈E所有的SDN节点的集合SDN(j, k), 然后计算网络中的节点∀iV作为链路SDN节点出现的次数$\sum\limits_{(j,k) \in E} y (i,j,k),i \in V$, 将SDN节点的集合初始化为空集M=Φ(算法第1行~第3行)。当网络中故障保护率(本文将故障保护率定义为被保护的链路的数量与网络中链路数量的比值)小于1时, R(G, M) < 1,或者网络中存在没有部署SDN技术的节点时, MV, 重复执行下面的操作。在每次循环中, 算法首先选择一个$\sum\limits_{(j,k) \in E} y (i,j,k)$的数值最大的节点m部署SDN技术, 如果有多个节点具有相同的数值, 则选择节点ID较小的节点m部署SDN技术, 然后将该节点加入到部署SDN节点的集合中(算法第5行、第6行)。当节点m部署SDN技术后, 对于网络中(j, k)∈E, 如果该链路包括该SDN节点, 则该链路最终将会选择节点m作为其最终的SDN节点。因为上述这些链路已经选择了最终的SDN节点, 所以需要清空其对应的SDN节点(算法第7行~第11行)。上述过程执行完毕后, 网络中节点作为链路的SDN节点的次数将会发生变化, 网络的故障保护率也会发生变化, 因此需要更新除去节点m的其他所有节点对应的$\sum\limits_{(j,k) \in E} y (i,j,k)$, 并且计算故障保护率(算法第12行、第13行)。算法最后将返回计算出的SDN节点的集合(算法第15行)。

算法1   SLFRPHSDN算法

输入   G=(V, E)

输出  M

1.计算网络中任意链路(j, k)∈E对应的SDN节点SDN(j, k)

2.计算网络中所有链路$\sum\limits_{({\rm{j,k}}) \in {\rm{E}}} {\rm{y}} {\rm{(i,j,k)}}$

3.M=Φ

4.While R(G, M) < 1 and M≠V do

5.m=max$\sum\limits_{({\rm{j,k}}) \in {\rm{E}}} {\rm{y}} {\rm{(i,j,k)}}$

6.M←M∪m

7.For (j, k)∈E

8.If m∈SDN(j, k) then

9.清空SDN(j, k)

10.End If

11.End For

12.更新网络中除去节点m的所有节点$\sum\limits_{({\rm{j,k}}) \in {\rm{E}}} {\rm{y}} {\rm{(i,j,k)}}$

13.计算故障保护率R(G, M)

14.End While

15.Return M

2.2 算法实例

下文通过一个例子来详细解释算法SLFRPHSDN的执行过程。图 2为一个包含8个节点和12条边的简单网络拓扑结构, 边上标注的数值表示该边的权值。

Download:
图 2 SLFRPHSDN算法执行过程 Fig. 2 SLFRPHSDN algorithm execution process

首先根据式(5)计算每条链路对应的SDN节点, 表 1列出了所有链路对应的SDN节点。表 1的行表示节点的名称, 列表示链路, 如果表中的数据为1, 则表示对应的节点为相应链路的SDN节点, 否则表示对应的节点不是相应链路的SDN节点。从表 1可以看出, 链路(0, 1)的SDN节点集合为SDN(0, 1)={5}, 链路(0, 5)的SDN节点集合为SDN(0, 5)={1, 2, 3, 4, 6, 7}(算法第1行)。表 1最后一行为网络中的节点∀iV作为链路SDN节点出现的次数, 该值为每一列的和, 因此$\sum\limits_{(j, k) \in E} y (0, j, k){\rm{ = }}8$(算法第2行)。

下载CSV 表 1 算法初始化后链路对应的SDN节点 Table 1 Corresponding SDN node to the link after algorithm initialization

下文为执行循环过程, 在每次循环中选择一个$\sum\limits_{(j, k) \in E} y (i, j, k)$的数值最大的节点m部署SDN技术, 如果有多个节点具有相同的数值, 则选择节点编号较小的节点m部署SDN技术。因为$\sum\limits_{\left( {j, k} \right) \in E} y (1, j, k) = \sum\limits_{(j, k) \in E} y (5, j, k) = 9$, 节点1的编号比节点5的编号小, 所以在该例子中, 第一次循环将选择节点1部署SDN技术(算法第5行)。因此, 网络中的9条链路(0, 5)、(0, 4)、(2, 3)、(2, 5)、(3, 4)、(3, 6)、(4, 7)、(5, 6)、(6, 7)将选择节点1作为它们的SDN节点, 然后清空这些链路对应的SDN节点, 即将该行的数值都修改为0(算法第7行~第12行), 如表 2所示。根据表 2可知, 在第2次循环中将选择节点5部署SDN技术。当程序循环2次以后, 所有的链路都有了SDN节点, 此时网络故障保护率为1, 所以算法执行完毕。网络中部署SDN节点的集合为M=(1, 5)(算法第15行)。

下载CSV 表 2 算法执行完第一次循环链路对应的SDN节点 Table 2 Corresponding SDN nodes to the circulation link after first algorithm execution
2.3 SLFRPHSDN算法的时间复杂度

上文详细介绍了SLFRPHSDN的执行过程, 本节将从理论上分析该算法的时间复杂度。

定理1   算法SLFRPHSDN的时间复杂度为O(|E||V-2|+|V|(|V|lg|V|+E))。

证明  算法SLFRPHSDN的第1行对应的时间复杂度为O(|E||V-2|+|V|(|V|lg|V|+E)), 这是因为该行需要为网络中的所有链路计算可能出现的SDN节点, 每一条链路对应的SDN节点的数量最大为|V-2|。判断某个节点是否为链路的SDN节点需要计算节点对之间的最短路径, 该部分的时间复杂度为O(|V|(|V|lg|V|+E))。算法第4行到第14行的功能是为所有的链路选择最终的SDN节点, 时间复杂度为O(|E||V-2|)。综上所述, 算法SLFRPHSDN的时间复杂度为O(|E||V-2|+|V|(|V|lg|V|+E))。

3 实验与结果分析

本节将利用模拟实验来验证算法的性能, 并对实验的结果做出合理的说明。本文利用C+ +语言实现算法, 编译器为CodeBlocks。该算法运行的平台为一台PC机, Intel(R) Core(TM) i 7-7700 CPU@ 3.6 GHz处理器, 16 GB内存, 64位Windows10操作系统。算法的评价指标主要有SDN节点的数量、故障保护率和路径拉伸度。部署SDN节点需要一定的开销, 如果只需要升级部分SDN节点就可以达到目的, 则网络开销就越小, 反之网络负担越大。如果故障保护率越接近100 %, 则该算法应对网络故障的能力越强, 反之应对网络故障的能力较弱。如果路径拉伸度越接近于1, 则该算法不会给网络增加较大的时延, 否则该算法将会大大增加网络延迟, 影响网络传输性能。本文首先详细介绍实验采用的网络拓扑, 然后给出实验结果, 并对结果给出详细的说明。

3.1 网络拓扑

为使实验的结果更具有说服力, 本文将算法运行在3种不同类型的网络拓扑中, 即真实网络拓扑、测量网络拓扑和利用模拟软件生成的网络拓扑。

1) 真实网络拓扑结构[22-23]。在该类型的网络拓扑中选择了4个真实网络拓扑, Abilene包括11个节点和14条边, TORONTO包括25个节点和55条边, NJLATA、USLD包括28个节点和45条边。

2) Rocketfuel[24]测量的拓扑结构。在该类型的网络拓扑中选择了4个测量拓扑结构。AS1755包括87个节点和161条边, AS1239包括315个节点和972条边, AS3257包括161个节点和328条边, AS3967包括79个节点和147条边。

3) 利用模拟软件Brite生成的拓扑结构。Brite使用的模型为Waxman, 拓扑中节点的数量在100和500之间, alpha的参数设置为0.15, beta的参数设置为0.2, 网络的平均度参数设置为2到4, 网络中节点的分布服从重尾分布, 链路的带宽参数设置为10到1 024, 链路的代价和链路带宽互为倒数。

3.2 SDN节点的数量

为了保护网络中所有的链路, 本文将网络中部分传统设备升级为SDN设备。但是升级SDN设备需要一定的经济开销, 因此如果升级的SDN节点数量越少, 则带来的经济开销越小, 否则, 该方案很难在实际网络中部署。因此, 本节主要研究为保护网络中所有的链路, 不同网络拓扑中需要部署SDN节点的数量。表 3说明了不同类型的网络拓扑中对应部署SDN节点的数量。在表 3中, Brite(m, n)表示利用Brite软件生成的拓扑结构, 节点数量为m, 网络平均度为n

下载CSV 表 3 SDN节点的数量 Table 3 The quantity of SDN nodes

表 3可知, 在真实网络拓扑中Abilene需要升级1/3左右的节点, 其余网络拓扑仅仅需要升级1/8左右的节点。在测量拓扑中, AS1755和AS3967需要升级1/7左右的节点, AS3257需要升级1/16左右的节点, 而AS1239仅仅需要升级1/26的节点。在Brite生成的拓扑结构中, 当网络的平均度为2时, 需要升级大约1/20~1/30左右的节点, 当网络的平均度为4时, 仅仅需要升级1/50~1/100左右的节点。从上面的实验结果可知, 在稀疏图中需要升级大量的SDN节点, 然而在稠密图中仅仅需要升级少量的SDN节点。这是因为在稀疏图每条链路对应的SDN节点数量较少, 并且SDN节点重复的可能性较小。在稠密图中, 每条链路对应的SDN节点数量较多, 不同链路之间公共SDN节点较多。因此, 在稀疏图中, 最终选择的SDN数量较多, 在稠密图中, 最终选择的SDN数量较少。

3.3 故障保护率

本节利用故障保护率来衡量算法应对故障的能力, 故障保护率的数值越大, 该算法应对故障的能力越强。如果算法的故障保护率为100 %, 则表明该算法可以应对网络中所有可能出现的单链路故障情形。表 4列出了算法在3种拓扑中的故障保护率结果。

下载CSV 表 4 故障保护率 Table 4 Failure protection ratio

表 4可知, 在所有网络拓扑结构中, 算法对应的故障保护率为100 %。这是因为本文的算法可以为所有的链路找到SDN节点, 从而达到保护链路的目的。

3.4 路径拉伸度

本节利用路径拉伸度来度量算法带来的路径开销。在本文实验中, 将路径拉伸度定义为当网络出现故障时, 利用算法SLFRPHSDN计算出的路径的代价和利用OSPF计算的最短路径的代价的比值。表 5列出了算法SLFRPHSDN在不同网络拓扑中对应的路径拉伸度。

下载CSV 表 5 路径拉伸度 Table 5 Path stretch

表 5可以看出, 在实验的所有网络拓扑中, AS1239对应的路径拉伸度最大为1.267, 其余网络拓扑对应的路径拉伸度均小于该数值, 因此该算法不会带来较大的路径开销。尤其是在真实拓扑Abilene中, 算法对应的路径拉伸度仅为1.075, 该数值和利用OSPF协议收敛后计算出的最短路径的代价基本一致。

4 结束语

本文研究在传统网络中将传统设备升级为SDN设备, 从而使得路由保护算法可以应对网络中可能出现的单链路故障情形。通过将传统网络中部署SDN节点的问题描述为0-1整数规划问题, 并提出一种启发式的算法SLFRPHSDN进行求解。实验结果表明, 该算法只需在传统网络中将少部分节点升级为SDN节点, 故障保护率即可达到100 %, 并且不会带来过多的路径开销。本文仅讨论了混合SDN网络中的单链路故障路由保护算法, 下一步将针对多链路故障和单节点故障情形设计路由保护算法。

参考文献
[1]
ZHANG Yuan, CUI Lin, WANG Wei, et al. A survey on software defined networking with multiple controllers[J]. Journal of Network and Computer Applications, 2018, 103: 101-118. DOI:10.1016/j.jnca.2017.11.015
[2]
VISSICCHIO S, VANBEVER L, CITTADINI L, et al. Safe update of hybrid SDN networks[J]. IEEE/ACM Transactions on Networking, 2017, 25(3): 1649-1662. DOI:10.1109/TNET.2016.2642586
[3]
HU Yanan.Research on key technologies and related problems of software defined network[D].Beijing: Beijing University of Posts and Telecommunications, 2015.(in Chinese)
胡延楠.软件定义网络关键技术及相关问题的研究[D].北京: 北京邮电大学, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10013-1016020855.htm
[4]
SCOTTHAYWARD S, NATARAJAN S, SEZER A S. A survey of security in software defined networks[J]. IEEE Communications Surveys and Tutorials, 2016, 18(1): 623-654. DOI:10.1109/COMST.2015.2453114
[5]
SEZER S, SCOTT-HAYWARD S, CHOUHAN P K, et al. Are we ready for SDN? implementation challenges for software-defined networks[J]. IEEE Communications Magazine, 2013, 51(7): 36-43. DOI:10.1109/MCOM.2013.6553676
[6]
YUAN Tingting.Research on node migration and optimization methods for SDN transition[D].Beijing: Beijing University of Posts and Telecommunications, 2018.(in Chinese)
苑婷婷.面向SDN过渡的节点迁移及优化方法的研究[D].北京: 北京邮电大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10013-1018313486.htm
[7]
SALSANO S, VENTRE P L, LOMBARDO F, et al. Hybrid IP/SDN networking:open implementation and experiment management tools[J]. IEEE Transactions on Network and Service Management, 2016, 13(1): 138-153. DOI:10.1109/TNSM.2015.2507622
[8]
AMIN R, RESSLEIN M, SHAH N. Hybrid SDN networks:a survey of existing approaches[J]. IEEE Communications Surveys and Tutorials, 2018, 20(4): 3259-3306. DOI:10.1109/COMST.2018.2837161
[9]
CHU C, XI K, LUO M, et al.Congestion-aware single link failure recovery in hybrid SDN networks[C]//Proceedings of IEEE Conference on Computer Communications.Washington D.C., USA: IEEE Press, 2015: 1086-1094.
[10]
GENG Haijun, SHI Xingang, WANG Zhiliang, et al. A hop-by-hop dynamic distributed multipath routing mechanism for link state network[J]. Computer Communications, 2018, 116: 225-239. DOI:10.1016/j.comcom.2017.12.008
[11]
GENG Haijun, SHI Xingang, YIN Xia, et al. Algebra and algorithms for multipath QoS routing in link state networks[J]. Journal of Communications and Networks, 2017, 19(2): 189-200. DOI:10.1109/JCN.2017.000028
[12]
HUANG Jianyang.Research on SDN traffic engineering technology based on segment routing[D].Zhengzhou: PLA Information Engineering University, 2017.(in Chinese)
黄建洋.基于分段路由的SDN流量工程技术研究[D].郑州: 解放军信息工程大学, 2017. http://cdmd.cnki.com.cn/Article/CDMD-90005-1018702499.htm
[13]
GENG Haijun, LIU Jieqi, ZHANG Ju. Intra-domain routing protection scheme based on disjoint path[J]. Computer Engineering, 2018, 44(12): 140-144, 149. (in Chinese)
耿海军, 刘洁琦, 张举. 基于不相交路径的域内路由保护方案[J]. 计算机工程, 2018, 44(12): 140-144, 149.
[14]
YALLOUZ J, ROTTENSTREICH O, BABARCZI P, et al.Optimal link-disjoint node-somewhat disjoint paths[C]//Proceedings of IEEE International Conference on Network Protocols.Washington D.C., USA: IEEE Press, 2016: 1-10.
[15]
YANG X, WETHERALL D.Source selectable path diversity via routing deflections[C]//Proceedings of ACM Special Interest Group on Data Communication.New York, USA: ACM Press, 2006: 159-170.
[16]
KVALBEIN A, HANSEN A F, GJESSING S, et al.Fast IP network recovery using multiple routing configurations[C]//Proceedings of the 25th IEEE International Conference on Computer Communications.Washington D.C., USA: IEEE Press, 2006: 22-31
[17]
LAKSHMINARAYANAN K, CAESAR M, RANGAN M, et al.Achieving convergence-free routing using failure-carrying packets[C]//Proceedings of International Conference on Computer Communications.Kyoto, Japan: [s.n.], 2007: 241-252.
[18]
ATLAS A, ZININ A.Basic specification for IP fast reroute: loop-free alternates[M].[S.1.]: Heise Zeitschriften Verlag, 2008.
[19]
ENYEDI G, RETVARI G, SZILAGYI P, et al.IP fast ReRoute: lightweight not-via without additional addresses[C]//Proceedings of IEEE INFOCOM'09.Washington D.C., USA: IEEE Press, 2009: 2771-2775.
[20]
ZHANG Ju, GENG Haijun. Research on intra-domain routing protection scheme based on software defined network[J]. Application Research of Computers, 2019, 36(3): 921-924. (in Chinese)
张举, 耿海军. 基于软件定义网络的域内路由保护方案研究[J]. 计算机应用研究, 2019, 36(3): 921-924.
[21]
GENG Haijun, LIU Jieqi, YIN Xia. Single node failure routing protection algorithm based on segment routing[J]. Journal of Tsinghua University(Science and Technology), 2018, 58(8): 710-714. (in Chinese)
耿海军, 刘洁琦, 尹霞. 基于段路由的单节点故障路由保护算法[J]. 清华大学学报(自然科学版), 2018, 58(8): 710-714.
[22]
NETWORK A B.Advanced networking for research and education[EB/OL].[2019-03-20].http://abilene.internet2.edu.
[23]
ANTONAKOPOULOS S, BEJERANO Y, KOPPOL P. Full protection made easy:the DisPath IP fast reroute scheme[J]. IEEE/ACM Transactions on Networking, 2015, 23(4): 1229-1242. DOI:10.1109/TNET.2014.2369855
[24]
SPING N, MAHAJAN R, WETHERALL D, et al. Measuring ISP topologies with rocketfuel[J]. IEEE/ACM Transactions on Networking, 2004, 12(1): 2-16. DOI:10.1109/TNET.2003.822655