2. 南京理工大学 计算机科学与工程学院, 南京 210014
2. School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing 210014, China
开放科学(资源服务)标志码(OSID):
随着网络技术的发展,一些流行网站的访问量呈现飞速增长的趋势,如何提供高质量、高效率及更安全稳定的服务已成为运营商必须要面对的问题[1-3]。环形结构网络可以提供更好的本地网络连接体验,能够满足生存性和安全性的要求,因此被应用于很多场景。目前网络运营商为大用户提供的光纤接入网,例如电力、电信、有线电视等,其主干网大多以环型网络的方式提供服务。此外,令牌环网络(Token-Ring Network,TRN)、光同步数字传输网(Synchronous Digital Hierarchy,SDH)[4]、局域网(Local Area Network,LAN)[5]和波分复用(Wavelength Division Multiplexing,WDM)[6-7]光传送网均离不开环网结构。
环网因其结构特点存在自身缺陷,环形结构网络传输效率低、延迟高,当节点或链路发生故障时,会变得不可靠、可扩展性差。许多基于环网结构的拓扑改进也因此被提出。WILLIAM等[8]研究了4种增强的环网络,这些网络以环网结构为基础,在仅适度增加结构复杂性的基础上,显著提高了环作为通信媒介的效率。文献[9]提出了节点在同心多环覆盖网络上进行逻辑互连的网络模型,不仅描述了同心多环网络覆盖拓扑,也提出了节点加入和离开方案,以及路由和资源查找算法。由于基于环的网络覆盖对于组通信具有固有可靠性和单一容错的特点,文献[10]提出利用改进的多环网络结构来实现安全和可扩展的群组通信。
为解决环网结构网络传输效率低、延迟高的问题,近年来,对环网的研究也从结构改进转移到在不同场景下环网路由算法的改进。ABRAHAM等[4]研究了放置在环中有
上述文献是对单环网和特定场景下路由算法的研究,对于规模大、环数多、连接方式多样化的复杂多环网络仍缺乏性能优良的路由算法。本文在弦环网结构的启发下,提出一种面向复杂多环网的路由改进算法PRR。通过构建多种增强环网结构模型,探究其增强的原子操作及由增强环网结构衍生的复杂多环网络定义。同时,通过分析多环网络拓扑的特点,将网络中节点划分为通信节点和环内节点,并令PRR算法只在节点数和边数较少的单个环以及预处理后的有向图上进行,从而避免算法过于复杂,提高算法运算速度。
1 增强环网结构模型基于环型结构的网络有许多优点,如具有优良的可靠性及安全性、路由控制软件简单易操作等[20],但也有明显的缺点。由于信息在环路中是串行地穿过各个节点,当环中节点过多时,势必影响信息在节点中的传输速率,使网络的响应时间延长。随着环上节点数量的增加,该问题越发明显。目前解决方法主要有2种:一是将原有的大环拆成多个互连在一起的小环,这些环要么处于同一级,要么互连成1个多层次结构的环,如此可以改善伸缩性;二是在环的内部或外部为不直接相连接的节点之间添加“弦”或者“弧”。这些方法也是增强环网结构原子操作的核心。
拓扑直径可定义为任意2个节点之间最短距离的最大值,而平均直径定义为任意2个节点之间最短距离的平均值。在网络拓扑尤其是环网中用直径去度量传输延迟。
1.1 增强环网结构针对单环网的缺陷,研究人员提出多种改进环网结构,这些改进后的环网也被称为增强环网[8]。其中应用广泛的有以下3种:
1)弦环网
弦环网指对于给定的
弦环网通过添加非直接相连的节点与节点之间的链路来增强环网,可以将这条新的链路视为环的弦。弦环是最早提出的并行架构的成本效益互连网络之一,弦环网的优点主要在于当环内1个节点出现故障时不会导致整个环网都瘫痪,且弦环网可以适当减小环形网络的直径。弦环网在分布式网络中有着重要的应用,图 1(a)是四度弦环网
![]() |
Download:
|
图 1 不同类型增强环网结构 Fig. 1 Different types of enhanced ring network structure |
2)边缘互连多环网
环与环之间通过环的边缘(即连续的多个节点)连接从而形成边缘互连多环网。每个环均可与其他多个环通过该方式连接且可以递归发生,这样的网络可以形成“环树”。“环树”的深度(环的递归的级别数)决定了路由开销的程度,深度值越大,路由的决策节点数量更多,路由开销则更高。同时,当网络结构的深度越大时,路径选择则更加多样化,该网络对边缘节点故障拥有更高的容忍度。边缘互连多环网在一定程度上与网格状网络类似,边缘互连多环网更加自由,每个节点的度数不必严格要求相同且可以是网格状网络的子图。边缘互连多环网如图 1(b)所示。在实践中,边缘互连多环网常应用在SONET的通信中。
3)分层环网
环与环之间通过单个节点连接形成分层环网。与边缘互连多环网类似,环的连接也可以递归发生。因此,分层环网也可形成“环树”,其深度同样是重要的结构特征。
图 1(c)为分层环网的示意图。边缘互连多环网和分层环网之间的主要区别在于边缘互连多环网中共享多个节点,而在分层环网中共享1个节点。因此,分层环网也可以作为边缘互连多环网的子图。
1.2 多环网络拓扑多环网络是增强环网中重要的一部分。在拓扑上,多环网络可以分为3类:1)环共享节点,其中包括单节点和多节点,连续的多节点又可以称为共享边;2)桥连接环网,也分为单桥、多桥;3)多环混合连接。多环网络拓扑如图 2所示。
![]() |
Download:
|
图 2 多环网络拓扑 Fig. 2 Multi-ring network topology |
本文所研究的复杂多环网络拓扑,“复杂”主要表现在3方面:1)网络中环与环的连接方式复杂,可能通过节点、边,也可能通过桥来连接;2)网络拓扑规模复杂;3)需要解决大批量大规模不同业务需求。
复杂多环网络拓扑的研究意义在于:
1)多环拓扑基于环,环可以通过带宽进行扩展,因为节点的工作负载与节点总数无关,所以这种复杂网络拓适用在某些真实网络场景下。
2)单环的主要缺点是对大量节点的高度依赖性,一个节点的故障可能会导致所有业务丢失,且平均延迟与节点总数成比例。将单个环转换成多环可以很好地改善这种情况,但这些都要基于一个良好的路由算法。在多环混合连接拓扑中,将功能强大的节点进行环与环之间的通信,吞吐量不再受功能较弱的节点限制。
3)环之间通过共享环上单个或多个节点连接可以满足场景的实际需求,减少网络的节点数。而通过“桥”连接可以减少环与环之间的“耦合度”,“多桥”可以在桥之间起到互相保护的作用,1个桥出现故障,业务可以通过其他桥继续正常传输。
4)不同结构的增强环网可转化成相应的多环结构。文献[2]中给出了详细的证明。因此,本文研究复杂多环网络拓扑下的路由算法对其他结构的环网路由算法均有借鉴作用,甚至可以应用在环网中。
1.3 多环网络拓扑定义为更准确、清晰地描述本文算法,对本文所研究的多环网络拓扑给出以下定义:
1)多环网络。由
2)环连接。环
3)通信节点。环与环之间的共享节点以及桥上的节点称为通信节点。环内的其他节点,及不参与到与其他环交互和通信的节点,统称为非通信节点或环内节点。
增强环网的提出,使环网结构的网络更加灵活,拥有更好的伸缩性,在响应时间和网络延迟上也有一定程度的改善。然而,环网结构本身的传输效率低的缺点仍有待解决,如何针对不同结构的环网提出相应的路由算法,从而提升传输效率仍是一个重要的课题,也是本文的研究主题。
2 PRR路由改进算法环网拓扑在搜寻节点过程中每次都必须从当前节点沿着顺时针或逆时针遍历环上的其余节点,直到遇到通信节点才可以进入下一个环中进行遍历。因此,搜索空间和时间往往很大,延迟和延迟抖动更高。本算法的思想核心是“分而治之”,在原有的拓扑识别通信节点基础上构建新的拓扑,并在该拓扑中执行还原算法以保证网络不失真。算法流程如图 3所示。
![]() |
Download:
|
图 3 改进路由算法的流程 Fig. 3 Procedure of improved routing algorithm |
环网中传统路由算法先从当前节点搜寻到该环上的通信节点,之后从其节点搜寻到其他环,直到搜寻到包含目标节点的环,在该环上搜寻到目标节点。其过程由3部分组成:从环上的环内节点到通信节点,从一个环搜寻到另一个环即通信节点到通信节点,以及从一个环上的通信节点到环内节点。在复杂多环网中,第2部分的内容占据路由主要部分。因此,本文算法将通信节点到通信节点的路径通过预处理作为缓存,从而避免每次业务都需重新计算一次。
预处理算法的目的是除去整个网络拓扑图的冗余节点,主要操作是将环内节点剥离,同时构建一个新的预处理拓扑图
1)遍历所有环的节点度数,如果节点的度数大于2,那么可以认定其为非环内节点(通信节点)。将每个环的通信节点加入到通信节点集(
2)构建新的预处理拓扑图
3)对于同一环内的通信节点,两两节点构成边,利用Dijkstra算法计算他们之间的最短距离并将边加入到
算法1 Create new Preprocessing topology
输入Multi-ring network
输出 new preprocessing topology
for
for node
if degree(
addNode
CN i ←z
for node
for
if
addEdge(
edge(
end for
for edge
addEdge
end for
return
“最短路径的最优子结构性质”指对于G中的路由
“最短路径代价不失真”指在线性时间内,如果原拓扑与预处理后的拓扑得到的两通信节点间的最短路径分别为
证明如下:设在原拓扑中路由获得的最短路径
新的拓扑图
1)判断源溯节点
2)遍历环内节点,寻找节点
3)计算节点
算法2 Recover Node
输入 ring in the network
输出 topology
addNode
if
for
for node
if
for
addEdge(
edge(
end if
图 4所示为预处理及源溯节点还原过程示意图。图 4(a)为初始多环网络拓扑图,标黑节点
![]() |
Download:
|
图 4 预处理及源溯节点还原过程 Fig. 4 Restoration process of preprocessing and source tracing nodes |
在预处理的拓扑中执行选路算法所获得的路径为只包括通信节点源溯节点的路径,路径还原算法RP可以将同一环内通信节点间的路径还原为完整的最短路径。该算法还会删除RN算法中添加的源溯节点及包含该节点的边从而还原为最初的预处理拓扑。实现步骤如下:
1)在拓扑图
2)若该边的端节点和末节点属于同一个环中的节点,在该环中执行寻路算法,获得端节点到末节点的路径
3)删除路径
4)删除拓扑图
算法3 Recover Path in topology(RP)
输入 ring in the network
输出 complete
for
for
if(
if(
do Dijkstra(
deleteEdge(
AddPath(
end for
output(
for
if(
deleteEdge(
end for
路径还原算法过程在大多数情况下可以避免每次都运行。路径还原算法是为了还原同一环中通信节点的路径,而一个环中的通信节点的最短路径只有两种可能,顺时针或者逆时针。而通信节点的数量往往不多,因此,完全可以将路径还原所需要的数据预先计算好并存储下来。存储方式以
“最短路径不失真”理论指的是在线性时间内,若网络拓扑直接执行路由算法和经过改进算法获得的非同一环内的节点间的最短路径分别为
证明如下:对于节点对
多环网络中的路由问题很显然也是一个NP-Hard问题,因此有必要对算法进行复杂度分析。假设该多环网络是双向网络,共有
$ O(\left|E\right|\times \mathrm{l}\mathrm{b}\left|V\right|)=O\left(\right(2j\times g+m\times j)\times \mathrm{l}\mathrm{b}\mathrm{ }(j\times g\left)\right)= \\O\left(\right(j\times g)\times \mathrm{l}\mathrm{b}g+(j\times g)\times \mathrm{l}\mathrm{b}j+(m\times j)\times l\times \mathrm{l}\mathrm{b}\mathrm{ }(j\times g\left)\right) $ | (1) |
PRR算法由3部分组成。预处理部分首先判断所有的节点度数并标记其是否为通信节点,时间复杂度为
预处理后的拓扑为由
拓扑还原后,原有的多环混合网络转换为有向图,执行寻路算法。有向图最多由
由此,算法时间复杂度如下:
$ O(j\times g)+O(2j\times g\times \mathrm{l}\mathrm{b}g) +O(4g\times \mathrm{l}\mathrm{b}g)+O\left(3\right(m+j)\times \\\mathrm{l}\mathrm{b}(m\times j+2)) = O(j\times g\times \mathrm{l}\mathrm{b}g)+O\left(\right(m\times j)\times \mathrm{l}\mathrm{b}\mathrm{ }(m\times j\left)\right) $ | (2) |
2个算法的时间复杂度都含有
仿真实验的硬件环境为Intel® CoreTMi5-4570 CPU@3.20 GHz,内存4.0 GB,操作系统Windows 10。在NS2网络节点仿真软件上进行网络拓扑仿真,在Intellij idea上进行算法的实现和实验对比。实验通过设置网络节点个数、环的个数、通信节点个数、节点间的平均度数(代价)、“桥”的平均度数来构建网络拓扑。通过搜索空间比、改进比以及算法执行时间作为实验结果参考数据。其中,搜索空间表示最短路径节点数和算法搜索总结点数的比值,搜索空间越接近1,说明算法效果越好。改进比表示两个算法的搜索空间的比值,改进比越大,说明算法相应的改进效果越明显。
3.2 实验结果和分析复杂多环网络的路由算法测试实验的影响参数主要有环的节点个数、环的个数、环的通信节点个数(即每个环可与其他环连接个数)。在本实验中,网络规模大小(总节点个数)、环的个数和通信节点个数均可调整。原算法与PRR算法的底层寻路算法采用Dijkstra算法,其中PRR算法运行时间不包括生成缓存数据(同一环内通信节点代价及路径)的算法运行时间,每行数据由20组不同源溯节点数据取平均值所得。实验主要分为3部分,分别是同等规模下不同影响参数下的算法性能比较、不同规模下的算法性能比较以及批量业务下的算法性能比较。
1)同等规模不同影响参数下的算法性能对比结果如表 1所示。网络规模的节点总个数皆为10 000,当环个数为20、50和100时,PRR相比于原方法的改进比为1.26~2.62,PRR算法具有更好的表现效果。
![]() |
下载CSV 表 1 不同参数下实验结果 Table 1 Experimental results under different parameters |
令
当环个数不变时,通信节点个数增加,改进比虽然有较小提升,但原算法时间有明显减小,而PRR算法运行时间明显增加。出现这种结果的主要原因是通信节点个数增加后,环与环之间连通性增强了,节点到节点间路径更短了,因此原算法运行时间减少,而改进算法由于通信节点的增加,构建新拓扑图复杂度则提升。
2)不同规模下的算法性能对比结果如表 2所示。从数据中可以观察,改进比均值为2.10,说明PRR算法具有一定的优越性。网络中通信节点的个数设置为5,当环个数固定,随着每个环中节点个数增加,PRR算法的表现越来越优于原算法;而当每个环中节点个数一定时,随着环个数增加,PRR算法的表现也更加优良。因此可以得出当网络规模越大时,PRR算法的效果越好。从表 2的实验数据1可以看出,当网络规模较小时,PRR算法运行时间甚至比原算法执行时间更长,主要原因是当网络规模较小时,寻路所用时间占比重较小。
![]() |
下载CSV 表 2 不同规模下实验结果 Table 2 Experimental results at different scales |
3)批量业务下算法性能对比结果如图 5所示,其中,(6,DJS算法)中6表示通信节点个数。前2个实验的PRR算法执行时间不包括生成缓存数据的执行时间,因为在实际情况下,一个网络往往需要处理成千上百万个业务,因此预处理的时间往往可以忽略不计。本次实验在10 000个节点、100个环的网络中测试不同通信节点个数下Dijkstra算法和PRR算法的性能表现。由图 5可知当业务数不超过20时,改进算法的效果已经优于传统算法;当通信节点个数减少时,相交点来的更快。从图中可以看出,Dijkstra算法处理批量业务的执行时间随着业务量的增加呈线性增长,而PRR算法随着业务量的增长,算法执行时间不断增长,且速度较为平稳与缓慢。但PRR在业务数量较小时,耗时较长。这是因为分治划分导致了额外开销,这是PRR的不足之处。
![]() |
Download:
|
图 5 批量业务下算法的执行时间 Fig. 5 Algorithm execution time under batch business |
本文提出一种针对复杂多环网络拓扑的路由改进算法PRR,采用分治法将一个大网络拓扑路由问题划分为多个小网络拓扑路由问题。PRR算法只在节点数和边数较少的单个环以及预处理后的有向图上执行,可避免原有算法在复杂多环网络中由于节点和边数的数量较多而导致复杂度激增,同时PRR算法在将原有拓扑进行预处理后,通过还原算法保证寻路结果的正确性。实验结果表明,该路由算法与Dijkstra算法相比,在复杂多环网络拓扑中具有更好的效果。下一步将通过业务摘要生成、近似计算等方法,缩短PRR的耗时,提升其在批量业务下的性能表现。
[1] |
郑正, 徐明伟, 李琦, 等. SDN网络拓扑污染攻击防御机制研究[J]. 计算机研究与发展, 2018, 55(1): 207-215. ZHENG Z, XU M W, LI Q, et al. Defending against SDN network topology poisoning attacks[J]. Journal of Computer Research and Development, 2018, 55(1): 207-215. (in Chinese) |
[2] |
胡皓, 杨德伟, 王华, 等. 基于运动状态感知的容迟网络路由算法[J]. 北京理工大学学报, 2019, 39(1): 72-78. HU H, YANG D W, WANG H, et al. A motion awareness based routing algorithm for delay tolerant network[J]. Transactions of Beijing Institute of Technology, 2019, 39(1): 72-78. (in Chinese) |
[3] |
李莉, 李雪梅, 李秀滢. 改进的无线传感器网络路由算法[J]. 传感器与微系统, 2019, 38(2): 150-153. LI L, LI X M, LI X Y. Improved routing algorithm for WSNs[J]. Transducer and Microsystem Technologies, 2019, 38(2): 150-153. (in Chinese) |
[4] |
张举, 王浩, 罗舒婷, 等. 基于遗传算法的混合软件定义网络路由节能算法[J]. 计算机科学, 2020, 47(6): 242-247. ZHANG J, WANG H, LUO S T, et al. Hybrid software defined network energy efficient routing algorithm based on genetic algorithm[J]. Computer Science, 2020, 47(6): 242-247. (in Chinese) |
[5] |
周牧, 李垚鲆, 谢良波, 等. 基于多核最大均值差异迁移学习的WLAN室内入侵检测方法[J]. 电子与信息学报, 2020, 42(5): 1149-1157. ZHOU M, LI Y P, XIE L B, et al. WLAN indoor intrusion detection approach based on multiple kernel maximum mean discrepancy transfer learning[J]. Journal of Electronics and Information Technology, 2020, 42(5): 1149-1157. (in Chinese) |
[6] |
张敏, 许渤, 蔡怡, 等. 基于遗传算法的大规模WDM光网络RWA算法[J]. 光通信技术, 2018, 42(11): 1-4. ZHANG M, XU B, CAI Y, et al. Routing and wavelength assignment based on genetic algorithm in large scale WDM network[J]. Optical Communication Technology, 2018, 42(11): 1-4. (in Chinese) |
[7] |
林绵锋, 罗来荣, 刘雪原, 等. 波分复用光环形网络结构及性能的研究[J]. 光子学报, 1999, 28(4): 336-340. LIN M F, LUO L R, LIU X Y, et al. Architectural and performance analysis of Wavelength Division Multiplexing (WDM) optical ring network[J]. Acta Photonica Sinica, 1999, 28(4): 336-340. (in Chinese) |
[8] |
AIELLO W, BHATT S N, CHUNG F R K, et al. Augmented ring networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2001, 12(6): 598-609. DOI:10.1109/71.932713 |
[9] |
WEPIWE G, SIMEONOV P L. A concentric multi-ring overlay for highly reliable P2P networks[C]//Proceedings of IEEE International Symposium on Network Computing and Applications. Washington D. C., USA: IEEE Press, 2005: 83-90.
|
[10] |
WANG J, YURCIK W. A survey and comparison of multi-ring techniques for scalable battlespace group communications[EB/OL]. [2020-08-01]. https://www.zhangqiaokeyan.com/academic-conference-foreign_defense-transformation-network-centric-systems_thesis/02051571549.html.
|
[11] |
李京文, 熊焰, 高燕. CA-Chord: 基于主从环的Chord路由算法[J]. 计算机工程, 2009, 35(11): 107-109. LI J W, XIONG Y, GAO Y. CN-Chord: Chord routing algorithm based on main and subordinate ring[J]. Computer Engineering, 2009, 35(11): 107-109. (in Chinese) |
[12] |
PRASATH R. Shared resource allocation using token based control strategy in augmented ring networks[J]. Springer, 2011, 32(11): 555-567. |
[13] |
TERASHIMA R S, FIX J D. Greedy routing on augmented ring graphs[EB/OL]. [2020-08-01]. https://www.researchgate.net/publication/220489142_Greedy_Routing_on_Augmented_Ring_Graphs.
|
[14] |
YOON M G. Traffic grooming and light-path routing in WDM ring networks with hop-count constraint[C]// Proceedings of IEEE International Conference on Communications. Washington D. C., USA: IEEE Press, 2001: 432-441.
|
[15] |
祝华平, 李蜀瑜. C-Chord: 一种改进的Chord路由算法[J]. 计算机技术与发展, 2013, 12(3): 47-50. ZHU H P, LI S Y. C-Chord: an improved Chord routing algorithm[J]. Computer Technology and Development, 2013, 12(3): 47-50. (in Chinese) |
[16] |
BARRIÈRE L, FÀBREGA J, SIMÓ E, et al. Fault‐tolerant routings in chordal ring networks[J]. Networks, 2015, 36(3): 180-190. |
[17] |
ZHANG Z, HU W, YE T, et al. Routing and spectrum allocation in multi-ring based data center networks[J]. Optics Communications, 2016, 360(1): 25-34. |
[18] |
LIU Y L. Routing and wavelength assignment for exchanged crossed cubes on ring-topology optical networks[J]. Soft Computing, 2018, 22(3): 6693-6703. |
[19] |
AUSAVARUNGNIRUN R, FALLIN C, YU X, et al. A case for hierarchical rings with deflection routing: an energy-efficient on-chip communication substrate[J]. Parallel Computing, 2016, 54(3): 29-45. |
[20] |
SHIBATA N, KANEKO S, HONDA K, et al. Deterministic layer-2 ring network with autonomous dynamic gate shaping for multi-service convergence in 5G and beyond[C]//Proceedings of 2020 Optical Fiber Communications Conference and Exhibition. Washington D. C., USA: IEEE Press, 2020: 421-431.
|
[21] |
DENG Y, JIA Z, YANG F. Synchronizability of multilayer star and star-ring networks[J]. Discrete Dynamics in Nature and Society, 2020, 20(1): 1-20. |