一种隧道环回方法及其相关设备与流程

文档序号:14847728发布日期:2018-06-30 16:56阅读:245来源:国知局
一种隧道环回方法及其相关设备与流程

本申请涉及通信领域,尤其涉及一种隧道环回方法及其相关设备。



背景技术:

段式路由(segment routing,SR)本质类似于源路由,是一组有序的Segment,用于指导路径转发或者是一组有序的业务指令。报文进入网络时通过在报文前添加用于指导转发的指令集,后续节点处理无需了解指令的上下文,只需要按照指令本身的含义以及映射关系转发。

段式路由流量工程(segment routing traffic engineering,SR-TE)路径Path:由一组Segment(最少一个)组成的满足用户流量工程需求(用户指定的显式路径或者根据带宽、时延等约束计算或者无任何约束)的路径。

邻接标签(adjacent segment identification,Adj-SID)组合而成的Path,可以按需形成任何路径path(SR-TE/严格显式路径)。如图1所示,网元A-Z建立一条SR-TE隧道,采用严格约束路径,路径是A-B-C-O-P-Z,WAN网络设备控制器(agile controller wide area network,AC-WAN)节点计算Path的标签栈,下发给Ingress节点(A网元)。传统VPN业务在A网元进入SR-TE隧道,穿越SR-TE抵达Z网元,转发流程如下:

1、在A网元一次添加标签栈(9105-9107-9103-9105),转发给B网元;

2、B网元根据报文头的标签9105查询得到下一跳和出接口,弹出9105标签,转发给C网元;

3、C网元根据报文头的标签9107查询得到下一跳和出接口,弹出9107标签,转发给O网元;

4、O网元根据报文头的标签9103查询得到下一跳和出接口,弹出9103标签,转发给P网元;

5、P网元根据报文头的标签9105查询得到下一跳和出接口,弹出9105标签,转发给Z网元,此时转发出去的报文不再携带SR的标签。

隧道环回功能用于网络运维,通过环回判断定界故障点,传统的多协议标记交换流量工程(Multiprotocol Label Switching Traffic Engineering,MPLS-TE)隧道支持环回功能。

如图2所示,当隧道流量不通时,现有技术一的定界流程如下:

1、在D网元设置MPLS-TE隧道环回,如果在A网元接收到本网元发出去的业务报文,证明故障点在E网元;如果没有接收到,进入下一步;

2、在C网元设置MPLS-TE隧道环回,如果在A网元接收到本网元发出去的业务报文,证明故障点在D网元;如果没有接收到,进入下一步;

3、在B网元设置MPLS-TE隧道环回,如果在A网元接收到本网元发出去的业务报文,证明故障点在C网元;如果没有接收到,说明故障在A网元。

经过上述步骤环回,实现了MPLS-TE隧道故障定界。

现有技术一对于SR-TE隧道而言,由于Adj-SID基于链路分配,任何经过该链路的SR-TE隧道都使用相同Adj-SID。如果基于Adj-SID设置环回,则经过该链路的所有SR-TE隧道都被环回,影响其它正常的SR-TE隧道的业务。

如图3所示,当隧道流量不通时,现有技术二的定界流程如下:

1、A网元设置环回Trace报文TTL=1根据标签100(实际上报文并没有封装该标签,因为100标签是A网元分配的)查询到下一跳和出接口,发给B网元,B网元发现报文的TTL为1,上送控制平面,控制平面应答traceroute,发送网际报文控制协议(internet control message protocol,ICMP)TTL报文,宿节点为A网元,根据A网元的IP节点查询公网IP路由得到下一跳和出接口(B→A的链路),转发给A网元;A网元接收到ICMP TTL报文,了解到A→B这一段SR-TE路径是畅通的,记录路径可达信息;

2、A网元设置Trace报文TTL=2,封装标签101,报文经过B网元,使用标签101查询下一跳和出接口,弹掉标签101,发送给C网元,C网元发现报文的TTL为1,上送控制平面,控制平面应答trace,通过公网IP查询路由发给A网元;

3、A网元设置Trace报文TTL=3,封装标签101-102,经过B网元-C网元到达D网元,处理流程同上;

4、A网元设置Trace报文TTL=4,封装标签101-102-103,经过B网元-C网元-D网元到达E网元,处理流程同上;

5、中间某网元(B/C/D/E)存在故障,则不会给A网元返回trace应答,A网元根据B/C/D/E的应答结果计算出SR-TEtrace路径,根据结果确定故障网元。

现有技术二回程查询公网IP路由转发,无法检测回程路径。



技术实现要素:

本申请实施例提供了一种隧道环回方法及其相关设备,用于在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

本申请实施例的第一方面提供一种隧道环回的方法,具体包括:第一转发器接收控制器下发的约束路径,其中,该约束路径包括源节点、宿节点和约束节点,所述源节点和所述宿节点为同一节点,所述源节点到所述约束节点的路径为第一路径,所述约束节点到所述宿节点的路径为第二路径,所述第一路径与所述第二路径经过的转发器顺序相反;然后根据所述约束路径更新转发路径的标签栈,得到目的标签栈;并根据所述目的标签栈将目标报文在所述约束路径中进行转发;再判断第一转发器是否接收到所述目标报文,所述第一转发器与所述与所述源节点相对应;如果接收到所述目标报文,那么则确定所述目标报文实现隧道环回。本实施例中的约束路径包括源节点、宿节点和约束节点,且源节点和宿节点为同一节点,本实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述判断第一转发器是否接收到所述目标报文包括:判断接收到的报文与所述目标报文是否相同;如果相同,那么则确定所述第一转发器接收到所述目标报文;如果不相同,那么则确定所述第一转发器未接收到所述目标报文。本实施例具体说明了如何判断第一转发器是否接收到目标报文的一种方式,增加了方案实施的可行性。

在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述判断第一转发器是否接收到所述目标报文包括:将接收到的报文进行镜像处理,得到镜像报文;然后将所述镜像报文发送至报文分析器,使得所述报文分析器判断所述镜像报文与所述目标报文是否相同。本实施例具体说明了如何判断第一转发器是否接收到目标报文的另一种方式,增加了本方案的丰富性。

在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,所述接收控制器下发的约束路径之前,所述方法还包括:接收管理平台下发的环回配置指令;然后根据所述环回配置指令生成算路请求;再将所述算路请求发送至所述控制器,使得所述控制器根据所述算路请求生成所述约束路径。本实施例增加了第一转发器接收控制器下发的约束路径之前的方法,增加了方案的完整性。

在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述根据所述目的标签栈将目标报文在所述约束路径中进行转发包括:通过转发引擎根据所述标签栈中的标签查询预置的入标映射ILM表查询下一跳和出接口;然后根据所述下一跳和所述出接口将所述目标报文发送至下一个转发器,实现所述目标报文在所述约束路径中的转发。本实施例具体说明了如何根据所述目的标签栈将目标报文在所述约束路径中进行转发,增加实施例的可实现性。

本申请实施例的第二方面提供一种隧道环回的方法,具体包括:接收算路请求;然后根据所述算路请求生成约束路径,所述约束路径包括源节点、宿节点和约束节点,所述源节点和所述宿节点为同一节点,所述源节点到所述约束节点的路径为第一路径,所述约束节点到所述宿节点的路径为第二路径,所述第一路径与所述第二路径经过的转发器顺序相反;最后将所述约束路径发送至第一转发器,以使得所述第一转发器根据所述约束路径进行隧道环回,所述第一转发器与所述源节点相对应。本实施例中的约束路径包括源节点、宿节点和约束节点,且源节点和宿节点为同一节点,本实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,所述接收算路请求包括:接收管理平台下发的所述算路请求。本实施例具体说明了接收谁的算路请求,增加了方案的可实现性。

在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述接收算路请求包括:接收所述第一转发器发送的所述算路请求。本实施例具体说明了接收谁的算路请求,增加了方案的可实现性。

本申请实施例的第三方面提供一种转发器,所述转发器为第一转发器,具体包括:

第一接收单元,用于接收控制器下发的约束路径,所述约束路径包括源节点、宿节点和约束节点,所述源节点和所述宿节点为同一节点,所述源节点到所述约束节点的路径为第一路径,所述约束节点到所述宿节点的路径为第二路径,所述第一路径与所述第二路径经过的转发器顺序相反;

更新单元,用于根据所述约束路径更新转发路径的标签栈,得到目的标签栈;

转发单元,用于根据所述目的标签栈将目标报文在所述约束路径中进行转发;

判断单元,用于判断第一转发器是否接收到所述目标报文,所述第一转发器与所述与所述源节点相对应;

确定单元,用于当接收到所述目标报文时,确定所述目标报文实现隧道环回。

本实施例中的约束路径包括源节点、宿节点和约束节点,且源节点和宿节点为同一节点,本实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

在一种可能的设计中,在本申请实施例第三方面的第一种实现方式中,所述判断单元包括:

判断子单元,用于判断接收到的报文与所述目标报文是否相同;

第一确定子单元,用于当接收到的报文与所述目标报文相同时,确定所述第一转发器接收到所述目标报文;

第二确定子单元,用于当接收到的报文与所述目标报文不相同时,确定所述第一转发器未接收到所述目标报文。

本实施例具体说明了如何判断第一转发器是否接收到目标报文的一种方式,增加了方案实施的可行性。

在一种可能的设计中,在本申请实施例第三方面的第二种实现方式中,所述判断单元包括:

镜像子单元,用于将接收到的报文进行镜像处理,得到镜像报文;

第一发送子单元,用于将所述镜像报文发送至报文分析器,使得所述报文分析器判断所述镜像报文与所述目标报文是否相同。

本实施例具体说明了如何判断第一转发器是否接收到目标报文的另一种方式,增加了本方案的丰富性。

在一种可能的设计中,在本申请实施例第三方面的第三种实现方式中,所述转发器还包括:

第二接收单元,用于接收管理平台下发的环回配置指令;

生成单元,用于根据所述环回配置指令生成算路请求;

发送单元,用于将所述算路请求发送至所述控制器,使得所述控制器根据所述算路请求生成所述约束路径。

本实施例增加了第一转发器接收控制器下发的约束路径之前的方法,增加了方案的完整性。

在一种可能的设计中,在本申请实施例第三方面的第四种实现方式中,所述转发单元包括:

查询子单元,用于通过转发引擎根据所述标签栈中的标签查询预置的入标映射ILM表查询下一跳和出接口;

第二发送子单元,用于根据所述下一跳和所述出接口将所述目标报文发送至下一个转发器,实现所述目标报文在所述约束路径中的转发。

本实施例具体说明了如何根据所述目的标签栈将目标报文在所述约束路径中进行转发,增加实施例的可实现性。

本申请实施例的第三方面提供一种控制器,具体包括:

接收单元,用于接收算路请求;

生成单元,用于根据所述算路请求生成约束路径,所述约束路径包括源节点、宿节点和约束节点,所述源节点和所述宿节点为同一节点,所述源节点到所述约束节点的路径为第一路径,所述约束节点到所述宿节点的路径为第二路径,所述第一路径与所述第二路径经过的转发器顺序相反;

发送单元,用于将所述约束路径发送至第一转发器,以使得所述第一转发器根据所述约束路径进行隧道环回,所述第一转发器与所述源节点相对应。

本实施例中的约束路径包括源节点、宿节点和约束节点,且源节点和宿节点为同一节点,本实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

在一种可能的设计中,在本申请实施例第四方面的第一种实现方式中,所述接收单元包括:

第一接收子单元,用于接收管理平台下发的所述算路请求。

在一种可能的设计中,在本申请实施例第四方面的第二种实现方式中,所述接收单元包括:

第二接收子单元,用于接收所述第一转发器发送的所述算路请求。

本实施例具体说明了接收谁的算路请求,增加了方案的可实现性。

本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本实施例具体说明了接收谁的算路请求,增加了方案的可实现性。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中,第一转发器接收控制器下发的约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;根据约束路径更新转发路径的标签栈,得到目的标签栈;然后根据目的标签栈将目标报文在约束路径中进行转发,再判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;若接收到目标报文,则确定目标报文实现隧道环回。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

附图说明

图1为现有技术中转发器的一个原理示意图;

图2为现有技术中隧道环回方法的一个环回示意图;

图3为现有技术中隧道环回方法的另一个环回示意图;

图4为申请实施例中隧道环回方法的一个实施例示意图;

图5为本申请实施例中转发器的一个应用场景示意图;

图6为申请实施例中隧道环回方法的另一个实施例示意图;

图7为本申请实施例中转发器的一个实施例示意图;

图8为本申请实施例中转发器的另一个实施例示意图;

图9为本申请实施例中控制器的一个实施例示意图;

图10为本申请实施例中控制器的另一个实施例示意图;

图11为本申请实施例中转发器的另一个实施例示意图;

图12为本申请实施例中控制器的另一个实施例示意图。

具体实施方式

本申请实施例提供了一种隧道环回方法及其相关设备,用于在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面对本申请涉及的主要网元作介绍:

控制器:AC-WAN,是SDN控制器的一种,用于控制转发器,收集网络拓扑,为SR-TE隧道算路,并将算路结果下发给转发器。

网元(A/B/C/D/E/F/I):转发器,用于负责数据报文的转发,接受控制器的管理和集中控制。

管理平台:用于接受用户的业务配置。

报文分析器:用于分析接收到的报文是否和网络侧端口发出去报文的源IP节点、目的IP节点、协议号、报文的序列号、TCP/UDP源端口号和目的端口号,报文净荷长度等字段是否相同

需要说明的是,本申请实施例中从A网元到E网元建议一条SR-TE隧道,路径A-B-C-D-E,其中A网元为Ingress节点(也称为PE节点),B网元、C网元和D网元为Transit节点(也称为P节点),E网元为Egress节点(也称为PE节点)。

需要说明的是,本申请中的隧道环回方法适用于SR-TE。

请参阅图4,本申请实施例中隧道环回方法的一个实施例包括:

401、管理平台接收用户的环回配置请求。

本实施例中,当用户发现隧道流量不通时,将通过管理平台设置的Transit节点环回,接收并处理用户的环回配置请求,其中,用户的环回配置请求包括:源节点、宿节点、环回节点(约束节点)以及约束路径参数信息。

需要说明的是,环回配置请求根据路径由短到长配置,直至找出故障点为止。

需要说明的是,环回配置请求还可以由管理平台或者控制器根据预置规则生成,例如,当检测到隧道流量不通时,按照约束路径由短到长的规则自动生成环回配置请求。

402、管理平台下发环回配置请求至第一转发器。

本实施例中,当管理平台接收到用户的环回配置请求之后,将会下发该环回配置请求至第一转发器,其中,第一转发器即图中的A网元。

403、第一转发器根据环回配置指令生成算路请求。

本实施例中,第一转发器接收到环回配置指令之后,将根据环回配置指令生成算路请求,以请求控制器根据该算路请求算路,其中,该算路请求携带源节点、宿节点、环回节点(约束节点)以及约束路径参数信息,通过路径计算单元交互协议(path computation element communication protocol,PCEP)上报给控制器。其中,在本申请实施例中,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反。

404、第一转发器向控制器发送算路请求。

本实施例中,第一转发器通过PCEP协议将算路请求上报给控制器。

405、控制器根据算路请求生成约束路径。

本实施例中,控制器根据算路请求中的环回节点信息,计算出一条约束路径(约束路径的源地址和目的相同,本实施例中约束节点为C网元):A-B-C-B-A,Adj-SID标签栈为:100-101-104-105。然后下发新约束路径给第一转发器A网元。

406、控制器下发约束路径至第一转发器。

本实施例中,当控制器生成了新的约束路径之后,会将该约束路径下发至第一转发器。

407、第一转发器根据约束路径更新转发路径的标签栈,得到目的标签栈。

本实施例中,第一转发器接收到约束路径之后,将会根据约束路径更新转发路径的标签栈,得到目的标签栈。

408、第一转发器根据目的标签栈将目标报文在约束路径中进行转发。

本实施例中,当第一转发器得到目的标签栈和约束路径之后,将会根据目的标签栈将目标报文在约束路径中进行转发。

具体应用场景如图5所示,第一转发器更新SR-TE隧道的约束路径,业务报文从第一转发器注入,添加Adj-SID标签栈101-104-105(A网元添加的标签栈不包含A-B的Adj-SID100,是因为100由A负责分配,用于指示A到B的路径,A网元根据标签100找到下一跳和出接口,直接转发报文给B,就不再需要封装Adj-SID 100了),转发引擎根据Adj-SID100查询ILM表得到下一跳和出接口,发送报文给第二转发器(B网元),然后B网元接收到报文,根据Adj-SID 101查询得到下一跳和出接口,发送报文给C网元;C网元接收到报文,根据Adj-SID 104查询得到下一跳和出接口,发送报文给B网元,实现了在C网元环回;B网元接收到报文,根据Adj-SID 105查询得到下一跳和出接口,发送报文给A网元,完成一个隧道环回。

409、第一转发器将接收到的报文进行镜像处理,得到镜像报文。

本实施例中,当第一转发器网络侧接收到报文时,会在网络侧端口通过分光器或端口镜像等对接收到的报文进行镜像处理,得到镜像报文。

410、第一转发器将镜像报文发送至报文分析器。

本实施例中,当第一转发器对接收到的报文进行镜像处理,得到镜像报文之后,将会将得到的镜像报文发送至报文分析器。

411、报文分析器判断镜像报文与目标报文是否相同。

本实施例中,当报文分析器接收到镜像报文之后,将会判断接收到的镜像报文与目标报文是否相同,具体为,报文分析器分析接收到的镜像报文是否和网络侧端口发出去报文(目的报文)的源IP地址、目的IP地址、协议号、报文的序列号、TCP/UDP源端口号和目的端口号,报文净荷长度等字段是否相同,如果相同,则表示A-B-C这一段SR-TE隧道是畅通的,证明A-B-C这一段路径中的网元不存在故障,实现隧道的环回,如果在预置时间(如0.1s)内都没有接收到与目的报文相同的报文,则证明A-B-C这一段路径中的网元存在故障,且故障点为约束节点(B网元或C网元)。

需要说明的是,当隧道环回后,第一转发器没接收到报文,也判断源节点(第一转发器)到环回节点(C网元)之间存在故障。

需要说明的是,本申请实施例也可以在第一转发器侧判断第一转发器是否接收到目标报文,而不用将接收到的报文镜像到报文分析器中判断。

本申请实施例中,第一转发器接收控制器下发的约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;根据约束路径更新转发路径的标签栈,得到目的标签栈;然后根据目的标签栈将目标报文在约束路径中进行转发,再判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;若接收到目标报文,则确定目标报文实现隧道环回。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

请参阅图6,本申请实施例中隧道环回方法的另一个实施例包括:

601、管理平台接收用户的环回配置请求。

本实施例中,当用户发现隧道流量不通时,将通过管理平台设置的Transit节点环回,接收并处理用户的环回配置请求,其中,用户的环回配置请求包括:源节点、宿节点、环回节点(约束节点)以及约束路径参数信息。

需要说明的是,环回配置请求根据路径由短到长配置,直至找出故障点为止。

需要说明的是,环回配置请求还可以由管理平台或者控制器根据预置规则生成,例如,当检测到隧道流量不通时,按照约束路径由短到长的规则自动生成环回配置请求。

602、管理平台下发环回配置请求至控制器。

本申请实施例中,管理平台可以直接下发环回配置请求至控制器,而不需要像图5所对应的实施例那样经过第一转发器的处理再转发至控制器。

603、控制器根据环回配置请求生成约束路径。

本实施例中,控制器根据环回配置请求中的环回节点信息,计算出一条约束路径(约束路径的源地址和目的相同,本实施例中约束节点为C网元):A-B-C-B-A,Adj-SID标签栈为:100-101-104-105。然后下发新约束路径给第一转发器A网元。

604、控制器下发约束路径至第一转发器。

605、第一转发器根据约束路径更新转发路径的标签栈,得到目的标签栈。

606、第一转发器根据目的标签栈将目标报文在约束路径中进行转发。

607、第一转发器将接收到的报文进行镜像处理,得到镜像报文。

608、第一转发器将镜像报文发送至报文分析器。

609、报文分析器判断镜像报文与目标报文是否相同。

本实施例中,步骤604至609与图4所对应实施例中406至411类似,具体此处不做赘述。

需要说明的是,当隧道环回后,第一转发器没接收到报文,也判断源节点到环回节点之间存在故障。

需要说明的是,本申请实施例也可以在第一转发器侧判断第一转发器是否接收到目标报文,而不用将接收到的报文镜像到报文分析器中判断。

本申请实施例中,控制器接收到转发器计算SR-TE隧道环回算路请求,解析出SR-TE隧道的源地址和目的地址(本实施例中源地址和目的地址都是A网元),需要经过的网元(本实施例中的C网元),得到一条约束路径PATH:A-B-C-B-A,该PATH分为两段:

第一段:A-B-C。控制器计算PATH标签栈为:100-101;

第二段:C-B-A。控制器计算PATH标签栈为:104-105;

上述两段PATH拼接成一条完整的PATH标签栈:100-101-104-105,然后将新的PATH下发给SR-TE隧道的Ingress节点A网元。所有承载在该SR-TE隧道的业务报文,从A网元转发出去,经过B网元、到达C网元环回,再度经过B网元抵达A网元,从而实现业务报文的隧道环回。

本申请实施例中,第一转发器接收控制器下发的约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;根据约束路径更新转发路径的标签栈,得到目的标签栈;然后根据目的标签栈将目标报文在约束路径中进行转发,再判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;若接收到目标报文,则确定目标报文实现隧道环回。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

上面从隧道环回方法的角度对本申请实施例进行了描述,下面将从转发器和控制器的角度对本申请实施例进行描述。

请参阅图7,本申请实施例中转发器的一个实施例,其中,该转发器为第一转发器,该转发器包括:

第一接收单元701,用于接收控制器下发的约束路径,其中,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;

更新单元702,用于根据约束路径更新转发路径的标签栈,得到目的标签栈;

转发单元703,用于根据目的标签栈将目标报文在约束路径中进行转发;

判断单元704,用于判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;

确定单元705,用于当接收到目标报文时,确定目标报文实现隧道环回。

本实施例中,第一接收单元701接收控制器下发的约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;更新单元702根据约束路径更新转发路径的标签栈,得到目的标签栈;转发单元703根据目的标签栈将目标报文在约束路径中进行转发;判断单元704判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;当接收到目标报文时,确定单元705确定目标报文实现隧道环回。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

请参阅图8,本申请实施例中转发器的另一个实施例包括:

第二接收单元801,用于接收管理平台下发的环回配置指令;

生成单元802,用于根据环回配置指令生成算路请求;

发送单元803,用于将算路请求发送至控制器,使得控制器根据算路请求生成约束路径;

第一接收单元804,用于接收控制器下发的约束路径,其中,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;

更新单元805,用于根据约束路径更新转发路径的标签栈,得到目的标签栈;

转发单元806,用于根据目的标签栈将目标报文在约束路径中进行转发;

其中,转发单元806包括:

查询子单元8061,用于通过转发引擎根据标签栈中的标签查询预置的入标映射ILM表查询下一跳和出接口;

第二发送子单元8062,用于根据下一跳和出接口将目标报文发送至下一个转发器,实现目标报文在约束路径中的转发;

判断单元807,用于判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;

其中,判断单元807包括:

判断子单元8071,用于判断接收到的报文与目标报文是否相同;

第一确定子单元8072,用于当接收到的报文与目标报文相同时,确定第一转发器接收到目标报文;

第二确定子单元8073,用于当接收到的报文与目标报文不相同时,确定第一转发器未接收到目标报文;

或,

镜像子单元8074,用于将接收到的报文进行镜像处理,得到镜像报文;

第一发送子单元8075,用于将镜像报文发送至报文分析器,使得报文分析器判断镜像报文与目标报文是否相同;

确定单元808,用于当接收到目标报文时,确定目标报文实现隧道环回。

本实施例中,第一接收单元804接收控制器下发的约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;更新单元805根据约束路径更新转发路径的标签栈,得到目的标签栈;转发单元806根据目的标签栈将目标报文在约束路径中进行转发;判断单元807判断第一转发器是否接收到目标报文,第一转发器与与源节点相对应;当接收到目标报文时,确定单元808确定目标报文实现隧道环回。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

请参阅图9,本申请实施例中控制器的一个实施例包括:

接收单元901,用于接收算路请求;

生成单元902,用于根据算路请求生成约束路径,其中,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;

发送单元903,用于将约束路径发送至第一转发器,以使得第一转发器根据约束路径进行隧道环回,第一转发器与源节点相对应。

本实施例中,接收单元901接收算路请求;生成单元902根据算路请求生成约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;发送单元903将约束路径发送至第一转发器,以使得第一转发器根据约束路径进行隧道环回,第一转发器与源节点相对应。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

请参阅图10,本申请实施例中控制器的另一个实施例包括:

接收单元1001,用于接收算路请求;

其中,接收单元1001包括:

第一接收子单元10011,用于接收管理平台下发的算路请求。

或,

第二接收子单元10012,用于接收第一转发器发送的算路请求;

生成单元1002,用于根据算路请求生成约束路径,其中,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;

发送单元1003,用于将约束路径发送至第一转发器,以使得第一转发器根据约束路径进行隧道环回,第一转发器与源节点相对应。

本实施例中,接收单元1001接收算路请求;生成单元1002根据算路请求生成约束路径,约束路径包括源节点、宿节点和约束节点,源节点和宿节点为同一节点,源节点到约束节点的路径为第一路径,约束节点到宿节点的路径为第二路径,第一路径与第二路径经过的转发器顺序相反;发送单元1003将约束路径发送至第一转发器,以使得第一转发器根据约束路径进行隧道环回,第一转发器与源节点相对应。本申请实施例可以在不影响其它正常的SR-TE隧道的业务和可以检测回程路径的前提下,实现SR-TE承载的业务报文的隧道环回。

请参阅图11,本申请实施例中转发器的另一个实施例包括:

图11是本申请实施例提供的一种转发器结构示意图,该转发器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对转发器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在转发器1100上执行存储介质1130中的一系列指令操作。

转发器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由转发器所执行的步骤可以基于该图11所示的转发器结构。

请参阅图12,本申请实施例中控制器的另一个实施例包括:

图12是本申请实施例提供的一种控制器结构示意图,该控制器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对控制器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在控制器1200上执行存储介质1230中的一系列指令操作。

控制器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由控制器所执行的步骤可以基于该图12所示的控制器结构。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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