CN115065634A - 一种基于dc规则的无环路高效路由保护方法 - Google Patents
一种基于dc规则的无环路高效路由保护方法 Download PDFInfo
- Publication number
- CN115065634A CN115065634A CN202210590144.1A CN202210590144A CN115065634A CN 115065634 A CN115065634 A CN 115065634A CN 202210590144 A CN202210590144 A CN 202210590144A CN 115065634 A CN115065634 A CN 115065634A
- Authority
- CN
- China
- Prior art keywords
- node
- cost
- queue
- next hop
- nodes
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于DC规则的无环路高效路由保护方法,属于互联网技术领域,解决了已有DC规则路由保护方案在节点数增加时计算开销过大的问题。本发明提出的方案不但在原有最短路径树的基础上,进行计算备份节点,并且该算法是一个线性复杂度,因此该方法可以快速的寻找备份结点,缩短网络故障带来的中断时间,根据实验表明,与DC规则相比较,在故障保护率、路径拉伸度、平均备份下一跳、备份下一跳累计分布方面和DC规则效果相同。因此,该方案可以为DC规则的计算时间开销过大提供一种有效的解决方案。
Description
技术领域
本发明属于互联网技术领域,涉及域内路由保护方案,具体涉及一种基于DC规则的无环路高效路由保护方法。
背景技术
当代网络环境下,网络故障的产生无可避免,为了不影响网络的工作效率,及时恢复网络是当前效率工作大环境下极力追求的目标。互联网经过迅速的发展,从最初用来发送邮件信息发展到一个社交时代、流量时代以及人工智能大数据时代,对于信息的即时捕获,网络基础设施有着严格要求。与此同时,互联网服务提供商(Internet ServiceProvider,ISP)在服务质量方面面临着越来越高的要求,例如向最终用户提供优质的服务质量,包括无间断服务、低延迟、高带宽等。
在上述问题中,在传统网络体系结构中,当网络发生故障时,需要重新收敛才能计算新的路径,但这无法在短时间完成,对此在业界,路由器厂商广泛使用的是链路状态路由协议 OSPF,为了克服OSPF等链路状态路由协议在网络故障下受故障影响的报文丢弃的问题,业界提出采取DC规则。但是目前DC规则随着网络结点的平均度的增加算法时间复杂度也会随之升高,为此学术界有学者又提出利用TBFH算法、DMPA算法,来进一步降低DC规则的实现复杂度。其一,TBFH算法的计算复杂度相当于构造两棵最短路径树,但它的故障保护率仍然低于DC规则的故障保护率。其二,DMPA算法虽然进一步降低了TBFH算法的复杂度以此来提高故障保护率,但其故障保护率高于TBFH仍然低于DC规则。因此,上述方案都没有很好的权衡算法实现复杂度、故障保护率之间的关系。因此,本发明实现基于DC 规则的高效路由保护方法。
发明内容
针对上述背景技术中介绍的DC规则、TBFH算法、DMPA算法相对于网络故障保护仍存在诸多复杂问题以及技术缺陷,因此,本发明实现基于DC规则的高效路由保护方法,本发明提出了一种基于DC规则的无环路高效路由保护方法。
本发明涉及的DC规则:在网络拓扑G∈(V,E)中,假设源结点为s,结点d为目的结点,结点x为结点s的某一邻居结点,x∈Neb(s),cost(s,d)表示结点s到结点d的最小代价,当 cost(x,d)<cost(s,d)成立时,可将结点c发送给目的结点d的报文转发给结点x,那么结点x可以作为结点s到结点d的可选下一跳。
为了方便描述,我们先定义一些标记,这些标记适用于整个发明。一个网络拓扑可以表示为图G=(V,E)。在图G中V用来代表网络拓扑中所有结点的集合,E用来表示网络拓扑中所有链路的集合,即对于图G中在一个网络拓扑G=(V,E)中,两个结点(m,n),m≠n之间在G上有链接表示为distance(m,n),源结点s到目的结点d的备份下一跳表示为Ns(d),源结点 s的邻居结点表示为Neb(s),dc表示目的结点d的孩子结点,Neb(s)rc表示邻居结点Neb(s)的孩子结点,F(d)表示求目的结点d的父结点,FS(d)表示求目标结点d的所有祖先结点,DFS(d)表示对目的结点d进行深度遍历。
综合上述网络标记的描述,本发明则是采取以下技术方案:一种基于DC规则的无环路高效路由保护方法,其包括以下步骤:
步骤1:读取拓扑文件将所有结点和边的存储在生成无向图G中;
步骤2:遍历每个结点,作为源结点s,执行步骤3,否则,若遍历完成,则算法结束;
步骤3:对于网络中的结点s∈V,计算以结点s为根的最短路径树T(s),执行步骤4;
步骤4:遍历除s结点以外的结点作为目的结点d,如果遍历完成,则执行步骤2;
步骤5:判断源节点s的邻居结点数是否为1,如果成立,则执行步骤4,否则,执行步骤6;
步骤6:计算步骤3最短路径树T(s)中源结点s的邻居结点x,x∈Neb(s),然后对邻居结点逐个进行深度遍历,若x=d,则跳过该邻居结点,对下一个邻居结点继续进行深度遍历,并将其结果放入队列Q中,即Q←DFS(x),并执行步骤7,如果所有邻居结点遍历结束,则返回执行步骤4;
步骤7:若d∈Neb(s)成立,则执行步骤8,若d∈Nebrc(s),执行步骤9,若distance(dc,Neb(s)c),则执行步骤10,若distance(FS(d),Neb(s)c),则执行步骤11,若上述条件均不满足,则返回执行步骤6;
步骤8:若d∈Neb(s),对结点d进行深度遍历,其结果放入队列U中,U←DFS(d),寻找队列Q中的结点与队列U中的结点在图G中连接的m与n存在连接distance(m,n),判断是否满足 cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d)的条件,若满足,则结点x可以作为结点s到结点d 的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤9:如果d∈Nebrc(s),寻找d的父结点F(d)=b,对b进行深度遍历,结果放入队列U中, U←DFS(b),寻找队列Q中的结点与队列U中的结点在图G中连接的m,n,即存在连接distance(m,n),并判断是否满足cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,b)的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤10:如果distance(dc,Neb(s)c),对目的结点d进行深度遍历,其结果放到队列U中,即 U←DFS(d),寻找队列Q中的结点与队列U中的结点在图G中连接的m,n,即存在连接distance(m,n),判断是否满足cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d)的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤11:如果distance(FS(d),Neb(s)c),对d的寻找所有祖先结点结果放到队列U中,即 U←FS(d),寻找队列Q中的结点与队列U中的结点在图G中连接的m与n,即存在连接distance(m,n),并判断是否满足cost(s,m)-cost(s,x)+cost(m,n)<cost(s,n)的条件,若满足,则结点 x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6。
与现有技术相比,本发明具有如下优点:
本发明所保护的无环路高效路由保护方法是在原有最短路径树的基础上,进行计算备份结点,而不是重新构造最短路径树,由此可见本发明的采用的该算法仅仅是一个线性复杂度。因此,该方法可以快速的寻找备份结点,缩短网络故障带来的中断时间,根据实验表明,与 DC规则相比较,在故障保护率、路径拉伸度、平均备份下一跳、备份下一跳累计分布方面和 DC规则效果相同。与此同时,本发明所保护的无环路高效路由保护方法为DC规则的计算时间开销过大提供一种有效的解决方案。
附图说明
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
图1是本发明的基于无环路规则的路由保护方法的流程示意图;
图2至图5是本发明实施例中网络拓扑结构最短路径树T(s))示意图。
在图2至图5中:结点m,n之间的虚线表示在图G中具有直接连接;实线表示在T(s)中具有链路;虚线和实现上的数字表示某一结点到相邻结点的最小代价。
具体实施方式
为了进一步阐述本发明的技术方案,下面参照附图1并结合附图2至5详细说明本实施例的各个步骤,因为该实施例的过程比较多,下面仅仅列出计算(s,d),(s,d1),(s,d2),(s,d3) 的过程。
步骤1:读取拓扑文件将所有结点和边存储生成在无向图G中;
步骤2:如图2至5,以源结点s为根的一颗最短路径树T(s),然后将d,d1,d2,d3依次作为目的结点,执行步骤3;
步骤3:判断目的结点与源结点的关系,如果目的结点为源结点s的邻居时,即d,则执行步骤4(参阅附图2),如果目的结点为源结点的邻居结点的右孩子时,即d1执行步骤5(参阅附图3),如果源结点的某一邻居结点的子结点与目的结点的子结点在G上具有连接,即d2,则执行步骤6(参阅附图4),如果源结点的某一邻居结点与目的结点的父结点在G具有连接,即d3,则执行步骤7(参阅附图5);
步骤4:参阅附图2,对源结点s的邻居结点分别进行深度遍历,Q←DFS(x),Q=[m],对目的结点d进行深度遍历,即U←DFS(d),U=[b,o,n,p],distance(m,n)存在,判断是否满足条件: cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d),计算得出15<18,所以结点x可以作为结点s 到目的结点d的备份下一跳,即NS(d)←x;
步骤5:参阅附图3,对源结点s的邻居结点分别进行深度遍历,Q←DFS(x),Q=[m],对目的结点d1的父结点b=F(d1)进行深度遍历,即U←DFS(b),U=[o,n,p],distance(m,n)存在,判断是否满足条件:cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,b),计算得出15<18,所以结点x可以作为结点s到目的结点d的备份下一跳,即NS(d)←x;
步骤6:参阅附图4,对源结点s的邻居结点分别进行深度遍历,Q←DFS(x),Q=[m],对目的结点d2进行深度遍历,即U←DFS(d2),U=[n,o],distance(m,n)存在,判断是否满足条件: cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d2),计算得出15<22,所以结点x可以作为结点s 到目的结点d2的备份下一跳,即NS(d2)←x;
步骤7:参阅附图5,对源结点s的邻居结点分别进行深度遍历,Q←DFS(x),Q=[m],对目的结点d3的寻找祖先结点,即U←FS(d3),U=[n,o,b],distance(m,n)存在,判断 cost(s,m)-cost(s,x)+cost(m,n)<cost(s,n),3<12,所以结点x可以作为结点s到目的结点d的备份下一跳,即Ns(d)←x。
对于本领域技术人员而言,显然本发明的具体实施方式不仅仅限于上述示范性实施例的细节,而且在不背离本发明中算法步骤及满足条件的前提下,能够以其他的具体形式实现路由保护的技术方案,应当等同属于本发明技术方案中所公开的保护范围。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明所保护的范围由所附条件要求而不是上述说明限定,因此,落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (3)
1.一种基于DC规则的无环路高效路由保护方法,其包括以下步骤:
步骤1:读取拓扑文件将所有结点和边的存储在生成无向图G中;
步骤2:遍历每个结点,作为源结点s,执行步骤3,否则,若遍历完成,则算法结束;
步骤3:对于网络中的结点s∈V,计算以结点s为根的最短路径树T(s),执行步骤4;
步骤4:遍历除s结点以外的结点作为目的结点d,如果遍历完成,则执行步骤2;
步骤5:判断源节点s的邻居结点数是否为1,如果成立,则执行步骤4,否则,执行步骤6;
步骤6:计算步骤3最短路径树T(s)中源结点s的邻居结点x,x∈Neb(s),然后对邻居结点逐个进行深度遍历,若x=d,则跳过该邻居结点,对下一个邻居结点继续进行深度遍历,并将其结果放入队列Q中,即Q←DFS(x),并执行步骤7,如果所有邻居结点遍历结束,则返回执行步骤4;
步骤7:若d∈Neb(s)成立,则执行步骤8,若d∈Nebrc(s),执行步骤9,若distance(dc,Neb(s)c),则执行步骤10,若distance(FS(d),Neb(s)c),则执行步骤11,若上述条件均不满足,则返回执行步骤6;
步骤8:若d∈Neb(s),对结点d进行深度遍历,其结果放入队列U中,U←DFS(d),寻找队列Q与队列U中是否存在连接的结点满足备份下一跳的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤9:如果d∈Nebrc(s),寻找d的父结点F(d)=b,对b进行深度遍历,结果放入队列U中,U←DFS(b),寻找队列Q与队列U中是否存在连接的结点满足备份下一跳的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤10:如果distance(dc,Neb(s)c),对目的结点d进行深度遍历,其结果放到队列U中,即U←DFS(d),寻找队列Q与队列U中是否存在连接的结点满足备份下一跳的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6;
步骤11:如果distance(FS(d),Neb(s)c),对d的寻找所有祖先结点结果放到队列U中,即U←FS(d),寻找队列Q与队列U中是否存在连接的结点满足备份下一跳的条件,若满足,则结点x可以作为结点s到结点d的备份下一跳即Ns(d)←x,否则,执行步骤6。
2.根据权利要求1所述一种基于无环路规则的高效路由保护方法,其特征在于:其中步骤8至11中备份下一跳的条件:
步骤1:遍历队列Q与U,m∈Q,n∈U,判断是否存在distance(m,n),如果存在,执行下一步,否则,返回步骤6对下一个邻居结点进行深度遍历;
步骤2:存在distance(m,n),则判断是否满足最小代价条件,如果是,结点s到结点d的备份下一跳即Ns(d)←x,否则,返回步骤6对下一个邻居结点进行深度遍历。
3.根据权利要求2所述一种基于无环路规则的高效路由保护方法,其特征在于:满足备份下一跳的最小代价条件为:
在步骤8中,最小代价条件为cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d);
在步骤9中,最小代价条件为cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,b);
在步骤10中,最小代价条件为cost(s,m)-cost(s,x)+cost(m,n)+cost(s,n)<2cost(s,d);
在步骤11中,最小代价条件为cost(s,m)-cost(s,x)+cost(m,n)<cost(s,n)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210590144.1A CN115065634B (zh) | 2022-05-26 | 2022-05-26 | 一种基于dc规则的无环路高效路由保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210590144.1A CN115065634B (zh) | 2022-05-26 | 2022-05-26 | 一种基于dc规则的无环路高效路由保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115065634A true CN115065634A (zh) | 2022-09-16 |
CN115065634B CN115065634B (zh) | 2023-09-22 |
Family
ID=83197598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210590144.1A Active CN115065634B (zh) | 2022-05-26 | 2022-05-26 | 一种基于dc规则的无环路高效路由保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065634B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567438A (zh) * | 2022-09-21 | 2023-01-03 | 山西大学 | 一种基于SRv6的域内路由保护方法 |
CN115801665A (zh) * | 2022-11-22 | 2023-03-14 | 山西大学 | 一种基于转发图的域内路由保护方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140237156A1 (en) * | 2012-10-25 | 2014-08-21 | Plx Technology, Inc. | Multi-path id routing in a pcie express fabric environment |
US20150156106A1 (en) * | 2013-07-24 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | Metric biasing for bandwidth aware tie breaking |
CN107248954A (zh) * | 2017-08-04 | 2017-10-13 | 山西大学 | 一种基于网络交叉度的域内路由保护方法 |
CN107426097A (zh) * | 2017-04-24 | 2017-12-01 | 山西大学 | 一种基于增量最短路径优先的域内路由保护方法 |
-
2022
- 2022-05-26 CN CN202210590144.1A patent/CN115065634B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140237156A1 (en) * | 2012-10-25 | 2014-08-21 | Plx Technology, Inc. | Multi-path id routing in a pcie express fabric environment |
US20150156106A1 (en) * | 2013-07-24 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | Metric biasing for bandwidth aware tie breaking |
CN107426097A (zh) * | 2017-04-24 | 2017-12-01 | 山西大学 | 一种基于增量最短路径优先的域内路由保护方法 |
CN107248954A (zh) * | 2017-08-04 | 2017-10-13 | 山西大学 | 一种基于网络交叉度的域内路由保护方法 |
Non-Patent Citations (1)
Title |
---|
耿海军;施新刚;王之梁;尹霞;: "一种逐跳方式的域内单节点故障保护算法", 小型微型计算机系统, no. 11 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567438A (zh) * | 2022-09-21 | 2023-01-03 | 山西大学 | 一种基于SRv6的域内路由保护方法 |
CN115567438B (zh) * | 2022-09-21 | 2024-03-12 | 山西大学 | 一种基于SRv6的域内路由保护方法 |
CN115801665A (zh) * | 2022-11-22 | 2023-03-14 | 山西大学 | 一种基于转发图的域内路由保护方法 |
CN115801665B (zh) * | 2022-11-22 | 2024-05-24 | 山西大学 | 一种基于转发图的域内路由保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115065634B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115065634A (zh) | 一种基于dc规则的无环路高效路由保护方法 | |
CN112787841B (zh) | 故障根因定位方法及装置、计算机存储介质 | |
KR101442363B1 (ko) | Mpls 멀티캐스트를 위한 효율적인 보호 방식 | |
WO2011015057A1 (zh) | K优路径的计算方法及装置 | |
CN114726772B (zh) | 一种基于优化网络拓扑结构的路由保护方法 | |
CN103414644A (zh) | 表项下发的方法及控制器 | |
CN101729385A (zh) | 一种路径计算及建立方法、装置和系统 | |
CN110061859B (zh) | 一种基于用户生存性条件约束下的sdn控制器部署方法 | |
CN101909004B (zh) | 基于边缘roadm环结构的多域光网络路由方法 | |
Jarry | Fast reroute paths algorithms | |
WO2018090852A1 (zh) | 链路状态数据包的传输方法及路由节点 | |
CN106982162A (zh) | 用于转发业务流的方法、装置和系统 | |
CN111147367A (zh) | 一种ip-光网络路由协同方法及装置 | |
JP4128944B2 (ja) | マルチキャスト転送経路設定方法、マルチキャスト転送経路計算装置、プログラムおよび記録媒体 | |
CN108429688A (zh) | 一种基于段路由的单节点故障路由保护方法 | |
Shaikh et al. | Avoiding instability during graceful shutdown of multiple OSPF routers | |
CN100518382C (zh) | 自动交换光网络中多约束条件下最短路径查找方法及装置 | |
CN115567438B (zh) | 一种基于SRv6的域内路由保护方法 | |
CN107453990B (zh) | 一种基于关键节点的域内路由保护方法 | |
CN114827010B (zh) | 一种基于节点转发概率的域内路由保护方法 | |
CN116319512B (zh) | 一种基于节点反序关系的域内路由保护方法 | |
WO2023077894A1 (zh) | 标签处理方法、系统、装置和计算机存储介质 | |
CN115622937B (zh) | 一种基于不相交路径的路由保护方法及相关设备 | |
CN112039770B (zh) | 一种路由选择方法及装置 | |
US11811611B2 (en) | System and method for backup flooding topology split |
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 |