CN103166848B - 选择多协议标签交换流量工程旁路隧道的方法及节点 - Google Patents

选择多协议标签交换流量工程旁路隧道的方法及节点 Download PDF

Info

Publication number
CN103166848B
CN103166848B CN201310072728.0A CN201310072728A CN103166848B CN 103166848 B CN103166848 B CN 103166848B CN 201310072728 A CN201310072728 A CN 201310072728A CN 103166848 B CN103166848 B CN 103166848B
Authority
CN
China
Prior art keywords
tunnel
bypass
frr
plr
time delay
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.)
Active
Application number
CN201310072728.0A
Other languages
English (en)
Other versions
CN103166848A (zh
Inventor
赵昌峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310072728.0A priority Critical patent/CN103166848B/zh
Publication of CN103166848A publication Critical patent/CN103166848A/zh
Application granted granted Critical
Publication of CN103166848B publication Critical patent/CN103166848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了选择多协议标签交换流量工程旁路隧道的方法及节点。方法包括:PLR接收TE主隧道的头节点发来的Path消息,根据该消息携带的选择Bypass隧道的策略,在已有的FRR备份隧道中选择满足该策略的Bypass隧道,所述策略指示对Bypass隧道的时延、可靠性、带宽CT、需要经过的节点四者之一或任意组合有要求。本发明可以根据时延、可靠性、CT、需要经过的节点之一或者任意组合来选择Bypass隧道。

Description

选择多协议标签交换流量工程旁路隧道的方法及节点
技术领域
本发明涉及多协议标签交换(MPLS,Multi-Protocol Label Switching)技术领域,具体涉及选择MPLS流量工程(TE,Traffic Engineering)旁路隧道的方法及本地修复节点(PLR,Point of Local Repair)、头节点。
背景技术
MPLS是目前应用比较广泛的一种骨干网技术。MPLS在无连接的因特网协议(IP,Internet Protocol)网络上引入面向连接的标签交换概念,将三层路由技术和二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简洁性。
网络拥塞是影响骨干网络性能的主要问题,拥塞的原因可能是网络资源不足,也可能是网络资源负载不均衡导致的局部拥塞。TE可以用来解决负载不均衡导致的拥塞问题。MPLS TE结合了MPLS技术与流量工程,通过建立沿着指定路径的标签交换路径(LSP,Label Switched Path)隧道进行资源预留,使网络流量绕开拥塞节点,达到平衡网络流量的目的。
LSP是一条单向报文转发路径。属于同一个转发等价类(FEC,ForwardingEquivalence Class)的报文在MPLS网络中经过的路径称为LSP。在一条LSP上,沿数据传送的方向,相邻的标签交换路由器(LSR,Label Switching Router)分别称为上游LSR和下游LSR。图1给出了现有的MPLS网络中的LSP的示例图,如图1所示,LSR B为LSR A的下游LSR,LSR A为LSR B的上游LSR。
MPLS TE是一种可扩展性好、简单的流量工程解决方案,受到了服务提供商的青睐。通过MPLS TE技术,服务提供商能够在已有的MPLS骨干网上简单地部署流量工程,充分利用现有的网络资源提供多样化的服务,同时可以优化网络资源,并进行科学的网络管理。MPLS TE中主要涉及如下概念:
a、基于约束路由的LSP(CRLSP,Constraint-based Routed Label SwitchedPaths)
CRLSP是基于一定约束条件建立的LSP。与普通LSP不同,CRLSP的建立不仅依赖路由信息,还需要满足其他一些条件,比如带宽需求、显式路径等。
b、MPLS TE隧道
在部署CRLSP备份、快速重路由或需要将流量通过多条路径传输时,需要为同一种流量建立多条CRLSP,这样的一组CRLSP称为MPLS TE隧道。
c、MPLS TE隧道的建立机制
资源预留协议(RSVP,Resource Reservation Protocol)-TE是RSVP扩展而来,图2给出了现有的MPLS网络中的RSVP-TE工作机制示例图,如图2所示,通过让路径(Path)消息携带标签请求,预留(Resv)消息返回标签的方式来完成隧道的建立和标签的分发。
d、MPLS TE数据库
除了网络的拓扑信息外,MPLS TE还需要了解每条链路的TE相关属性,这可以通过对现有的使用链路状态算法的内部网关协议(IGP,InteriorGateway Protocol),如:开放式最短路径优先(OSPF,Open Shortest Path First)、中间系统到中间系统的域内路由信息交换协议(IS-IS,IntermediateSystem-to-Intermediate System intra-domain routing information exchangeprotocol)进行扩展来实现。
扩展后的OSPF和IS-IS协议在链路状态信息中增加了链路的最大带宽、链路的最大可预留带宽、每个优先级的未被预留带宽、链路属性等TE相关信息。这些信息通过IGP在网络上泛洪。每台设备收集本区域或本级别所有设备上每条链路的TE相关信息,生成流量工程数据库(TEDB,TE DataBase)。
快速重路由(FRR,Fast ReRoute)是MPLS TE中实现网络局部保护的技术。FRR的切换速度可以达到50ms,能够最大程度减少网络故障时数据的丢失。开启隧道的FRR功能后,当主CRLSP上的某条链路或某个节点失效时,流量会被切换到保护链路上。同时隧道的入(Ingress)节点尝试建立新的CRLSP,新的CRLSP建立成功后,流量将切换到新的CRLSP。FRR中主要涉及如下概念:
a、基本概念
主CRLSP:被保护的CRLSP。
旁路(Bypass)CRLSP:旁路隧道,保护主CRLSP的CRLSP。
PLR:Bypass CRLSP的Ingress节点,必须在主CRLSP的路径上,并且不能是主CRLSP的出(Egress)节点。
汇聚点(MP,Merge Point):Bypass CRLSP的Egress节点,必须在主CRLSP的路径上,并且不能是主CRLSP的Ingress节点。
b、FRR保护
图3-1给出了现有的MPLS网络中的FRR保护的链路保护的示例图,图3-2给出了现有的MPLS网络中的FRR保护的节点保护的示例图,如图3-1、3-2所示,根据保护对象的不同,FRR保护分为两类:
第一类:链路保护
如图3-1所示,PLR和MP之间有直接链路连接,主CRLSP经过这条链路。当这条链路失效时,流量可以切换到Bypass CRLSP上。
第二类:节点保护
如图3-2所示,PLR和MP之间通过一台设备连接,主CRLSP经过这台设备。当这台设备失效时,流量可以切换到Bypass CRLSP上。
c、FRR优选原则
当存在多条可用的备份隧道时,PLR只会选择一条备份隧道作为Bypass隧道,这多条备份隧道之间的优选原则如下:
1、备份隧道的带宽充足而且保护带宽的类型要与主隧道的带宽类型一致。
2、节点保护优于链路保护。
在FRR组网中,目前TE隧道能够控制Bypass隧道的参数有:节点个数、建立和保持优先级、亲和属性、带宽。具体地,可通过Path消息中的FAST_REROUTE对象来控制。
图4给出了现有的MPLS网络中的Path消息中的快速重路由(FAST_REROUTE)对象的结构示意图,如图4所示,Setup Prio、Hold Prio这两个字段分别表示Bypass隧道的建立优先级和保持优先级,Bandwidth字段表示Bypass隧道的带宽保证,Exclude-any、Include-any、Include-all这三个字段一起表示Bypass隧道的亲和属性,Hop-limit字段表示Bypass隧道中最多的节点个数(除PLR、MP)。
如上所述,在当前技术背景下,TE主隧道只能够机械地控制Bypass隧道的带宽、优先级、亲和属性、节点个数这些基本的属性,因而存在如下缺点:
主隧道无法创建或优选时延更低的Bypass隧道;
主隧道无法创建或优选更加可靠的Bypass隧道;
主隧道无法创建或优选指定路径的Bypass隧道;
主隧道无法创建或优选带宽服务类型(CT,Class Type)为指定类型的Bypass隧道。
发明内容
本发明提供选择MPLS TE Bypass隧道的方法及PLR、头节点,以实现主隧道可以根据时延、可靠性、CT、需要经过的节点之一或者任意组合来选择Bypass隧道。
本发明的技术方案是这样实现的:
一种选择多协议标签交换MPLS流量工程TE旁路Bypass隧道的方法,该方法包括:
本地修复节点PLR接收TE主隧道的头节点发来的路径Path消息,根据该消息携带的选择Bypass隧道的策略,在已有的快速重路由FRR备份隧道中选择满足该策略的Bypass隧道,或者创建满足该策略的Bypass隧道,所述策略指示对Bypass隧道的时延、可靠性、带宽服务类型CT、需要经过的节点四者之一或任意组合有要求。
当所述选择Bypass隧道的策略指示对Bypass隧道的时延有要求时,
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的时延,当检测次数达到预设次数时,对检测到的该条隧道的时延求平均值,将该平均值作为该条隧道的最终时延;PLR根据每条隧道的最终时延,选择满足所述策略的隧道作为Bypass隧道,
所述对Bypass隧道的时延有要求为:
要求具有最小时延的FRR备份隧道作为Bypass隧道,或者要求Bypass隧道的时延小于或等于预设阈值。
当所述选择Bypass隧道的策略指示对Bypass隧道的可靠性有要求时,
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的连通性,当检测次数达到预设次数时,计算该条隧道的连通次数;PLR根据每条隧道的连通次数,确定各隧道的可靠性,选择满足所述策略的隧道作为Bypass隧道,
其中,隧道的连通次数越高表示隧道的可靠性越高。
当所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求时,
所述Path消息携带Bypass隧道需要经过的各节点的IP地址;
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
步骤A1、PLR从Path消息中顺序读取Bypass隧道需要经过的一个FRR域的第一个节点的IP地址,在本地记录的已创建的各FRR备份隧道的路径信息中查找该节点的IP地址,判断是否查找到,若是,执行步骤B1;否则,执行步骤C1;
步骤B1、PLR确定自身属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,若该路径片段位于本地记录的已创建的一条FRR备份隧道上,则将该隧道作为Bypass隧道,继续向下游传送该Path消息;否则,根据流量工程数据库TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,并将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤C1、PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个节点的路径,若计算出,则确定本PLR属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,并将该隧道作为Bypass隧道,继续向下游传送该Path消息;若未计算出,则确定本PLR不属于当前FRR域,返回步骤A1。
所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求的同时,进一步包括:所述选择Bypass隧道的策略指示对Bypass隧道的时延和/或可靠性有要求,
步骤B1所述若该路径片段位于本地记录的已创建的一条FRR备份隧道上之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,不将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤B1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息;
步骤C1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息。
一种MPLS TE隧道的PLR,包括:
Bypass隧道选择模块:接收TE主隧道的头节点发来的Path消息,根据该消息携带的选择Bypass隧道的策略,在已有的FRR备份隧道中选择满足该策略的Bypass隧道,所述策略指示对Bypass隧道的时延、可靠性、带宽服务类型CT、需要经过的节点四者之一或任意组合有要求。
当所述选择Bypass隧道的策略指示对Bypass隧道的时延有要求时,
所述Bypass隧道选择模块进一步用于,针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的时延,当检测次数达到预设次数时,对检测到的该条条隧道的时延求平均值,将该平均值作为该条隧道的最终时延;PLR根据每条隧道的最终时延,选择满足所述策略的隧道作为Bypass隧道,
所述对Bypass隧道的时延有要求为:
要求具有最小时延的FRR备份隧道作为Bypass隧道,或者要求Bypass隧道的时延小于或等于预设阈值。
当所述选择Bypass隧道的策略指示对Bypass隧道的连通性有要求时,
所述Bypass隧道选择模块进一步用于,针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的连通性,当检测次数达到预设次数时,计算该条隧道的连通次数;PLR根据每条隧道的连通次数,确定各隧道的可靠性,选择满足所述策略的隧道作为Bypass隧道,
其中,隧道的连通次数越高表示隧道的可靠性越高。
当所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求时,
所述Bypass隧道选择模块进一步用于,发现接收到的Path消息携带Bypass隧道需要经过的各节点的IP地址,则执行如下步骤:
步骤A1、PLR从Path消息中顺序读取Bypass隧道需要经过的一个FRR域的第一个节点的IP地址,在本地记录的已创建的各FRR备份隧道的路径信息中查找该节点的IP地址,判断是否查找到,若是,执行步骤B1;否则,执行步骤C1;
步骤B1、PLR确定自身属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,若该路径片段位于本地记录的已创建的一条FRR备份隧道上,则将该隧道作为Bypass隧道,继续向下游传送该Path消息;否则,根据TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤C1、PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个节点的路径,若计算出,则确定本PLR属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该隧道作为Bypass隧道,继续向下游传送该Path消息;若未计算出,则确定本PLR不属于当前FRR域,返回步骤A1。
当所述选择Bypass隧道的策略指示对Bypass隧道的时延和/或可靠性有要求时,
所述Bypass隧道选择模块进一步用于,步骤B1所述若该路径片段位于本地记录的已创建的一条FRR备份隧道上之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,不将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤B1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息;
步骤C1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息。
一种MPLS TE主隧道的头节点,包括:
Bypass隧道选择策略配置模块:确定选择Bypass隧道的策略,该策略指示对Bypass隧道的时延、可靠性、CT、需要经过的节点四者之一或任意组合有要求,则在Path消息中携带该策略,将该Path消息发送出去,以便:PLR根据该Path消息携带的选择Bypass隧道的策略,在已有的FRR备份隧道中选择满足该策略的Bypass隧道,或者创建满足该策略的Bypass隧道。
与现有技术相比,本发明可以根据时延、可靠性、CT、需要经过的节点之一或者任意组合来选择Bypass隧道。
附图说明
图1为现有的MPLS网络中的LSP的示例图;
图2为现有的MPLS网络中的RSVP-TE工作机制示例图;
图3-1为现有的MPLS网络中的FRR保护的链路保护的示例图;
图3-2为现有的MPLS网络中的FRR保护的节点保护的示例图;
图4为现有的MPLS网络中的Path消息中的FAST_REROUTE对象的结构示意图;
图5为本发明实施例一提供的选择MPLS TE Bypass隧道的方法流程图;
图6为本发明实施例提供的Path消息中新增的FACILITY_BACKUP_CONTROL对象的结构示例图;
图7为图6所示的FACILITY_BACKUP_CONTROL对象中的Subobjects的结构示意图;
图8为本发明实施例二提供的当主隧道的头节点对Bypass隧道的时延、可靠性和CT有要求时,选择Bypass隧道的方法流程图;
图9为本发明实施例中计算FRR备份隧道的时延和连通次数的示例图;
图10为本发明实施例中的MPLS ECHO报文的格式示意图;
图11为本发明实施例三提供的当主隧道的头节点对Bypass隧道经过的节点有要求时,创建或选择Bypass隧道的方法流程图;
图12为本发明实施例四提供的当主隧道的头节点对Bypass隧道的时延、需要经过的节点都有要求时,创建或选择Bypass隧道的方法流程图;
图13为本发明应用示例一的MPLS TE组网图;
图14为本发明应用示例一中的Path消息的FACILITY_BACKUP_CONTROL对象的结构示例图;
图15为本发明应用示例二的MPLS TE组网图;
图16为本发明应用示例二的Path消息的FACILITY_BACKUP_CONTROL对象中的Subobjects字段的结构示例图;
图17为本发明实施例提供的MPLS TE隧道中的PLR的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图5为本发明实施例一提供的选择MPLS TE Bypass隧道的方法流程图,如图5所示,其具体步骤如下:
步骤501:TE主隧道的头节点确定创建或选择Bypass隧道的策略,该策略指示对Bypass隧道的时延、可靠性、CT、需要经过的节点四者之一或任意组合有要求,则在Path消息中增加灵活备份控制(FACILITY_BACKUP_CONTROL)对象,该对象包含创建或优选Bypass隧道的策略,具体包括:时延要求、可靠性要求、CT要求、需要经过的节点要求之一或任意组合,将该Path消息发送出去。
图6为本发明实施例提供的Path消息中新增的FACILITY_BACKUP_CONTROL对象的结构示例图,如图6所示,各字段及其含义如下:
1)Class-Num:对象类型号。
由于FACILITY_BACKUP_CONTROL对象是新创建的对象,因此,其Class-Num的值要与已有对象的Class-Num值不同,本发明实施例中,Class-Num值可为206。若中间节点收到的Path消息中包含无法识别的对象且该对象值的二进制形式符合11bbbbbb格式,则中间节点需要将该对象原封不动地向下游传送。这样即使PLR无法识别该对象,也不会对TE主隧道造成任何影响。
2)C-Type:C类型。
由于FACILITY_BACKUP_CONTROL对象是新创建的对象,目前只有一种类型,因此,本发明实施例中,C-Type的值可为1。
3)Flags:FRR备份隧道的创建方式标志。
当前存在的创建FRR备份隧道的方式有两种:一对一备份(One-to-OneBackup)和Facility Backup,目前大多数厂商支持且较为流行的方式为灵活备份(Facility Backup)。Flags值为1表示TE主隧道期望的FRR备份隧道的方式为One-to-One Backup;Flags值为2表示TE主隧道期望的FRR备份隧道的方式为Facility Backup;Flags值为0则表示PLR将依据自己的策略创建FRR备份隧道。
4)TOS:服务类型(Type of Service)
该字段包括3比特(bit)的优先级子字段、4bit的TOS子字段和1bit的未用位但必须置0。其中3bit的优先级子字段预留给服务质量(QOS,Qualityof Service),TOS子字段分别代表:时延、最大吞吐量、高可靠性、最小费用。在本发明实施例中仅使用时延、高可靠性这两个bit位。
5)Interval:对于每条FRR备份隧道,PLR每隔Interval时长获取一组该隧道的数据。
本发明实施例中,Interval取值范围可为0~65535,单位为秒。0则表示不获取FRR备份隧道数据。
6)Delay:Bypass隧道的时延要求。
本发明实施例中,Delay的取值范围可为0~65535,单位为毫秒。0则表示主隧道要求具有最小时延的FRR备份隧道作为Bypass隧道;若为其他值,则表示主隧道要求Bypass隧道的时延要小于或等于该值。
7)Number:对于每条FRR备份隧道,PLR获取一组该隧道的数据时的检测次数。
本发明实施例中,Number的取值范围为1~255。为了保证获取到的数据的准确性,对于每组数据,PLR会在获取数据前检测多次,然后对获取到的各数据值求平均值或求和值,将该平均值或该和值作为该数据的最终值。
8)Multiple:对于每条FRR备份隧道,PLR获取Multiple组该隧道的数据。
对于每条FRR备份隧道,PLR获取Multiple组数据,然后进行Bypass隧道的计算和优选,取值范围为0~255。由于网络状况的变化性,若PLR在获取每组备份隧道数据后都进行Bypass隧道的计算和优选,一旦主隧道或者备份隧道较多,则会对PLR造成一定的负担。若Multiple为0,表示主隧道在获取备份隧道的数据后立即进行Bypass隧道的计算和优选;若为其它值,表示主隧道优选Bypass隧道的时间间隔为Multiple×Interval,这里的interval即5)中的interval。
9)CT:服务类型。
本发明实施例中,CT占4个bit位,若第一个bit位被设置,则表示TE主隧道对备份隧道的CT类型有要求,后三个bit位的值则表示主隧道对备份隧道的CT要求为该值。
10)Subobjects:子对象。
表示Bypass隧道需要经过的节点,内容是路径上的节点IP地址。一个FACILITY_BACKUP_CONTROL对象中可能包含多个子对象,子对象的个数可由FACILITY_BACKUP_CONTROL对象的Length字段、一个子对象的标准长度算出。
图7为FACILITY_BACKUP_CONTROL对象中的Subobjects的结构示意图,如图7所示,各字段及其含义如下:
101)L:子对象节点的类型。
子对象节点的类型有两种:严格或者松散。本发明实施例中,若L位被设置,则为松散节点,表示当前处理该对象的节点(即收到包含Subobjects的Path消息的节点,可能是PLR或者备份隧道路径上的节点)与下一跳节点(即该Path消息中的该子对象节点)不一定直连,但路由可达;若L位被清除,则为严格节点,表示当前处理该对象的节点与下一跳节点直连,而且路由可达。
102)Type:Bypass隧道需要经过的节点类型。
Bypass隧道需要经过的节点类型有3种,具体如下:
本发明实施例中,Type值为1表示IPv4节点;Type值为2表示IPv6节点;Type值为3表示自治系统号。其中,若为自治系统号,则表示Bypass隧道需要经过的节点为一个域,即Bypass隧道需要跨域。
103)Length:子对象的长度。
单位为字节。若子对象类型为IPv4则Length值为8字节,若子对象类型为IPv6则为20字节,若子对象类型为自治系统号则为4字节。
104)FRR Field:FRR域。
从PLR到MP,称为一个FRR域。若子对象列表中多个节点的FRR域值相同,则表示Bypass隧道需要经过这些节点。主隧道上可能会有多个FRR域,这取决于整个网络的部署情况。
105)Subobject contents:子对象内容。
其长度可根据节点类型确定。例如:当节点为IPv4节点时,Subobjectcontents值为4个字节的IP地址、1个字节的前缀长度(即子网掩码)、1个字节的预留字段。
步骤502:当PLR收到携带FACILITY_BACKUP_CONTROL对象的Path消息时,根据该对象指示的创建或优选Bypass隧道的策略,来选择或创建满足该策略的Bypass隧道。
FACILITY_BACKUP_CONTROL对象中可能包含时延要求、可靠性要求、CT要求、需要经过的节点要求中的一个或任意组合,以下给出具体实施例:
图8为本发明实施例二提供的当主隧道的头节点对Bypass隧道的时延、可靠性和CT有要求时,选择Bypass隧道的方法流程图,如图8所示,其具体步骤如下:
步骤801:TE主隧道的头节点确定选择Bypass隧道的策略,该策略指示对Bypass隧道的时延、可靠性和CT有要求,则在Path消息中增加FACILITY_BACKUP_CONTROL对象,并根据时延要求填充该对象的TOS字段和Delay字段,根据可靠性要求填充该对象的TOS字段,根据CT要求填充该对象的CT字段,同时填充该对象的Interval、Number、Multiple字段值,将该Path消息发送出去。
步骤802:PLR接收Path消息,从该消息中读取FACILITY_BACKUP_CONTROL对象的TOS、Delay、CT、Interval、Number、Multiple字段的值,得知:主隧道的头节点对Bypass隧道的时延、可靠性和CT要求,则建立MPLS Ping数据库。
若PLR之前已经建立了MPLS Ping数据库,则本步骤无需再建立。MPLSPing数据库初始建立时内容为空。
步骤803:该PLR根据Interval和Multiple字段值,针对以本节点作为PLR的每条FRR备份隧道,每隔Interval时长获取一组该隧道的时延值、连通次数值,直至获取到Multiple组该隧道的时延值、连通次数值为止。其中,在获取每组该隧道的时延值、连通次数值时,连续进行Number次获取,对获取到的Number个时延值求平均,得到本组数据中该隧道的时延值,计算该Number次获取过程中该隧道的总连通次数,将该总连通次数作为本组数据中该隧道的连通次数值。
具体地,对于每条FRR备份隧道,PLR可通过在该条隧道上传送MPLSECHO报文来得知该隧道的时延。
图9给出了本发明实施例中计算FRR备份隧道的时延和连通次数的示例图,在图9中,存在一条FRR备份隧道:B->C->D,则该备份隧道的时延和连通次数可通过如下步骤得到:
步骤01:PLR B向MP D发送MPLS ECHO报文,其中,报文的发送时间戳(TimeStamp Sent)字段值为节点B发出MPLS ECHO报文的时刻。
图10给出了MPLS ECHO报文的格式示意图,其中,TimeStamp Sent字段由发送端填写,即发送端发送MPLS ECHO报文的时刻;接收时间戳(TimeStamp Received)字段由接收端填写,即接收端接收到该MPLS ECHO报文的时刻,这样,发送端接收到接收端返回的MPLS ECHO报文后,就可得到FRR备份隧道的时延值=TimeStamp Received-TimeStamp Sent。
步骤02:节点D接收到MPLS ECHO报文,将报文的接收时刻填充到该报文的TimeStamp Received字段,将该报文返回给节点B。
步骤03:节点B接收该MPLS ECHO报文,读取报文的TimeStamp Sent和TimeStamp Received字段值,得到FRR备份隧道的时延值=TimeStampReceived-TimeStamp Sent。
对于每条FRR备份隧道,PLR可通过在该条隧道上发出MPLS Request报文、并通过是否接收到MP返回的MPLS Reply报文来确定该隧道的连通性。
步骤804:针对以本节点作为PLR的每条FRR备份隧道,PLR对该隧道的Multiple个时延值求平均,得到该隧道的最终时延值,对该隧道的Multiple个连通次数值求和,得到该隧道的最终连通次数值,将各条隧道的隧道标识、时延值、连通次数值写入MPLS Ping数据库。
步骤805:PLR根据计算得到的各隧道的最终时延值和连通次数值,以及FACILITY_BACKUP_CONTROL对象指示的时延、可靠性要求,判断是否有隧道满足该要求,若是,执行步骤806;否则,执行步骤807。
隧道的可靠性由隧道的连通次数值来衡量。一条隧道的连通次数值越高,表明该隧道的可靠性越高。
步骤806:PLR将满足要求的隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束。
步骤807:PLR保持当前状态不变,继续向下游传送该Path消息。
对于本步骤807,若PLR自身已经绑定了一条Bypass隧道,则仍然保持该Bypass隧道不变;若PLR未绑定Bypass隧道,也仍然保持该状态不变。
图11为本发明实施例三提供的当主隧道的头节点对Bypass隧道经过的节点有要求时,创建或选择Bypass隧道的方法流程图,如图11所示,其具体步骤如下:
步骤1101:TE主隧道的头节点确定创建或选择Bypass隧道的策略,该策略指示了Bypass隧道需要经过的节点,则在Path消息中增加FACILITY_BACKUP_CONTROL对象,并将Bypass隧道需要经过的各节点的类型L、类型Type、FRR域标识、IP地址等填充到该对象的Subobjects字段,将该Path消息发送出去。
例如:如果一个节点具备流量统计功能,且TE主隧道期望Bypass隧道经过该节点,从而能够进行流量统计等相关操作,这样就会将该节点作为Bypass隧道需要经过的节点。
步骤1102:PLR接收该Path消息,发现该消息中的FACILITY_BACKUP_CONTROL对象的Subobjects字段不为空,则建立LSP数据库(LSPDB)。
若PLR之前已经建立了LSPDB,则本步骤无需再建立。LSPDB数据库初始建立时内容为空。
LSPDB记录了每条备份隧道的路径信息,例如Tunnel1:R1->R2->R3。通过RSVP-TE报文中的record对象(该对象会记录报文沿途经过的节点IP地址),LSPDB能够知道TE隧道经过的节点的IP地址,从而知道隧道的具体路径。
步骤1103:该PLR从Path消息的Subobjects字段顺序读取一个FRR域的第一个子对象节点的IP地址,在本地LSPDB中查找当前FRR域的第一个子对象节点的IP地址,判断是否查找到,若是,执行步骤1104;否则,执行步骤1109。
步骤1104:该PLR确定自身属于当前FRR域,将当前FRR域的所有子对象节点信息从Path消息的Subobjects字段剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,在本地LSPDB中查找是否存在经过该路径片段的FRR备份隧道,若是,执行步骤1105;否则,执行步骤1106。
例如:设PLR从Path消息的Subobjects字段读取的是FRR域a的第一个子对象节点的IP地址,且发现该子对象节点位于本地LSPDB中的一条FRR备份隧道上,则可确定本PLR属于FRR域a。
PLR的本地LSPDB中记录的每条备份隧道的路径上的节点都属于同一FRR域,该FRR域即PLR所在FRR域,因此若一个子对象节点的IP地址在该LSPDB中,则说明PLR与该子对象节点位于同一FRR域。
步骤1105:该PLR将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束。
步骤1106:该PLR根据TEDB中记录的MPLS网络信息,计算一条通过该路径片段的路径,判断是否计算成功,若是,执行步骤1107;否则,执行步骤1108。
TEDB保存了整个MPLS网络中的节点、链路带宽、链路权值、着色等信息。当TE主隧道或者备份隧道需要满足某些条件(如带宽)来创建时,则PLR会依据TEDB计算符合条件的TE隧道,所以在本发明中,不会对TEDB进行修改,仅仅只是利用该数据库中的信息计算路径。
步骤1107:该PLR创建通过该路径的FRR备份隧道,将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束。
本步骤中,PLR在新建FRR备份隧道时,需要根据FACILITY_BACKUP_CONTROL对象中的Flags、CT字段值等来创建。
PLR需要将新建的FRR备份隧道的路径信息写入LSPDB。
步骤1108:该PLR继续向下游传送该Path消息,本流程结束。
步骤1109:该PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个子对象节点的路径,判断是否计算成功,若是,执行步骤1110;否则,执行步骤1113。
步骤1110:该PLR确定自身属于当前FRR域,将当前FRR域的所有子对象节点信息从Subobjects字段剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,根据TEDB中记录的MPLS网络信息,计算一条通过该路径片段的路径,判断是否计算成功,若是,执行步骤1111;否则,执行步骤1112。
步骤1111:该PLR创建通过该路径的FRR备份隧道,将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束。
PLR需要将新建的FRR备份隧道的路径信息写入LSPDB。
步骤1112:该PLR继续向下游传送该Path消息,本流程结束。
步骤1113:该PLR确定自身不属于当前FRR域,转至Subobjects字段的下一个FRR域,返回步骤1103。
对于步骤1113,若当前FRR域已经是Subobjects字段的最后一个FRR域,则直接结束本流程即可。
需要说明的是,若Subobjects字段中的所有子对象节点的IP地址都被剥离出来,则PLR会将Subobjects字段剥离出来。若Path消息中的FACILITY_BACKUP_CONTROL对象的所有字段都已被处理完毕,如:TE隧道头节点只对Bypass隧道需要经过的节点有要求,且Subobjects字段中的所有子对象节点都已被处理完毕,则PLR会将FACILITY_BACKUP_CONTROL对象从Path消息中剥离,此时的Path消息与现有的Path消息相同。
图12为本发明实施例四提供的当主隧道的头节点对Bypass隧道的时延、需要经过的节点都有要求时,创建或选择Bypass隧道的方法流程图,如图12所示,其具体步骤如下:
步骤1201:TE主隧道的头节点确定创建或选择Bypass隧道的策略,该策略指示了对Bypass隧道的时延、需要经过的节点有要求,则根据时延要求填充该对象的TOS字段和Delay字段,同时填充该对象的Interval、Number、Multiple字段值,将Bypass隧道需要经过的各节点的类型L、类型Type、FRR域标识、IP地址等填充到该对象的Subobjects字段,将该Path消息发送出去。
步骤1202:PLR接收Path消息,从该消息中读取FACILITY_BACKUP_CONTROL对象的TOS、Delay、Interval、Number、Multiple字段的值,得到:对Bypass隧道的时延要求,建立MPLS Ping数据库,发现FACILITY_BACKUP_CONTROL对象的Subobject字段内容不为空,则建立LSPDB。
若PLR已建立MPLS Ping数据库,则无需再建立;同样,若已建立LSPDB,也无需再建立。MPLS Ping数据库和LSPDB数据库初始建立时,内容都为空。
步骤1203:该PLR从Path消息的Subobjects字段顺序读取一个FRR域的第一个子对象节点的IP地址,在本地LSPDB中查找当前FRR域的第一个子对象节点的IP地址,判断是否查找到,若是,执行步骤1204;否则,执行步骤1209。
步骤1204:该PLR确定自身属于当前FRR域,将当前FRR域的所有子对象节点信息从Path消息的Subobjects字段剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,在本地LSPDB中查找是否存在经过该路径片段的FRR备份隧道,若是,执行步骤1205;否则,执行步骤1206。
步骤1205:该PLR根据Interval、Number和Multiple字段值,检测该FRR备份隧道的时延值,若该时延值满足Path消息的FACILITY_BACKUP_CONTROL对象指示的时延要求,则将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束;否则,继续向下游传送该Path消息,本流程结束。
步骤1206:该PLR根据TEDB中记录的MPLS网络信息,计算一条通过该路径片段的路径,判断是否计算成功,若是,执行步骤1207;否则,执行步骤1208。
步骤1207:该PLR创建通过该路径的FRR备份隧道,根据Interval、Number和Multiple字段值,检测该FRR备份隧道的时延值,若该时延值满足Path消息的FACILITY_BACKUP_CONTROL对象指示的时延要求,则将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束;否则,删除该FRR备份隧道,继续向下游传送该Path消息,本流程结束。
若新建的FRR备份隧道被保留,即被作为Bypass隧道,则PLR需要将该隧道的路径信息写入LSPDB。
步骤1208:该PLR继续向下游传送该Path消息,本流程结束。
步骤1209:该PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个子对象节点的路径,判断是否计算成功,若是,执行步骤1210;否则,执行步骤1213。
步骤1210:该PLR确定自身属于当前FRR域,将当前FRR域的所有子对象节点信息从Subobjects字段剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,根据TEDB中记录的MPLS网络信息,计算一条通过该路径片段的路径,判断是否计算成功,若是,执行步骤1211;否则,执行步骤1212。
步骤1211:该PLR创建通过该路径的FRR备份隧道,根据Interval、Number和Multiple字段值,检测该FRR备份隧道的时延值,若该时延值满足Path消息的FACILITY_BACKUP_CONTROL对象指示的时延要求,则将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息,本流程结束;否则,删除该FRR备份隧道,继续向下游传送该Path消息,本流程结束。
若新建的FRR备份隧道被保留,即被作为Bypass隧道,则PLR需要将该隧道的路径信息写入LSPDB。
步骤1212:该PLR继续向下游传送该Path消息,本流程结束。
步骤1213:该PLR转至Subobjects字段的下一个FRR域,返回步骤1203。
对于步骤1213,若当前FRR域已经是Subobjects字段的最后一个FRR域,则直接结束本流程即可。
以下给出本发明应用示例一:
如图13所示,其中TE主隧道为Tunnel1,路径为H->A->B->C。一条FRR备份隧道为Tunnel2,路径为A->E->C;另外一条FRR备份隧道为Tunnel3,路径为A->D->C。当前TE主隧道Tunnel1的Bypass隧道为Tunnel2。
若配置主隧道选择Bypass隧道的策略为:Bypass隧道的时延不能超过150ms、高可靠性。这时Tunnel1隧道的头节点H会发出携带FACILITY_BACKUP_CONTROL对象的Path消息,该对象内容如图14所示。各字段解析如下:
TOS:0xa,创建或优选Bypass隧道的策略为时延和高可靠性。
Delay:0x96,Bypass隧道的时延要小于150ms。
Number:PLR在获取每条FRR备份隧道的每组数据时需要检测三次。
Interval:PLR获取每条FRR备份隧道的每相邻两组数据的间隔时间为30s。
Multiple:对于每条FRR备份隧道,PLR需要获取三组数据来得到最终的数据。
PLRA在收到携带FACILITY_BACKUP_CONTROL对象的Path消息后,进行如下处理:
步骤01:在本地创建一个MPLS Ping数据库,该数据库记录每条FRR备份隧道的时延及连通次数,初始值都为0。
步骤02:由于FACILITY_BACKUP_CONTROL对象的Interval字段为30s且Number字段为3,则节点A在等待30s后对Tunnel2、Tunnel3获取第一组数据。在获取数据前会连续MPLS Ping三次,然后将这三次检测到的时延求平均值,连通次数累加。这样,得到的第一组数据(隧道标识,时延,连通次数)为:(Tunnel2,160ms,3)和(Tunnel3,152ms,3)。
步骤03:由于FACILITY_BACKUP_CONTROL对象的Multiple字段为3,则节点A需要获取三组备份隧道数据,即重复步骤02三次,这样,节点A获取到的第二组数据为(Tunnel2,149ms,3)和(Tunnel3,137ms,3),第三组数据为(Tunnel2,157ms,3)和(Tunnel3,144ms,3)。
步骤04:对获取到的三组数据进行计算,得到的最终结果为(Tunnel2,155ms,9)和(Tunnel3,144ms,9),该最终结果将会被写到MPLS Ping数据库中并维护。节点A根据此结果,优选Tunnel3作为主隧道Tunnel1的Bypass隧道。
以下给出本发明应用示例二:
如图15所示,被保护的LSP(Protected LSP)为:R1–>R2–>R3–>R4–>R5–>R10,主隧道存在三条FRR备份隧道,若配置主隧道创建或选择Bypass隧道的策略为:Bypass隧道需要经过R9、R11节点,这样,头节点R1将节点R9、R11的FRR域标识及IP地址放入Path消息的FACILITY_BACKUP_CONTROL对象的Subobjects字段中,将Path消息发送出去。
Subobjects字段如图16所示。
当PLR R2收到Path消息后,进行如下处理:
步骤01:R2从Path消息的FACILITY_BACKUP_CONTROL对象的Subobject字段中读取第一个子对象节点R9的IP地址,然后到本地LSPDB中查找R9节点,发现R9节点与自身在同一FRR域内,则PLR R2将属于该FRR域的所有子对象节点的IP地址从Path消息的Subobjects字段中剥离出来形成显示路径,并继续向下游传送Path消息。
该显示路径中,R9节点为松散节点,与R2节点路由可达,则Tunnel 1的路径将变为R2–>R8–>R9–>R4。由于R9所在FRR域的子对象节点的IP地址被全部剥离,则Path消息中的第一个子对象节点的IP地址变为了R11的IP地址。
步骤02:当PLR R4收到Path消息后,从FACILITY_BACKUP_CONTROL对象的Subobjects字段中读取第一个子对象节点R11的IP地址,然后到本地LSPDB中查找R11节点,未查找到,则再到TEDB中查找R11节点,发现R11节点与自身不在同一FRR域内,则不作进一步处理,继续向下游传送该Path消息。
步骤03:当PLR R5收到Path消息后,从FACILITY_BACKUP_CONTROL对象的Subobjects字段中读取第一个子对象节点R11的IP地址,然后到本地LSPDB中查找R11节点,发现R11节点与自身在同一FRR域内,则将属于该FRR域的所有子对象节点的IP地址从FACILITY_BACKUP_CONTROL对象的Subobjects字段中剥离出来形成显示路径,并继续向下游传送Path消息。
该显示路径中,R11节点为严格节点,与R5节点直连,则Tunnel3的路径将变为R5–>R11–>R10。同时,由于FACILITY_BACKUP_CONTROL对象的Subobjects字段中的子对象节点的IP地址被全部剥离了,Subobjects字段会被从FACILITY_BACKUP_CONTROL对象中剥离。
图17为本发明实施例提供的MPLS TE隧道的PLR,如图17所示,其主要包括:Bypass隧道选择模块171、MPLS Ping数据库172、LSPDB173,其中:
Bypass隧道选择模块171:接收TE主隧道的头节点发来的Path消息,读取该消息携带的选择Bypass隧道的策略,该策略指示对Bypass隧道的时延、可靠性、带宽CT、需要经过的节点四者之一或任意组合有要求。若发现该消息指示对Bypass隧道的时延和/或可靠性有要求,则检测各FRR备份隧道的时延和/或连通次数,将各隧道的标识及时延和/或连通次数写入MPLSPing数据库172,并在各隧道中选择满足该策略指示的时延和/或连通次数要求的隧道;若发现该消息指示对Bypass隧道需要经过的节点有要求,则在LSPDB173中查找满足该要求的隧道,若查找到,将该隧道作为Bypass隧道,否则,根据TEDB建立满足该要求的隧道,若建立成功,将该隧道标识及路径信息写入LSPDB173中,并将该隧道作为Bypass隧道;若发现该策略指示对Bypass隧道的CT有要求,则在建立FRR备份隧道时根据该CT值建立,并将建立的隧道的标识及路径信息写入LSPDB173。
MPLS Ping数据库172:保存各FRR备份隧道的时延和/或连通次数。
LSPDB173:保存各FRR备份隧道的路径信息。
其中,对于Bypass隧道选择模块171,当发现选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求时,具体执行如下步骤:
A1、从Path消息中顺序读取Bypass隧道需要经过的一个FRR域的第一个子对象节点的IP地址,在LSPDB173记录的已创建的各FRR备份隧道的路径信息中查找该节点的IP地址,判断是否查找到,若是,执行步骤B1;否则,执行步骤C1;
B1、确定本PLR属于当前FRR域,将当前FRR域的所有子对象节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,若该路径片段位于LSPDB173记录的已创建的一条FRR备份隧道上,则将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息;否则,根据TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息;
C1、根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个子对象节点的路径,若计算出,则确定本PLR属于当前FRR域,将当前FRR域的所有子对象节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有子对象节点形成一条路径片段,根据TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息;若未计算出,则确定本PLR不属于当前FRR域,返回步骤A1开始处理Path消息中Bypass隧道需要经过的下一个FRR域的第一个子对象节点的IP地址。
当选择Bypass隧道的策略指示同时对Bypass隧道的时延和/或可靠性、需要经过的节点有要求时,Bypass隧道选择模块171进一步用于,
步骤B1所述若该路径片段位于LSPDB173记录的已创建的一条FRR备份隧道上之后、将该FRR备份隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,不将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤B1所述创建通过该路径的FRR备份隧道之后、将该FRR备份隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息;
步骤C1所述创建通过该路径的FRR备份隧道之后、将该FRR备份隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息。
以下给出本发明实施例提供的MPLS TE主隧道的头节点的组成,其主要包括:Bypass隧道选择策略配置模块,用于确定选择Bypass隧道的策略,该策略指示对Bypass隧道的时延、可靠性、CT、需要经过的节点四者之一或任意组合有要求,在Path消息中携带该策略,将该Path消息发送出去。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (11)

1.一种选择多协议标签交换MPLS流量工程TE旁路Bypass隧道的方法,其特征在于,该方法包括:
本地修复节点PLR接收TE主隧道的头节点发来的路径Path消息,根据该消息携带的选择Bypass隧道的策略,在已有的快速重路由FRR备份隧道中选择满足该策略的Bypass隧道,或者创建满足该策略的Bypass隧道,所述策略指示对Bypass隧道的可靠性有要求,或者所述策略指示对Bypass隧道的时延、带宽服务类型CT、需要经过的节点三者之一或者三者的任意组合以及可靠性有要求,其中,隧道的连通次数越高表示隧道的可靠性越高。
2.根据权利要求1所述的方法,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道的时延有要求时,
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的时延,当检测次数达到预设次数时,对检测到的该条隧道的时延求平均值,将该平均值作为该条隧道的最终时延;PLR根据每条隧道的最终时延,选择满足所述策略的隧道作为Bypass隧道,
所述对Bypass隧道的时延有要求为:
要求具有最小时延的FRR备份隧道作为Bypass隧道,或者要求Bypass隧道的时延小于或等于预设阈值。
3.根据权利要求1所述的方法,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道的可靠性有要求时,
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的连通性,当检测次数达到预设次数时,计算该条隧道的连通次数;PLR根据每条隧道的连通次数,确定各隧道的可靠性,选择满足所述策略的隧道作为Bypass隧道。
4.根据权利要求1所述的方法,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求时,
所述Path消息携带Bypass隧道需要经过的各节点的IP地址;
所述PLR在已有的FRR备份隧道中选择满足该策略的Bypass隧道包括:
步骤A1、PLR从Path消息中顺序读取Bypass隧道需要经过的一个FRR域的第一个节点的IP地址,在本地记录的已创建的各FRR备份隧道的路径信息中查找该节点的IP地址,判断是否查找到,若是,执行步骤B1;否则,执行步骤C1;
步骤B1、PLR确定自身属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,若该路径片段位于本地记录的已创建的一条FRR备份隧道上,则将该隧道作为Bypass隧道,继续向下游传送该Path消息;否则,根据流量工程数据库TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,并将该FRR备份隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤C1、PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个节点的路径,若计算出,则确定本PLR属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,并将该隧道作为Bypass隧道,继续向下游传送该Path消息;若未计算出,则确定本PLR不属于当前FRR域,返回步骤A1。
5.根据权利要求4所述的方法,其特征在于,所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求的同时,进一步包括:所述选择Bypass隧道的策略指示对Bypass隧道的时延和/或可靠性有要求,
步骤B1所述若该路径片段位于本地记录的已创建的一条FRR备份隧道上之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,不将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤B1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息;
步骤C1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步包括:
检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息。
6.一种MPLS TE隧道的PLR,其特征在于,包括:
Bypass隧道选择模块:接收TE主隧道的头节点发来的Path消息,根据该消息携带的选择Bypass隧道的策略,在已有的FRR备份隧道中选择满足该策略的Bypass隧道,所述策略指示对Bypass隧道的可靠性有要求,或者所述策略指示对Bypass隧道的时延、带宽服务类型CT、需要经过的节点三者之一或者三者的任意组合以及可靠性有要求,其中,隧道的连通次数越高表示隧道的可靠性越高。
7.根据权利要求6所述的PLR,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道的时延有要求时,
所述Bypass隧道选择模块进一步用于,针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的时延,当检测次数达到预设次数时,对检测到的该条隧道的时延求平均值,将该平均值作为该条隧道的最终时延;PLR根据每条隧道的最终时延,选择满足所述策略的隧道作为Bypass隧道,所述对Bypass隧道的时延有要求为:要求具有最小时延的FRR备份隧道作为Bypass隧道,或者要求Bypass隧道的时延小于或等于预设阈值。
8.根据权利要求6所述的PLR,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道的连通性有要求时,
所述Bypass隧道选择模块进一步用于,针对以本节点作为PLR的任一条FRR备份隧道,PLR按照预设时间间隔检测该条隧道的连通性,当检测次数达到预设次数时,计算该条隧道的连通次数;PLR根据每条隧道的连通次数,确定各隧道的可靠性,选择满足所述策略的隧道作为Bypass隧道。
9.根据权利要求6所述的PLR,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道需要经过的节点有要求时,
所述Bypass隧道选择模块进一步用于,发现接收到的Path消息携带Bypass隧道需要经过的各节点的IP地址,则执行如下步骤:
步骤A1、PLR从Path消息中顺序读取Bypass隧道需要经过的一个FRR域的第一个节点的IP地址,在本地记录的已创建的各FRR备份隧道的路径信息中查找该节点的IP地址,判断是否查找到,若是,执行步骤B1;否则,执行步骤C1;
步骤B1、PLR确定自身属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,若该路径片段位于本地记录的已创建的一条FRR备份隧道上,则将该隧道作为Bypass隧道,继续向下游传送该Path消息;否则,根据TEDB中记录的MPLS网络信息,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤C1、PLR根据TEDB中记录的MPLS网络信息,计算一条通过当前FRR域的第一个节点的路径,若计算出,则确定本PLR属于当前FRR域,将当前FRR域的所有节点信息从Path消息中剥离出来,将本PLR与当前FRR域的所有节点形成一条路径片段,计算出一条通过该路径片段的路径,创建通过该路径的FRR备份隧道,将该隧道作为Bypass隧道,继续向下游传送该Path消息;若未计算出,则确定本PLR不属于当前FRR域,返回步骤A1。
10.根据权利要求9所述的PLR,其特征在于,当所述选择Bypass隧道的策略指示对Bypass隧道的时延和/或可靠性有要求时,
所述Bypass隧道选择模块进一步用于,步骤B1所述若该路径片段位于本地记录的已创建的一条FRR备份隧道上之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,不将该隧道作为Bypass隧道,继续向下游传送该Path消息;
步骤B1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息;
步骤C1所述创建通过该路径的FRR备份隧道之后、将该隧道作为Bypass隧道之前进一步检测该隧道的时延和/或连通性,若该隧道的时延和/或连通性满足所述策略指示的时延和/或可靠性要求,则确定将该隧道作为Bypass隧道;否则,删除该隧道,继续向下游传送该Path消息。
11.一种MPLS TE主隧道的头节点,其特征在于,包括:
Bypass隧道选择策略配置模块:确定选择Bypass隧道的策略,该策略指示对Bypass隧道的可靠性有要求,或者该策略指示对Bypass隧道的时延、CT、需要经过的节点三者之一或者三者的任意组合以及可靠性有要求,则在Path消息中携带该策略,将该Path消息发送出去,以便:PLR根据该Path消息携带的选择Bypass隧道的策略,在已有的FRR备份隧道中选择满足该策略的Bypass隧道,或者创建满足该策略的Bypass隧道,其中,隧道的连通次数越高表示隧道的可靠性越高。
CN201310072728.0A 2013-03-07 2013-03-07 选择多协议标签交换流量工程旁路隧道的方法及节点 Active CN103166848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310072728.0A CN103166848B (zh) 2013-03-07 2013-03-07 选择多协议标签交换流量工程旁路隧道的方法及节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310072728.0A CN103166848B (zh) 2013-03-07 2013-03-07 选择多协议标签交换流量工程旁路隧道的方法及节点

Publications (2)

Publication Number Publication Date
CN103166848A CN103166848A (zh) 2013-06-19
CN103166848B true CN103166848B (zh) 2016-12-28

Family

ID=48589599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310072728.0A Active CN103166848B (zh) 2013-03-07 2013-03-07 选择多协议标签交换流量工程旁路隧道的方法及节点

Country Status (1)

Country Link
CN (1) CN103166848B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702501B (zh) * 2013-12-05 2019-02-15 中兴通讯股份有限公司 一种提高te frr保护可靠性的方法及装置
CN105471728A (zh) * 2014-09-12 2016-04-06 中兴通讯股份有限公司 一种信息传递主隧道的替代隧道的选择方法及装置
CN104301218B (zh) * 2014-10-24 2017-12-08 新华三技术有限公司 一种te隧道的保护方法及装置
CN104618238B (zh) * 2015-02-16 2018-01-12 新华三技术有限公司 一种释放流量工程资源的方法和装置
CN107547241B (zh) * 2017-05-18 2021-07-23 新华三技术有限公司 一种te隧道的故障检测方法和装置
CN107979519B (zh) * 2017-12-14 2019-04-09 中盈优创资讯科技有限公司 Vxlan业务的差分实现方法及vtep、pe
US11088943B2 (en) * 2018-11-29 2021-08-10 Ciena Corporation DiffServ traffic engineering compliant backup paths for fast reroute protection in MPLS
CN110336743B (zh) * 2019-06-27 2021-12-14 烽火通信科技股份有限公司 一种保护隧道的合并方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101014006A (zh) * 2007-02-08 2007-08-08 华为技术有限公司 一种部署流量工程te隧道的方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7230913B1 (en) * 2002-06-11 2007-06-12 Cisco Technology, Inc. MPLS fast reroute without full mesh traffic engineering
CN101022449B (zh) * 2007-03-13 2010-09-08 华为技术有限公司 一种建立旁路lsp的方法及系统及节点设备
CN101159695A (zh) * 2007-11-16 2008-04-09 杭州华三通信技术有限公司 链路选择方法和设备
CN101640632B (zh) * 2008-07-31 2014-03-12 华为技术有限公司 保护隧道带宽的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101014006A (zh) * 2007-02-08 2007-08-08 华为技术有限公司 一种部署流量工程te隧道的方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MPLS流量工程及网络优化算法的研究";孟维嘉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20071015;全文 *

Also Published As

Publication number Publication date
CN103166848A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
CN103166848B (zh) 选择多协议标签交换流量工程旁路隧道的方法及节点
EP2904747B1 (en) Mpls segment-routing
CN101371150B (zh) 针对一个或多个te-lsp的头端节点的故障的动态保护
CN101044728B (zh) Rfc 2574网络边缘处的快速重路由(frr)保护
CN101606341B (zh) 用于在穿过提供商网络的ce-ce路径上高效路由ip流量的技术
CN101099351B (zh) 用于触发对路径计算请求进行打包的方法和装置
EP1859561B1 (en) Algorithm for backup pe selection
CN108337157A (zh) 一种网络中传输报文的方法和节点
EP3364613B1 (en) Method and device for transmitting traffic via specified path
CN103209088B (zh) 环网标签交换路径创建方法及相关设备和通信系统
US10462045B1 (en) Topology independent fast reroute for node and SRLG local protection
CN100372337C (zh) 一种实现跨域约束路由的选路方法
EP2928125B1 (en) Multi-domain route computation method and device, path computation element, and routing network
CN113285876B (zh) 路由方法、路由装置及计算机可读存储介质
WO2005036839A2 (en) Rapid alternate paths for network destinations
CN101536375A (zh) 域间路径计算技术
US7969898B1 (en) Technique for breaking loops in a communications network
CN101640637A (zh) 一种基于流量工程的资源预留协议隧道管理方法及系统
US8064365B2 (en) Relay node
CN101964743A (zh) 多协议标签交换路径aps保护管理方法、设备及系统
CN102123089B (zh) 隧道建立方法及装置
CN103179032A (zh) 一种路由备份方法及装置
CN109150716A (zh) 拓扑变化响应方法、路径计算客户端及路径计算系统
CN112804140B (zh) 传输路径切换方法、装置、网络节点、介质及网络系统
JP6377738B2 (ja) Rsvp−teシグナリングを処理するための方法及びシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230531

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.