一种保护隧道的创建方法及系统与流程

文档序号:18543114发布日期:2019-08-27 21:25阅读:280来源:国知局
一种保护隧道的创建方法及系统与流程

本发明涉及通信技术领域,具体涉及一种保护隧道的创建方法及系统。



背景技术:

在mplste(multi-protocollabelswitchingtrafficengineering,多协议标签交换流量工程)网络中,如果某个lsp(labelswitchpath,标签交换路径)途经的链路或节点设备故障时,可以采用autotefrr(autotraffic-engfastreroute,流量工程自动快速重路由)技术进行局部保护。即当主lsp的节点或链路发生故障时,能够自动创建保护路径(bypasstunnel)又称旁路隧道,来保护该lsp,无需手动配置创建,并且lsp可以做到在50ms以内快速收敛。

根据保护的对象不同,frr分为链路保护和节点保护。其中,链路保护又称为nhop(next-hop,下一跳)保护,节点保护又称为nnhop(next-next-hop,下下一跳)保护。

在实际工程应用中,由于不同运营商rsvp(resourcereservationprotocol,资源预留协议)中,resv(reservation,资源预留)报文中rro(recordroute,记录路由)对象格式不一致,因此无法从中直接获取被保护隧道plr(pointoflocalrepair,本地修复节点)的nhop节点和nnhop节点的节点地址,即环回口地址。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种保护隧道的创建方法及系统,可快速找到汇聚节点mp的节点地址。

本发明第一方面提供一种保护隧道的创建方法,其包括步骤:

从资源预留resv报文的记录路由rro对象信息中,找到汇聚节点mp的接口地址或节点地址;mp为本地修复节点plr的下一跳nhop节点或下下一跳nnhop节点;

以mp的接口地址或节点地址为目的地址,发起算路请求,并根据返回的算路结果获取mp的节点地址;

以mp的节点地址为目的地址,创建保护隧道。

基于第一方面,在可能的实施例中,上述nhop节点的接口地址或节点地址,是根据rro对象信息,查找到的第一个不属于plr的地址。

基于第一方面,在可能的实施例中,上述nnhop节点的接口地址或节点地址,是根据rro对象信息,查找到的最后一个属于nhop节点的地址的下一个地址。

基于第一方面,在可能的实施例中,当plr存在nhop节点,以nhop节点为mp,创建plr到nhop节点的链路保护隧道。

基于第一方面,在可能的实施例中,创建plr到nhop节点的链路保护隧道时,以nhop节点的节点地址为目的地址,并排除nhop节点的入接口地址。

基于第一方面,在可能的实施例中,当plr还存在nnhop节点,以nnhop节点为mp,创建nhop节点保护隧道。

基于第一方面,在可能的实施例中,创建nhop节点保护隧道时,以nnhop节点的节点地址为目的地址,并排除nhop节点的节点地址。

基于第一方面,在可能的实施例中,还包括:

收集全网拓扑结构,根据受约束的最短路径优先算法cspf计算到mp的最短路径,作为算路结果返回。

基于第一方面,在可能的实施例中,上述返回的算路结果包括mp的入接口地址、出接口地址和节点地址。

本发明第二方面提供一种保护隧道的创建系统,其设置于本地修复节点plr,包括:

流量工程te模块,其用于从resv报文的rro对象信息中,找到mp的接口地址或节点地址;mp为plr的nhop节点或nnhop节点;其还用于以mp的接口地址或节点地址为目的地址,发起算路请求,并根据返回的算路结果获取mp的节点地址;

cspf模块,其用于接收算路请求进行路径计算,并返回算路结果;

隧道创建模块,其用于以mp的节点地址为目的地址,创建保护隧道。

基于第二方面,在可能的实施例中,上述te模块用于根据rro对象信息,查找第一个不属于plr的地址,作为nhop节点的接口地址或节点地址。

基于第二方面,在可能的实施例中,上述te模块还用于根据rro对象信息,查找最后一个属于nhop节点的地址的下一个地址,作为nnhop节点的接口地址或节点地址。

基于第二方面,在可能的实施例中,上述隧道创建模块包括链路保护模块,链路保护模块用于以nhop节点为mp,创建plr到nhop节点的链路保护隧道。

基于第二方面,在可能的实施例中,上述隧道创建模块还包括节点保护模块,节点保护模块用于以nnhop节点为mp,创建nhop节点保护隧道。

与现有技术相比,本发明的优点在于:

(1)本发明的保护隧道的创建方法,在plr存在nhop节点时,可快速找到nhop节点的节点地址,以nhop节点为mp,可创建plr到nhop节点的链路保护隧道,在plr到nhop节点的链路失效时,流量即可切换到该链路保护隧道上。

(2)本发明的保护隧道的创建方法,在plr还存在nnhop节点时,可快速找到nnhop节点的节点地址,以nnhop节点为mp,可创建nhop节点保护隧道,在nhop节点失效时,流量即可切换到该节点保护隧道上。

附图说明

图1为本发明实施例1提供的保护隧道的创建方法的流程图;

图2为本发明实施例5提供的网络拓扑图;

图3为本发明实施例6提供的保护隧道的创建方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

实施例1

参见图1所示,本发明实施例提供一种保护隧道的创建方法,其包括步骤:

s1.从资源预留resv报文的记录路由rro对象信息中,找到汇聚节点mp(mergepoint)的接口地址或节点地址;上述mp为本地修复节点plr的下一跳nhop节点或下下一跳nnhop节点。

s2.以mp的接口地址或节点地址为目的地址,发起算路请求,并根据返回的算路结果获取mp的节点地址;其中,返回的算路结果包括上述mp的入接口地址、出接口地址和节点地址。

s3.以mp的节点地址为目的地址,创建保护隧道。

本实施例中,当plr和mp之间是直接链路连接时,mp即为plr的nhop节点,主lsp经过该链路。在plr到nhop节点的链路失效时,以nhop节点的节点地址为目的地址,创建的plr到nhop节点的链路保护隧道,可绕过plr到nhop节点的链路。

当plr和mp之间通过一台设备连接时,mp即为plr的nnhop节点,主lsp经过该设备即nhop节点。在nhop节点失效时,以nnhop节点的节点地址为目的地址,创建的nhop节点保护隧道,可绕过nhop节点。

实施例2

在实施例1的基础上,本实施例中plr存在nhop节点,且nhop节点为尾节点。

上述nhop节点的接口地址或节点地址,是根据rro对象信息,查找到的第一个不属于plr的地址。以nhop节点为mp,可创建plr到nhop节点的链路保护隧道,在plr到nhop节点的链路失效时,流量即可切换到该链路保护隧道上。

上述创建plr到nhop节点的链路保护隧道,具体包括:

首先找到rro对象信息中记录的nhop节点的接口地址或节点地址,以nhop节点的接口地址或节点地址为目的地址,在无约束条件下发起算路请求。

然后根据收集的全网拓扑结构,利用受约束的最短路径优先算法cspf(constrainedshortestpathfirst)计算到nhop节点的最短路径,作为算路结果返回。

最后根据返回的算路结果获取nhop节点的节点地址;并以nhop节点的节点地址为目的地址,并以排除nhop节点的入接口地址为约束条件,再次发起算路请求,在得到的最短路径上建立保护隧道,保护plr到nhop节点的链路。

上述返回的算路结果包括nhop节点的入接口地址、出接口地址和节点地址。

本实施例中,因nhop节点为尾节点,因此,只能创建plr到nhop节点的链路保护隧道,无法创建nhop节点保护隧道。

实施例3

在实施例2的基础上,本实施例中的plr除了存在nhop节点,还存在nnhop节点。上述nnhop节点的接口地址或节点地址,是根据rro对象信息,查找到的最后一个属于nhop节点的地址的下一个地址。

按照实施例2的创建方法,将nhop节点作为mp,以nhop节点的节点地址为目的地址,在排除nhop节点的入接口地址的条件下,创建plr到nhop节点的链路保护隧道。

在本实施例中,还将nnhop节点作为mp,创建nhop节点保护隧道,在nhop节点失效时,流量即可切换到该节点保护隧道上。

上述创建nhop节点保护隧道具体包括:

首先将nhop节点的入接口地址、出接口地址和节点地址均与rro对象信息进行比较,找到rro对象信息中记录的nnhop节点的接口地址或节点地址,以nnhop节点的接口地址或节点地址为目的地址,在无约束条件下发起算路请求。

然后根据收集的全网拓扑结构,利用受约束的最短路径优先算法cspf(constrainedshortestpathfirst)计算到nnhop节点的最短路径,作为算路结果返回;并根据返回的算路结果获取nnhop节点的节点地址;其中,返回的算路结果包括nnhop节点的入接口地址、出接口地址和节点地址。

最后,以nnhop节点的节点地址为目的地址,并以排除nhop节点的节点地址为约束条件,再次发起算路请求,在得到的最短路径上建立保护隧道,保护nhop节点。其中,可以通过排除nhop节点的所有地址来排除nhop节点的节点地址。

实施例4

本发明实施例提供一种保护隧道的创建系统,其设置于本地修复节点plr,包括流量工程te模块、cspf模块和隧道创建模块。

上述te模块用于从resv报文的rro对象信息中,找到mp的接口地址或节点地址;上述mp为plr的nhop节点或nnhop节点;te模块还用于以mp的接口地址或节点地址为目的地址,发起算路请求,并根据返回的算路结果获取mp的节点地址。

cspf模块用于接收算路请求进行路径计算,并返回算路结果;上述算路结果中包括mp的入接口地址、出接口地址和节点地址。cspf模块还用于收集全网拓扑结构,根据受约束的最短路径优先算法cspf计算到mp的接口地址或节点地址的最短路径,作为算路结果返回给te模块。

隧道创建模块用于以mp的节点地址为目的地址,创建保护隧道。

实施例5

在实施例4的基础上,te模块根据rro对象信息,查找第一个不属于plr的地址,并将其作为nhop节点的接口地址或节点地址。

本实施例中,隧道创建模块包括链路保护模块,链路保护模块用于以nhop节点为mp,创建plr到nhop节点的链路保护隧道。

参见图2所示,主隧道r1→r2→r3→r4即为被保护隧道,主隧道的rro对象依次记录了地址a、地址b、地址c、地址d、地址e、地址f、地址g和地址h。

以r2作为plr,创建r2→r3的链路保护隧道,具体包括步骤:

a1.te模块找到rro对象信息中最后一个属于r2的地址d,地址d的下一个地址e即为nhop节点r3的接口地址或节点地址。

a2.以地址e为目的地址,在无约束条件下向cspf模块发起算路请求,cspf模块利用最短路径算法spf(shortestpathfirst),计算出到r3的最短路径是r2→r3,该路径包括r2出接口地址d、r3的入接口地址e、r3的节点地址m和r3的出接口地址f。

a3.将r2出接口地址d、r3的入接口地址e、r3的节点地址m和r3的出接口地址f返回给te模块,te模块收到应答,获取到r3的节点地址m。

a4.以地址m为目的地址,并以排除地址e为约束条件,向cspf模块发起算路请求,cspf模块利用spf算法计算出到r3的最短路径出r2→r6→r3,在此路径上建立保护隧道,保护链路r2→r3。

实施例6

参见图3所示,在实施例5的基础上,当plr除了存在nhop节点,还存在nnhop节点时,te模块还用于根据rro对象信息,查找最后一个属于nhop节点的地址的下一个地址,并将其作为nnhop节点的接口地址或节点地址。

本实施例中,隧道创建模块还包括节点保护模块,节点保护模块用于以nnhop节点为mp,创建nhop节点保护隧道。因此,当plr存在nnhop节点时,即可以nhop节点为mp,创建链路保护隧道,也可以nnhop节点为mp,创建节点保护隧道。

在主隧道r1→r2→r3→r4中,主隧道的rro对象依次记录了地址a、地址b、地址c、地址d、地址e、地址f、地址g和地址h。

以r2作为plr,创建r3的节点保护隧道,具体包括步骤:

b1.te模块找到rro对象信息中最后一个属于r2的地址d,地址d的下一个地址e即为r3的接口地址或节点地址;

b2.以地址e为目的地址,在无约束条件下向cspf模块发起算路请求,cspf模块利用spf,计算出到r3的最短路径是r2→r3,该路径包括r2出接口地址d、r3的入接口地址e、r3的节点地址m和r3的出接口地址f。

b3.将r3的入接口地址e、r3的节点地址m和r3的出接口地址f返回给te模块,te模块收到应答,获取到r3即nhop节点的所有地址;

b4.将r3的所有地址与rro比较,rro对象中最后一个与r3节点相同的地址f的下一个地址g,即为nnhop节点r4的接口地址或节点地址;

b5.以地址g为目的地址,在无约束条件下向cspf模块发起算路请求,cspf模块利用spf计算出到r4的最短路径出r2→r3→r4或者r2→r5→r4,并将路径携带的r4的入接口地址g、r4节点地址h和出接口地址n返回给te模块,te模块收到应答,获取到r4即nnhop节点的所有地址,并选出节点地址h;

b6.以地址h为目的地址,以排除地址h为约束条件,向cspf模块发起算路请求,cspf模块利用spf算法计算出到r4的最短路径出r2→r5→r4,在此路径上建立保护隧道,保护节点r3。

本发明的创建系统,适用于上述各创建方法,当plr存在nhop节点时,plr可获取nhop节点的节点地址,创建plr到nhop节点的链路保护隧道;当plr还存在nnhop节点时,plr还可以获取nnhop节点的节点地址,创建nhop节点保护隧道。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1