一种基于DC规则的无环路高效路由保护方法

文档序号:31540839发布日期:2022-09-16 23:49阅读:180来源:国知局
一种基于DC规则的无环路高效路由保护方法
一种基于dc规则的无环路高效路由保护方法
技术领域
1.本发明属于互联网技术领域,涉及域内路由保护方案,具体涉及一种基于dc规则的无环路高效路由保护方法。


背景技术:

2.当代网络环境下,网络故障的产生无可避免,为了不影响网络的工作效率,及时恢复网络是当前效率工作大环境下极力追求的目标。互联网经过迅速的发展,从最初用来发送邮件信息发展到一个社交时代、流量时代以及人工智能大数据时代,对于信息的即时捕获,网络基础设施有着严格要求。与此同时,互联网服务提供商(internet service provider,isp)在服务质量方面面临着越来越高的要求,例如向最终用户提供优质的服务质量,包括无间断服务、低延迟、高带宽等。
3.在上述问题中,在传统网络体系结构中,当网络发生故障时,需要重新收敛才能计算新的路径,但这无法在短时间完成,对此在业界,路由器厂商广泛使用的是链路状态路由协议 ospf,为了克服ospf等链路状态路由协议在网络故障下受故障影响的报文丢弃的问题,业界提出采取dc规则。但是目前dc规则随着网络结点的平均度的增加算法时间复杂度也会随之升高,为此学术界有学者又提出利用tbfh算法、dmpa算法,来进一步降低dc规则的实现复杂度。其一,tbfh算法的计算复杂度相当于构造两棵最短路径树,但它的故障保护率仍然低于dc规则的故障保护率。其二,dmpa算法虽然进一步降低了tbfh算法的复杂度以此来提高故障保护率,但其故障保护率高于tbfh仍然低于dc规则。因此,上述方案都没有很好的权衡算法实现复杂度、故障保护率之间的关系。因此,本发明实现基于dc 规则的高效路由保护方法。


技术实现要素:

4.针对上述背景技术中介绍的dc规则、tbfh算法、dmpa算法相对于网络故障保护仍存在诸多复杂问题以及技术缺陷,因此,本发明实现基于dc规则的高效路由保护方法,本发明提出了一种基于dc规则的无环路高效路由保护方法。
5.本发明涉及的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的可选下一跳。
6.为了方便描述,我们先定义一些标记,这些标记适用于整个发明。一个网络拓扑可以表示为图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进行深度遍历。
7.综合上述网络标记的描述,本发明则是采取以下技术方案:一种基于dc规则的无环路高效路由保护方法,其包括以下步骤:
8.步骤1:读取拓扑文件将所有结点和边的存储在生成无向图g中;
9.步骤2:遍历每个结点,作为源结点s,执行步骤3,否则,若遍历完成,则算法结束;
10.步骤3:对于网络中的结点s∈v,计算以结点s为根的最短路径树t
(s)
,执行步骤4;
11.步骤4:遍历除s结点以外的结点作为目的结点d,如果遍历完成,则执行步骤2;
12.步骤5:判断源节点s的邻居结点数是否为1,如果成立,则执行步骤4,否则,执行步骤6;
13.步骤6:计算步骤3最短路径树t
(s)
中源结点s的邻居结点x,x∈neb(s),然后对邻居结点逐个进行深度遍历,若x=d,则跳过该邻居结点,对下一个邻居结点继续进行深度遍历,并将其结果放入队列q中,即q

dfs(x),并执行步骤7,如果所有邻居结点遍历结束,则返回执行步骤4;
14.步骤7:若d∈neb(s)成立,则执行步骤8,若d∈neb
rc
(s),执行步骤9,若distance(dc,neb(s)c),则执行步骤10,若distance(fs(d),neb(s)c),则执行步骤11,若上述条件均不满足,则返回执行步骤6;
15.步骤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;
16.步骤9:如果d∈neb
rc
(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;
17.步骤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;
18.步骤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。
19.与现有技术相比,本发明具有如下优点:
20.本发明所保护的无环路高效路由保护方法是在原有最短路径树的基础上,进行计算备份结点,而不是重新构造最短路径树,由此可见本发明的采用的该算法仅仅是一个线性复杂度。因此,该方法可以快速的寻找备份结点,缩短网络故障带来的中断时间,根据实验表明,与 dc规则相比较,在故障保护率、路径拉伸度、平均备份下一跳、备份下一跳累计
分布方面和 dc规则效果相同。与此同时,本发明所保护的无环路高效路由保护方法为dc规则的计算时间开销过大提供一种有效的解决方案。
附图说明
21.为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
22.图1是本发明的基于无环路规则的路由保护方法的流程示意图;
23.图2至图5是本发明实施例中网络拓扑结构最短路径树t
(s)
)示意图。
24.在图2至图5中:结点m,n之间的虚线表示在图g中具有直接连接;实线表示在t
(s)
中具有链路;虚线和实现上的数字表示某一结点到相邻结点的最小代价。
具体实施方式
25.为了进一步阐述本发明的技术方案,下面参照附图1并结合附图2至5详细说明本实施例的各个步骤,因为该实施例的过程比较多,下面仅仅列出计算(s,d),(s,d1),(s,d2),(s,d3) 的过程。
26.步骤1:读取拓扑文件将所有结点和边存储生成在无向图g中;
27.步骤2:如图2至5,以源结点s为根的一颗最短路径树t
(s)
,然后将d,d1,d2,d3依次作为目的结点,执行步骤3;
28.步骤3:判断目的结点与源结点的关系,如果目的结点为源结点s的邻居时,即d,则执行步骤4(参阅附图2),如果目的结点为源结点的邻居结点的右孩子时,即d1执行步骤5(参阅附图3),如果源结点的某一邻居结点的子结点与目的结点的子结点在g上具有连接,即d2,则执行步骤6(参阅附图4),如果源结点的某一邻居结点与目的结点的父结点在g具有连接,即d3,则执行步骤7(参阅附图5);
29.步骤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;
[0030]
步骤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;
[0031]
步骤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;
[0032]
步骤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。
[0033]
对于本领域技术人员而言,显然本发明的具体实施方式不仅仅限于上述示范性实施例的细节,而且在不背离本发明中算法步骤及满足条件的前提下,能够以其他的具体形式实现路由保护的技术方案,应当等同属于本发明技术方案中所公开的保护范围。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明所保护的范围由所附条件要求而不是上述说明限定,因此,落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
[0034]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1