当前位置: 首页 > 专利查询>山西大学专利>正文

一种针对单故障情形的路由保护方法技术

技术编号:34143893 阅读:14 留言:0更新日期:2022-07-14 18:29
本发明专利技术公开了一种针对单故障情形的路由保护方法,该方法解决了已有路由保护方法存在的三个方面问题:1.不支持逐跳转发,2.不支持增量部署,3.无法保护网络中所有可能的单故障情形。本发明专利技术提出的方法支持逐跳转发,增量部署,不仅具有较小的路径拉伸度,还可以应对网络中所有可能的单故障情形。本发明专利技术提出的方法可以大大提高网络可用性,降低网络故障造成的报文丢失率,进而满足实施应用对网络可用性的需求。因此,本发明专利技术为互联网服务提供商解决路由可用性问题提供了一种有效的方案。由可用性问题提供了一种有效的方案。由可用性问题提供了一种有效的方案。

A route protection method for single fault

【技术实现步骤摘要】
一种针对单故障情形的路由保护方法


[0001]本专利技术属于互联网域内路由保护方案的
,具体涉及一种针对单故障情形的路由保护方法。

技术介绍

[0002]自上个世纪70年代诞生之日起,互联网进入飞速发展,互联网上涌现了大量的新兴应用和服务,他们对互联网的路由可用性提出了更高的要求。因此,互联网在设计之初就非常重视路由可用性,设计并使用了自适应的动态路由协议。然而,当网络中的故障发生时,路由协议都需要一定的收敛时间来完成路由重计算,在路由收敛期间,路由的一致性无法得到保证,从而引发路由环路、路由黑洞等现象,最终导致丢包及传输服务中断的发生。为此,业界提出利用LFA(Loop Free Alternates)方案来应对网络中频繁出现的故障,LFA以其实现简单和支持增量部署而受到业界的青睐,然而,LFA并不能保护网络中所有可能出现的单故障情形。为了解决该问题,研究者提出了基于Not

Via地址的快速重路由算法,然而,该算法需要辅助地址的协助,且计算开销和存储开销较大,因此,该算法很难得到互联网服务提供商的支持。

技术实现思路

[0003]研究表明,网络中绝大多数的故障为单故障,为了解决上述技术问题,本专利技术专注于解决网络中单故障情形,从而提出了一种针对单故障情形的路由保护方法。
[0004]为了方便描述,我们先定义一些标记,这些标记适用于整个专利技术。网络拓扑可以用G=(V,E)来表示,其中V代表网络拓扑中所有节点的集合,E用来表示网络拓扑中所有链路的集合。对于网络中的节点m∈V,N(m)表示节点m的邻居节点的集合,其中邻居节点不包括父亲节点,id(m)表示节点m的节点标识,priority(m)表示节点m的优先级,ancestor(m)表示节点m的所有祖先节点中跳数为2的节点。由于针对每个目的节点的计算过程是相同的,因此,假设目的节点为d。对于网络中的目的节点d∈V,并用rspt(d)表示以节点d为根的反向最短路径树。对于网络中的任意节点对m,d,用bn(m,d)表示节点m到节点d的备份下一跳集合。
[0005]其技术方案为一种针对单故障情形的路由保护方法,包括以下步骤:
[0006]步骤1:对于网络中的节点目的节点d∈V,将节点m的优先级设置为0,即:priority(m)=0,将节点m到目的节点d的备份下一跳设置为空集,即:bn(m,d)=φ,其中priority(m)表示节点m的优先级,bn(m,d)表示节点m到节点d的备份下一跳,V表示网络中节点的集合;
[0007]步骤2:根据迪杰斯特拉算法计算以节点d为根的反向最短路径树rspt(d);
[0008]步骤3:利用反向最短路径树rspt(d)计算节点集合R,该集合中的节点满足步骤3:利用反向最短路径树rspt(d)计算节点集合R,该集合中的节点满足其中ancestor(u)表示节点u的所有祖先节点中跳数为2的节点,ancestor(v)表示节点v的所有祖先节点中跳数为2的节点,N(v)表示节点v的邻居节点
的集合,节点v表示节点u的邻居节点;
[0009]步骤4:创建一个优先级队列Q,该队列Q中元素的结构为(u,priority(u),id(u)),其中priority(u)表示节点u的优先级,id(u)表示节点u的节点标识;
[0010]步骤5:对于网络中的节点且该节点的优先级设置为2,并将该节点加入到优先级队列Q中;
[0011]步骤6:判断优先级队列Q是否为空,如果不为空,则执行步骤7,否则,则结束;
[0012]步骤7:读取优先级队列Q中的队首节点u,并将该节点u存储在变量k中;
[0013]步骤8:遍历节点u的邻居节点v;
[0014]步骤9:判断是否满足priority(u)大于等于1且邻居节点v没有备份下一跳的条件,如果满足,则将邻居节点v加入到优先级队列Q中,进一步执行步骤10,如果不满足,直接执行步骤10;
[0015]步骤10:判断ancestor(u)与ancestor(v)是否相同,如果ancestor(u)≠ancestor(v),则将节点v加入到节点u到d的备份下一跳bn(u,d)=bn(u,d)∪{v},执行步骤13,如果ancestor(u)=ancestor(v),则执行步骤11;
[0016]步骤11:判断节点u的节点优先级是否等于2,如果是,则执行步骤13,否则,执行步骤12;
[0017]步骤12:判断节点v是否存在备份一下跳,如果不存在,则直接执行步骤13,否则,将节点v加入到节点u到d的备份下一跳bn(u,d)=bn(u,d)∪{v},并将节点u的优先级设置为1,执行步骤13;
[0018]步骤13:判断节点v是否节点u的最后一个邻居,如果是,则执行步骤14,如果不是,执行步骤8,继续遍历其下一个邻居节点;
[0019]步骤14:判断节点u到d的备份下一跳是否存在,如果是,则将节点u从优先级队列Q中删除,重新执行步骤6,否则,直接执行步骤6。
[0020]作为上述技术方案中进一步解释,其中步骤3中计算节点集合R的方法如下:
[0021]步骤3.1:创建一个队列M,将网络中的节点加入到该队列中;
[0022]步骤3.2:判断队列M是否为空,如果不为空,则执行步骤3.3,否则,执行步骤4;
[0023]步骤3.3:从M中取出一节点u,遍历该节点u的邻居节点,将该邻居节点存储在变量g中,执行步骤3.4;
[0024]步骤3.4:判断ancestor(u)与ancestor(v)是否相同,如果是,直接执行步骤3.6,否则,则将节点u和节点v的优先级设置为2,执行步骤3.5;
[0025]步骤3.5:判断节点u和节点v是否在集合R中,如果是,直接执行步骤3.6,否则,则将节点u和节点v加入到集合R,执行步骤3.6;
[0026]步骤3.6:判断节点v是否是节点u的最后一个邻居,如果是,则执行步骤3.2,否则,执行步骤3.3,继续遍历其下一个邻居节点。
[0027]作为上述技术方案中进一步解释,其中步骤7中优先级队列Q的队首节点满足以下要求:
[0028](1)该队首节点选取队列Q中所有节点中优先级最大的节点;
[0029](2)如果多个节点具有相同的优先级时,该队首节点为具有最小节点标识的节点。
[0030]与现有技术相比,本专利技术具有以下优点:1.本专利技术具有支持逐跳转发,支持增量部
署,不仅具有较小的路径拉伸度,还可以应对网络中所有可能的单故障情形的特征。2.本专利技术可以应对网络中任意的单故障情形,极大的提高了路由可用性,降低了由于故障导致的网络中断时间,提升了用户对网络性能的体验度。因此,本专利技术为互联网服务提供商解决路由可用性问题提供了一种有效的方案。
附图说明
[0031]图1是本专利技术实施例的流程示意图;
[0032]图2是本专利技术实施例中计算节点集合R的流程示意图;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对单故障情形的路由保护方法,包括以下步骤:步骤1:对于网络中的节点目的节点d∈V,将节点m的优先级设置为0,即:priority(m)=0,将节点m到目的节点d的备份下一跳设置为空集,即:bn(m,d)=φ,其中priority(m)表示节点m的优先级,bn(m,d)表示节点m到节点d的备份下一跳,V表示网络中节点的集合;步骤2:根据迪杰斯特拉算法计算以节点d为根的反向最短路径树rspt(d);步骤3:利用反向最短路径树rspt(d)计算节点集合R,该集合中的节点满足步骤3:利用反向最短路径树rspt(d)计算节点集合R,该集合中的节点满足其中ancestor(u)表示节点u的所有祖先节点中跳数为2的节点,ancestor(v)表示节点v的所有祖先节点中跳数为2的节点,N(v)表示节点v的邻居节点的集合,节点v表示节点u的邻居节点;步骤4:创建一个优先级队列Q,该队列Q中元素的结构为(u,priority(u),id(u)),其中priority(u)表示节点u的优先级,id(u)表示节点u的节点标识;步骤5:对于网络中的节点且该节点的优先级设置为2,并将该节点加入到优先级队列Q中;步骤6:判断优先级队列Q是否为空,如果不为空,则执行步骤7,否则,则结束;步骤7:读取优先级队列Q中的队首节点u,并将该节点u存储在变量k中;步骤8:遍历节点u的邻居节点v;步骤9:判断是否满足priority(u)大于等于1且邻居节点v没有备份下一跳的条件,如果满足,则将邻居节点v加入到优先级队列Q中,进一步执行步骤10,如果不满足,直接执行步骤10;步骤10:判断ancestor(u)与ancestor(v)是否相同,如果ancestor(u)≠ancestor(v),则将节点v加入到节点u到d的备份下一跳bn(u,d)=bn(u,d)∪{v},执行步骤13,如果ancestor(...

【专利技术属性】
技术研发人员:耿海军
申请(专利权)人:山西大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1