CN102136996A - 用于快速重路由绑定的路由信息更新方法、节点及系统 - Google Patents
用于快速重路由绑定的路由信息更新方法、节点及系统 Download PDFInfo
- Publication number
- CN102136996A CN102136996A CN2010102496624A CN201010249662A CN102136996A CN 102136996 A CN102136996 A CN 102136996A CN 2010102496624 A CN2010102496624 A CN 2010102496624A CN 201010249662 A CN201010249662 A CN 201010249662A CN 102136996 A CN102136996 A CN 102136996A
- Authority
- CN
- China
- Prior art keywords
- message
- carries
- node
- resv message
- resv
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种用于快速重路由绑定的路由信息更新方法、节点及系统,涉及通信领域,在携带RRO对象的IP报文总长度大于节点出接口的MTU时,能够实现FRR绑定,有效的保护流量不中断。本发明方法包括:在发送PATH消息和RESV消息之前,若判定携带PATH消息或RESV消息的IP报文总长度大于节点出接口的MTU,则减少上述消息中RRO对象的子对象数量,使携带更新后的上述消息的IP报文总长度小于或等于节点出接口的MTU,并将SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将更新后的上述消息发送出去,使本地修复节点根据更新后的RESV消息中的RRO对象实现快速重路由绑定。
Description
技术领域
本发明涉及通信领域,尤其涉及一种用于快速重路由绑定的路由信息更新方法、节点及系统。
背景技术
随着MPLS-TE(Multi-Protocol Label Switching-Traffic Engineering,多协议标签交换流量工程)在现在网络中的广泛应用,对MPLS-TE转发的要求也越来越高。因此,MPLS-TE转发需要适当的保护,而TE FRR(Traffic Engineering FastReroute,流量工程快速重路由)是一种在转发路径或经过节点故障时能够有效保证用户流量不会丢失的保护方式。
TE FRR通过预先建立一条Bypass Tunnel(旁路隧道),并与Main Tunnel(主路隧道)进行绑定来实现对Main Tunnel的保护。当Main Tunnel经过的路径或节点出现故障时,Main Tunnel可以通过Bypass Tunnel转发流量,达到保证用户流量不丢失的目的。但上述保护方式中,要求Main Tunnel中必须具有记录路由和标签的功能。该功能使得在RSVP(Resource Reservation Protocol,资源预留协议)消息中记录下Main Tunnel经过的真实且具体的路径信息,以及处于被保护中时经过Bypass Tunnel转发的原Main Tunnel上的标签报文的内层标签。其中该路径信息在计算FRR(Fast Reroute,快速重路由)绑定时,用于确定是否有合适的Bypass Tunnel可供与Main Tunnel进行绑定,Main Tunnel获取不到这个标签,便无法在Bypass Tunnel的首节点PLR(Point of Local Repair,本地修复节点)处完成绑定。
RSVP消息中的PATH(路径)消息和RESV(Reservation,预留)消息所携带的RRO(Record Route Object,记录路由对象),具有记录路由和标签的功能。该RRO对象是可变长的,LSP每经过一个节点,就在该RRO对象中加入其经过节点的入接口地址、出接口地址以及LSR-ID(Label Switch Router-Identification,标签交换路由器标识)等路径信息。因此,当LSP经过的节点越多,该RRO对象的长度就越长,当该RRO对象达到一定长度并导致携带PATH消息或RESV消息的IP报文的总长度超过出接口的MTU(Maximum Transfer Unit,最大传输单元)时,需要对该RRO对象进行一定的处理,才能保证携带PATH消息继续向下游发送或RESV消息继续向上游发送。目前,当Path消息中的RRO对象过长时,则将PATH消息中携带的整个RRO对象删除,并将PathErr消息发送给TE隧道的入口节点(Ingress)。TE隧道的入口节点收到PathErr消息后,发送PATH消息时,删除PATH消息中携带的RRO对象。当Egress节点接收到没有携带RRO对象的PATH消息时,会生成不携带RRO对象的RESV消息,并将不携带RRO对象的RESV消息向上游传输。当RESV消息中的RRO对象过长时,则将ResvErr消息发送给TE隧道的出口节点(Egress),TE隧道的出口节点收到ResvErr消息后,发送RESV消息时,删除RESV消息中携带的RRO对象。这样一来,当PLR节点为申请了FRR绑定请求的Main Tunnel查找合适的Bypass Tunnel时,由于该PLR节点找不到RESV消息中的RRO对象,所以该PLR节点不能通过FRR保护MainTunnel,因此当Main Tunnel通过的路径或者节点出现问题时,无法提供有效的保护,从而导致流量中断。
发明内容
本发明的实施例提供一种用于快速重路由绑定的路由信息更新方法、节点及系统,在携带RRO对象的IP报文总长度大于节点出接口的MTU时,能够实现FRR绑定,可以有效的保护流量不中断。
为达到上述目的,本发明的一个实施例提供一种用于快速重路由绑定的路由信息更新方法,包括:
主路隧道中的节点在发送第一路径PATH消息和第一预留RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述节点出接口的最大传输单元MTU;
若所述携带第一PATH消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二PATH消息发送出去;
若所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二RESV消息发送出去。
本发明的一个实施例提供一种转发节点,包括:
判断单元,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU;
第一处理单元,用于在所述判断单元判定所述携带第一PATH消息的IP报文总长度大于所述转发节点出接口的MTU时,对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;
第一发送单元,用于将所述第二PATH消息发送出去;
第二处理单元,用于在所述判断单元判定所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU时,对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;
第二发送单元,用于将所述第二RESV消息发送出去。
本发明的一个实施例提供一种本地修复节点,包括:
接收单元,用于接收RESV消息,所述RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象;
解析单元,用于解析所述接收单元接收到的所述RESV消息,获得所述更新后的RRO对象;
绑定单元,用于当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
本发明的一个实施例提供一种快速重路由绑定系统,包括本地修复节点和位于所述本地修复节点下游,并与所述本地修复节点相邻的转发节点;
所述转发节点,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU;若所述携带所述第一PATH消息的IP报文总长度大于所述转发节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二PATH消息发送出去;若所述携带所述第一RESV消息的IP报文总长度大于所述转发节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二RESV消息发送出去;
所述本地修复节点用于,接收所述转发节点发送的第二RESV消息,所述第二RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象;解析所述第二RESV消息,获得所述更新后的RRO对象;当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
本发明实施例提供技术方案,当PATH消息或RESV消息中的RRO对象超长,导致携带PATH消息或RESV消息的IP报文的总长度大于节点出接口的MTU时,在发送该PATH消息和该RESV消息之前,减少该PATH消息或该RESV消息中RRO对象的子对象数量,使携带更新后的PATH消息或RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,使接收到所述更新后的PATH消息或RESV消息的节点,将路径信息和标签信息添加到所述RRO对象中,与现有技术中直接将超长的RRO对象整体删除相比,本发明实施例在携带RRO对象的IP报文总长度大于节点出接口的MTU时,将所述RRO对象中的一部分子对象删除,因此本地修复节点仍可以根据更新后的RRO对象中的信息,实现FRR的绑定,从而有效的保护流量不中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中一种用于快速重路由绑定的路由信息更新方法流程图;
图2为本发明实施例1中另一种用于快速重路由绑定的路由信息更新方法流程图;
图3为本发明实施例2中一种传输PATH消息的主路隧道组成示意图;
图4为本发明实施例2中一种用于快速重路由绑定的路由信息更新方法流程图;
图5为本发明实施例3中一种传输REVS消息的主路隧道和旁路隧道组成示意图;
图6为本发明实施例3中一种用于快速重路由绑定的路由信息更新方法流程图;
图7为本发明实施例4中一种转发节点的组成框图;
图8为本发明实施例4中另一种转发节点的组成框图;
图9为本发明实施例4中一种本地修复节点的组成框图;
图10为本发明实施例4中另一种本地修复节点的组成框图;
图11为本发明实施例4中一种快速重路由绑定系统的组成框图;
图12为本发明实施例4中另一种快速重路由绑定系统的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明的实施例提供一种用于快速重路由绑定的路由信息更新方法,该方法为主路隧道中的节点侧的方法,如图1所示,该方法包括:
101、主路隧道中的节点在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或第一RESV消息的IP报文总长度是否大于所述节点出接口的MTU。
举例来说,当所述IP报文携带的是PATH消息时,所述IP报文总长度为:PATH消息的总长度加上IP头和三层报文头部等信息的长度之和。又举例来说,当所述IP报文携带的是RESV消息时,所述IP报文总长度为:RESV消息的总长度加上IP头和三层报文头部等信息的长度之和。
102、若所述携带所述第一PATH消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息。
所述对所述第一PATH消息进行更新处理包括:减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,以便接收到所述第二RESV消息的节点,将路径信息和标签信息添加到所述第二PATH消息中携带的RRO对象中。举例来说,所述路径信息可以为PATH消息所经过节点的入接口地址、出接口地址以及LSR-ID等;所述标签信息可以为下游节点为上游节点分配的标签。
举例来说,所述减少所述第一PATH消息中携带的RRO对象的子对象数量,包括:按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,减少所述第一PATH消息中携带的RRO对象的子对象数量;其中,按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,即:哪个子对象先加入到所述第一PATH消息中携带的RRO对象中,哪个子对象先从所述第一PATH消息中携带的RRO对象中删除。其中,对于减少的所述第一PATH消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU为准则。例如,减少所述第一PATH消息中携带的RRO对象的子对象数量可以为1~(N-1)个中的任一数量,即可以保留(N-1)~1个中的任一数量。其中,N为在Main Tunnel上已传输所述PATH消息的节点数。
103、将所述第二PATH消息发送出去。
104、若所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息。
所述对所述第一RESV消息进行更新处理包括:减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,以便接收到所述第二RESV消息的节点,将路径信息和标签信息添加到所述第二RESV消息中携带的RRO对象中。举例来说,所述路径信息可以为RESV消息所经过节点的入接口地址、出接口地址以及LSR-ID等;所述标签信息可以为下游节点为上游节点分配的标签。
举例来说,在减少所述第一RESV消息中携带的RRO对象的子对象数量时,由于所述RESV消息中携带的RRO对象中的子对象信息需要用于FRR绑定,必须保证Bypass Tunnel的尾节点不能删除,才能实现FRR绑定。因此,减少所述第一RESV消息中携带的RRO对象的子对象数量时,可以按照所述子对象加入到所述第一RESV消息中携带的RRO对象的先后顺序,减少所述第一RESV消息中携带的RRO对象的子对象数量,并保留需要绑定旁路隧道的尾节点向上游节点发送的路由信息;其中,按照所述子对象加入道所述第一RESV消息中携带的RRO对象的先后顺序,即哪个子对象先加入到所述第一RESV消息中携带的RRO对象中,哪个子对象先从所述第一RESV消息中携带的RRO对象中删除;其中,对于减少的所述第一RESV消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU为准则。例如,当需要进行路径绑定的Bypass Tunnel的首节点和尾节点之间存在1个Main Tunnel的转发节点时,其减少的子对象数量可以为1~(N-2)个中的任一数量,即可以保留(N-1)~2个中的任一数量;当需要进行路径保护的Main Tunnel的首节点和尾节点之间存在M个(M为大于1的自然数)转发节点时,其减少的子对象数量可以为1~(N-(M+1))个中的任一数量,即可以保留(N-1)~(M+1)中的任一数量。其中,N为在Main Tunnel上已传输所述RESV消息的节点数。
105、将所述第二RESV消息发送出去。
其中,Egress接收到上游发送的PATH消息后,生成对应的RESV消息向上游发送。Egress生成RESV消息时,会检测其接收到的PATH消息中是否携带RRO对象,若其接收到的PATH消息中携带RRO对象,则其在生成RESV消息时也携带RRO对象;若其接收到的PATH消息中没有携带RRO对象,则其在生成RESV消息时也不携带RRO对象。因此,为了本地修复节点在接收到所述下游发送的RESV消息后,可以根据该RESV消息中的RRO对象进行快速重路由的绑定,所以需要主路隧道中的节点在发送PATH消息之前,判断携带PATH消息的IP报文总长度是否大于所述节点出接口的MTU,若是则进行上述101至103中的处理。
本发明的实施例还提供一种用于快速重路由绑定的路由信息更新方法,该方法为本地修复节点侧的方法,如图2所示,该方法包括:
201、主路隧道中的本地修复节点接收RESV消息,所述RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象。
202、解析所述接收到的RESV消息,获得所述更新后的RRO对象。
203、当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
实施例2
本发明实施例提供一种用于快速重路由绑定的路由信息更新方法,该方法以传输PATH消息为例具体阐述该方法,如图3,从Ingerss节点进入,经过PLR节点、Transit-1节点、MP节点以及MP节点后的Z个(Z为非负整数)节点后,最后到达Egress节点离开,建立一条主路隧道(Main Tunnel),其中PLR节点为与需要与该主路隧道进行绑定的旁路隧道的首节点,Transit-1(转发)节点为该主路隧道的转发节点,MP为该旁路隧道的尾节点。本发明实施例以传输PATH消息,并且以MP节点处理所述PATH消息为例阐述该方法,该方法具体如图4所示,包括:
301、MP节点接收上游节点发送的PATH消息,该上游节点如图3所示的Transit-1节点,解析所述PATH消息,当所述PATH消息中携带的SESSION_ATTRIBUTE对象,并且所述PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将该MP节点的路径信息和标签信息添加到所述PATH消息携带的RRO对象中,得到第一PATH消息。
举例来说,PATH消息从所述Ingress节点进入,经过PLR、T ransit-1到达MP节点,每个节点在接收到上游节点发送的PATH消息时,都进行将其自身的路径信息和标签信息添加到所述接收到的PATH消息携带的RRO对象中,得到第一PATH消息,以便记录该主路隧道上的每个节点的信息。举例来说,所述路径信息可以为传输PATH消息的过程中,经过节点的入接口地址、出接口地址以及LSR-ID等;所述标签信息为下游节点为上游节点分配的标签。
需要说明的是,当得到所述第一PATH消息后,需要将所述第一PATH消息发送给下游节点。但是在发送所述第一PATH消息时,由于将该节点的路径信息和标签信息作为RRO对象的子对象添加在所述第一PATH消息携带的RRO对象中,使得携带所述第一PATH消息的IP报文总长度有可能大于所述节点的出接口的MTU,使所述第一PATH消息不能发送出去,因此在将所述第一PATH消息发送给下游节点之前,需要先判断携带所述第一PATH消息的IP报文总长度是否大于所述MP节点出接口的MTU,因此在执行完301后,需要执行302。
302、判断携带所述第一PATH消息的IP报文总长度是否大于所述MP节点出接口的MTU,若所述携带所述第一PATH消息的IP报文总长度大于所述MP节点出接口的MTU,则执行303;若携带所述第一的PATH消息的IP报文总长度小于或等于所述MP节点出接口的MTU,则执行305。
举例来说,所述IP报文总长度为:PATH消息的总长度加上IP头和三层报文头部等信息的长度之和。
303、对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,以便接收到所述第二PATH消息的主路隧道中的下游节点,将路径信息和标签信息添加到所述第二PATH消息中携带的RRO对象中。
举例来说,所述减少所述第一PATH消息中携带的RRO对象的子对象数量,包括:按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,减少所述第一PATH消息中携带的RRO对象的子对象数量;其中,按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,即:哪个子对象先加入到所述第一PATH消息中携带的RRO对象中,哪个子对象先从所述第一PATH消息中携带的RRO对象中删除。其中,对于减少的所述第一PATH消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU为准则。该减少所述第一PATH消息中携带的RRO对的子对象数量可以为1~(N-1)个中的任一数量,即可以保留(N-1)~1个中的任一数量,本发明实施例对此不进行限制,其中N为在Main Tunnel上已传输所述PATH消息的节点数。
304、将所述更新后的第二PATH消息发送出去,以便下游节点接收、处理所述更新后的第二PATH消息。
其中,当下游节点接收到所述第二PATH消息后,解析所述第二PATH消息获取,所述PATH消息中携带的RRO对象和SESSION_ATTRIBUTE对象,当所述SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,所述下游节点将其自身的路径信息和标签信息添加到所述RRO对象中,得到新生成的PATH消息,将所述SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,并执行302。
305、将所述第一PATH消息发送出去。
本发明实施例中,在携带PATH消息的IP报文总长度大于节点出接口的MTU时,将PATH消息中RRO对象中的一部分子对象删除,能够将所述更新后的PATH消息发送出去。因此,当Egress节点在接收到上游发送的携带RRO对象的PATH消息后,可以生成携带RRO对象的RESV消息,以使得本地修复节点在接收到携带RRO对象的RESV消息后,可以根据RESV携带的RRO对象信息,实现FRR的绑定,从而可以有效的保护用户流量不中断。
本发明实施例中,能够将所述更新后的PATH消息发送出去,不需要将PATHErr消息发送给Ingress节点。因此,Ingress节点后续发送的PATH消息中包含RRO对象。
实施例3
本发明实施例提供一种用于快速重路由绑定的路由信息更新方法,该方法以传输RESV消息为例具体阐述。如图5所示,从Ingerss节点进入,经过PLR、Transit-1节点、MP节点以及MP节点后的Z个(Z为非负整数)节点后,最后到达Egress节点,建立一条主路隧道(Main Tunenl),从PLR节点经过Transit-2节点到MP节点建立一条旁路隧道(Bypass Tunenl)),该主路隧道需要与旁路隧道绑定。当主路隧道的链路1(Link-1)或Transit-1节点发生故障时,通过该旁路隧道转发用户流量,从而可以保护用户的流量不中断。其中,PLR为该旁路隧道的首节点,MP为该旁路隧道的尾节点。RESV消息从Egress节点传输到Ingress节点。本发明实施例以RESV消息从MP节点传输到PLR节点,并在PLR节点处实现主路隧道和旁路隧道的绑定为例,具体阐述该方法。该方法如图6所示,包括:
401、MP节点接收下游节点发送的RESV消息,解析所述RESV消息,当所述RESV消息中携带SESSION_ATTRIBUTE对象,并且所述RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将该MP节点的路径信息和标签信息添加到所述RESV消息中携带的RRO对象中,形成第一RESV消息。
其中,Egress节点接收到上游节点发送的PATH消息后,生成了对应的RESV消息,并将所述RESV消息向上游节点发送,所述MP节点接收到下游节点发送的RESV消息,该RESV消息中携带的RRO对象记录所述RESV消息已经过节点的路径信息和标签信息,举例来说,所述路径信息包括其已经过节点的出接口地址、入接口地址以及该节点的LSR-ID等。
需要说明的是,当得到所述第一RESV消息后,需要将所述第一RESV消息发送给上游节点,例如图5所示的Transit-1节点,以便该Transit-1节点接收并处理该RESV消息。但是在发送所述第一RESV消息时,由于将该MP节点的路径信息和标签信息作为子对象添加在所述第一RESV消息携带的RRO对象中,使得携带所述第一RESV消息的IP报文总长度有可能大于所述节点的出接口的MTU,使所述第一RESV消息不能发送出去,因此在将所述第一RESV消息发送给Transit-1节点之前,需要先判断携带所述第一RESV消息的IP报文总长度是否大于所述MP节点出接口的MTU,因此在执行完401后,需要执行402。
402、MP节点判断携带所述第一RESV消息的IP报文总长度是否大于所述MP节点出接口的MTU,若所述携带所述第一RESV消息的IP报文总长度大于所述MP节点出接口的MTU,则执行403;若所述携带所述第一RESV消息的IP报文总长度小于或等于所述MP节点出接口的MTU,则执行414。
举例来说,所述IP报文总长度为:RESV消息的总长度加上IP头和三层报文头部等信息的长度之和。
403、MP节点对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述MP节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,使接收到所述第二RESV消息的节点,例如图5中的Transit-1节点,将路径信息和标签信息添加到所述第二RESV消息中携带的RRO对象中。
举例来说,当减少所述第一RESV消息中携带的RRO对象的子对象数量时,可以按照所述子对象加入到所述第一RESV消息中携带的RRO对象的先后顺序,减少所述第一RESV消息中携带的RRO对象的子对象数量。其中,对于减少的所述第一RESV消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二RESV消息的所述IP报文总长度小于或等于所述节点出接口的MTU为准则。进一步,由于该RESV消息中携带的RRO对象中的子对象信息需要用于FRR绑定,必须保证Bypass Tunnel的尾节点不能删除,才能实现FRR绑定。因此,在减少所述第一RESV消息中携带的RRO对象的子对象数量时,可以按照所述子对象加入到所述第一RESV消息中携带的RRO对象的先后顺序,减少所述第一RESV消息中携带的RRO对象的子对象数量,并保留需要绑定旁路隧道的尾节点向上游节点发送的路由信息;例如,当需要进行路径保护的Main Tunnel的首节点和尾节点之间存在1个转发节点时,该减少的子对象数量可以为1~(N-2)个中的任一数量,即可以保留(N-1)~2个中的任一数量;当需要进行路径保护的Main Tunnel的首节点和尾节点之间存在M个(M为大于1的自然数)转发节点时,其减少的子对象数量可以为1~(N-(M+1))个中的任一数量,即可以保留N-1~M+1中的任一数量。其中,N为在Main Tunnel上已传输所述RESV消息的节点数。
404、MP节点将所述第二RESV消息发送给上游节点,例如图5中的Transit-1节点,以便Transit-1节点接收、处理所述更新后的RESV消息。
405、Transit-1节点接收MP节点发送的所述第二RESV消息,解析所述第二RESV消息,获取所述第二RESV消息中携带的RRO对象和SESSION_ATTRIBUTE对象,当所述SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,所述Transit-1节点将其自身的路径信息和标签信息添加到所述第二RESV消息中携带的RRO对象中,得到第三RESV消息,并执行406。
406、Transit-1节点判断携带所述第三RESV消息的IP报文总长度是否大于所述Transit-1节点出接口的MTU,若所述携带所述第三RESV消息的IP报文总长度大于所述Transit-1节点出接口的MTU,则执行407;若所述携带所述第三RESV消息的IP报文总长度小于或等于所述Transit-1节点出接口的MTU,则执行414。
407、Transit-1节点对所述第三RESV消息进行更新处理,得到第四RESV消息,所述更新处理包括减少所述第三RESV消息中携带的RRO对象的子对象数量,使携带所述第四RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第四RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,以便接收到所述第四RESV消息的上游节点,例如图5中的PLR节点,将路径信息和标签信息添加到所述第四RESV消息中携带的RRO对象中。
其中,Transit-1节点减少所述第三RESV消息中携带的RRO对象的子对象数量的方法可以参考403中的相应描述,本发明实施例此处将不再赘述。
408、Transit-1节点将所述第四RESV消息发送给上游节点,例如图5中的PLR节点,以便该PLR节点接收、处理所述第四RESV消息。
409、PLR节点接收Transit-1节点发送的所述第四RESV消息,解析并获取所述第四RESV消息中携带的RRO对象和SESSION_ATTRIBUTE对象,当所述SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,所述PLR节点将其自身的路径信息和标签信息添加到所述第四RESV消息中携带的RRO对象中,得到第五RESV消息,并执行410。
410、PLR节点判断携带所述第五RESV消息的IP报文总长度是否大于所述PLR节点出接口的MTU,若所述携带所述第五RESV消息的IP报文总长度大于所述节点出接口的MTU,则执行411;若所述携带所述第五RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,则执行414。
411、PLR节点对所述第五RESV消息进行更新处理,得到第六RESV消息,所述更新处理包括减少所述第五RESV消息中携带的RRO对象的子对象数量,使携带所述第六RESV消息的IP报文总长度小于或等于所述PLR节点出接口的MTU,并将所述第六RESV消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,以便接收到所述第六RESV消息的主路隧道中的上游节点,例如图5中的Ingress节点,将路径信息和标签信息添加到所述第六RESV消息中携带的RRO对象中。
其中,减少所述第五RESV消息中携带的RRO对象的子对象数量的方法可以参考403中的相应描述,本发明实施例此处将不再赘述。
412、PLR节点将所述第六RESV消息发送给Ingress节点。
413、PLR节点在发送所述第六RESV消息后,当PLR节点确定本地有用于绑定的旁路隧道时,从所述接收到的第四RESV消息中携带的RRO对象中,得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现FRR绑定。
414、直接将所述更新后的RESV消息发送出去。
本发明实施例中,在携带RESV消息的IP报文总长度大于节点出接口的MTU时,将RESV消息携带的RRO对象中的一部分子对象删除。因此本地修复节点可以根据更新后的RRO对象中的信息,实现FRR的绑定,从而可以有效的保护用户流量不中断。
另外,本发明实施例能够将所述更新后的RESV消息发送出去,因此,不需要向Egress节点发送ResvErr消息,所以Egress节点后续发送的RESV消息中包含RRO对象。
实施例4
本发明的实施例提供一种转发节点,如图7所示,该转发节点包括:判断单元51、第一处理单元52、第一发送单元53、第二处理单元54和第二发送单元55。
判断单元51,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU。举例来说,当所述IP报文携带的是PATH消息时,所述IP报文总长度为:PATH消息的总长度加上IP头和三层报文头部等信息的长度之和。又举例来说,当所述IP报文携带的是RESV消息时,所述IP报文总长度为:RESV消息的总长度加上IP头和三层报文头部等信息的长度之和。
第一处理单元52,用于在所述判断单元51判定所述携带PATH消息的IP报文总长度大于所述转发节点出接口的MTU时,对所述第一PATH消息进行更新处理,得到第二PATH消息。举例来说,所述第一处理单元52对所述第一PATH消息进行更新处理包括:减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真。
举例来说,所述处理单元52减少所述第一PATH消息对象的子对象数量,具体可以按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,减少所述第一PATH消息中携带的RRO对象的子对象数量;其中,按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,即:哪个子对象先加入到所述第一PATH消息中携带的RRO对象中,哪个子对象先从所述第一PATH消息中携带的RRO对象中删除。其中,对于减少的所述第一PATH消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU为准则。例如,减少所述第一PATH消息中携带的RRO对象的子对象数量可以为1~(N-1)个中的任一数量,即可以保留(N-1)~1个中的任一数量。其中,N为在MainTunnel上已传输所述PATH消息的节点数。
第一发送单元53,用于将所述第二PATH消息发送出去,以便接收到所述第二PATH消息的节点将路径信息和标签信息添加到所述第二PATH消息中携带的RRO对象中。
第二处理单元54,用于在所述判断单元51判定所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU时,对所述第一RESV消息进行更新处理,得到第二RESV消息。举例来说,所述第二处理单元54对所述第一RESV消息进行更新处理包括:减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真。
举例来说,所述第二处理单元54减少所述RESV消息中携带的RRO对象的子对象数量时,由于该RRO对象中的子对象信息需要用于FRR绑定,必须保证Bypass Tunnel的尾节点不能删除,才能实现FRR绑定。因此,所述处理单元52具体可以用于,按照所述子对象加入到所述第一RESV消息中RRO对象的先后顺序,减少所述第一RESV消息中RRO对象的子对象数量,并保留需要绑定旁路隧道的尾节点向上游节点发送的路由信息;其中,按照所述子对象加入道所述第一RESV消息中携带的RRO对象的先后顺序,即哪个子对象先加入到所述第一RESV消息中携带的RRO对象中,哪个子对象先从所述第一RESV消息中携带的RRO对象中删除。其中,对于减少的所述第一RESV消息中携带的RRO对象的子对象数量,以减少子对象后,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU为准则。例如,当需要进行路径保护的Main Tunnel的首节点和尾节点之间存在1个转发节点时,其减少的子对象数量可以为1~(N-2)个中的任一数量,即可以保留(N-1)~2个中的任一数量。又例如,当需要进行路径保护的Main Tunnel的首节点和尾节点之间存在M个(M为大于1的自然数)转发节点时,其减少的子对象数量可以为1~(N-(M+1))个中的任一数量,即可以保留(N-1)~(M+1)中的任一数量。其中,N为在Main Tunnel上已传输所述RESV消息的节点数。
第二发送单元55,用于将所述第二RESV消息发送出,以便接收到所述第二RESV消息的节点将路径信息和标签信息添加到所述第二RESV消息中携带的RRO对象中。
举例来说,如图8所示,该转发节点还包括:接收单元56、第一添加单元57和第二添加单元58。
接收单元56,用于接收其他节点发送的第三PATH消息或第三RESV消息。
第一添加单元57,用于当所述第三PATH消息中携带SESSION_ATTRIBUTE对象,并且所述第三PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述转发节点的路径信息和标签信息添加到所述第三PATH消息携带中的RRO对象中;
第二添加单元58,用于当所述第三RESV消息中携带的SESSION_ATTRIBUTE对象,并且所述第三RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述主路隧道中的节点的路径信息和标签信息添加到所述第三RESV消息携带的RRO对象中。
本发明的实施例还提供一种本地修复节点,如图9所示,该本地修复节点包括:接收单元61、解析单元62和绑定单元63。
接收单元61,用于接收RESV消息,所述RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象。
解析单元62,用于解析所述接收单元61接收到的所述RESV消息,获得所述更新后的RRO对象。
绑定单元63,用于当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
举例来说,如图10所示,该本地修复节点还包括:添加单元64、判断单元65、处理单元66和发送单元67。
添加单元64,用于在所述接收单元61接收到的所述RESV消息中携带SESSION_ATTRIBUTE对象,并且所述RESV 消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,在所述绑定单元根据所述标签信息实现快速重路由绑定之前,将所述本地修复节点的路径信息以及标签信息添加到所述更新后的RRO对象中,得到新生成的RESV消息。举例来说,所述路径信息可以为传输PATH消息或RESV消息的过程中,经过节点的入接口地址、出接口地址以及LSR-ID等;所述标签信息为下游节点为上游节点分配的标签。
判断单元65,判断携带所述新生成的RESV消息的IP报文总长度是否大于所述本地修复节点的出接口的MTU。
更新单元66,用于在判断单元65判定所述携带所述添加单元64新生成的RESV消息的IP报文总长度大于所述本地修复节点出接口的MTU时,对所述新生成的RESV消息进行更新处理,得到更新后的RESV消息。所述更新处理包括减少所述RESV消息中携带的RRO对象的子对象数量,使携带所述更新后的RESV消息的IP报文总长度小于或等于所述本地修复节点出接口的MTU,并将所述更新后的RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真。SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,可以使得接收到所述更新后的RESV消息的节点,将路径信息和标签信息添加到所述更新后的RRO对象中。
发送单元67,用于将所述更新后的RESV消息发送出去。
本发明实施例还提供一种快速重路由绑定系统,如图11所示,该系统包括本地修复节点71、和位于所述本地修复节点下游,并与所述本地修复节点相邻的转发节点72;
所述转发节点72,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU;若所述携带所述第一PATH消息的IP报文总长度大于所述转发节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二PATH消息发送出去;若所述携带所述第一RESV消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二RESV消息发送出去;因为所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,接收到更新后的PATH消息的节点,将路径信息和标签信息添加到所述第二PATH消息中携带的RRO对象中;或因为所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真,接收到所述第二RESV消息的节点,将路径信息和标签信息添加到所述第二PATH消息中携带的RRO对象中。
所述本地修复节点71用于,接收所述转发节点发送的第二RESV消息,所述第二RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象;解析所述第二RESV消息,获得所述更新后的RRO对象;当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁主路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
举例来说,在所述本地修复节点71接收到的所述第二RESV消息中携带SESSION_ATTRIBUTE对象,并且所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,在所述绑定单元根据所述标签信息实现快速重路由绑定之前,将所述本地修复节点的路径信息以及标签信息添加到所述更新后的RRO对象中,得到新生成的RESV消息;判断携带所述新生成的RESV消息的IP报文总长度是否大于所述本地修复节点出接口的MTU;若所述携带所述新生成的RESV消息的I P报文总长度大于所述本地修复节点出接口的MTU,则对所述新生成的RESV消息进行更新处理,得到更新后的RESV消息,所述更新处理包括减少所述新生成的RESV消息中携带的RRO对象的子对象数量,使携带所述更新后的RESV消息的IP报文总长度小于或等于所述本地修复节点出接口的MTU,并将所述更新后的RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述更新后的RESV消息发送出去。
进一步的,如图12所示,该系统还包括:位于所述转发节点72下游,并与所述转发节点72相邻的汇聚节点73;
所述汇聚节点73,用于接收所述转发节点72发送的第二PATH消息,所述第二PATH消息中携带SESSION_ATTRIBUTE对象和更新后的RRO对象,所述第二PATH消息中携带的更新后的RRO对象为减少一定数量的子对象后的RRO对象;当所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述汇聚节点的路径信息和标签信息添加到所述第二PATH消息携带的RRO对象中;
所述汇聚节点73还用于,接收其他节点发送的第三RESV消息,当所述第三RESV消息中携带SESSION_ATTRIBUTE对象,并且所述第三RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述汇聚节点的路径信息和标签信息添加到所述第三RESV消息携带的RRO对象中,得到第四RESV消息,判断携带所述第四RESV消息的IP报文总长度是否大于所述汇聚节点出接口的MTU;若所述携带所述第四RESV消息的IP报文总长度大于所述汇聚节点出接口的MTU,则对所述第四RESV消息进行更新处理,得到第五RESV消息,所述更新处理包括减少所述第四RESV消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第五RESV消息的IP报文总长度小于或等于所述汇聚节点出接口的MTU,并将所述第五RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第五RESV消息发送给所述转发节点72。
举例来说,汇聚节点并不局限于位于所述转发节点下游,并与所述转发节点相邻的汇聚节点,还可以为位于所述转发节点下游,但与所述转发节点之间存在至少一个另外的转发节点的汇聚节点,当所述汇聚节点为后者时,可以参考实施例1至实施例3中的相应描述,本发明实施例此处将不再赘述。
本发明实施例中,当携带PATH消息或RESV消息的IP报文总长度大于节点出接口的MTU时,将RRO对象中的一部分子对象删除,因此本地修复节点可以根据更新后的RRO对象中的信息,实现FRR的绑定,从而可以有效的保护用户流量不中断。
另外,本发明实施例能够将所述更新后的PATH消息发送出去,不需要将PathErr消息发送给Ingress节点,因此,Ingress节点后续发送的PATH消息中可以包含RRO对象。
另外,本发明实施例能够将所述更新后的RESV消息发送出去,不需要将ResvErr消息发送给Egress节点,所以Egress节点后续发送的RESV消息中可以包含RRO对象。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种用于快速重路由绑定的路由信息更新方法,其特征在于,包括:
主路隧道中的节点在发送第一路径PATH消息和第一预留RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述节点出接口的最大传输单元MTU;
若所述携带第一PATH消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二PATH消息发送出去;
若所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二RESV消息发送出去。
2.根据权利要求1所述的方法,其特征在于,
所述减少所述第一PATH消息中携带的记录路由对象RRO对象的子对象数量,包括:按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,减少所述第一PATH消息中携带的RRO对象的子对象数量;
所述减少所述第一RESV消息中携带的RRO对象的子对象数量,包括:按照所述子对象加入到所述第一RESV消息中携带的RRO对象的先后顺序,减少所述第一RESV消息中携带的RRO对象的子对象数量,并保留需要绑定旁路隧道的尾节点向上游节点发送的路由信息。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
所述主路隧道中的节点接收其他节点发送的第三PATH消息或第三RESV消息;
当所述第三PATH消息中携带SESSION_ATTRIBUTE对象,并且所述第三PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述主路隧道中的节点的路径信息和标签信息添加到所述第三PATH消息携带的RRO对象中;
当所述第三RESV消息中携带SESSION_ATTRIBUTE对象,并且所述第三RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述主路隧道中的节点的路径信息和标签信息添加到所述第三RESV消息携带的RRO对象中。
4.一种转发节点,其特征在于,包括:
判断单元,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU;
第一处理单元,用于在所述判断单元判定所述携带第一PATH消息的IP报文总长度大于所述转发节点出接口的MTU时,对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;
第一发送单元,用于将所述第二PATH消息发送出去;
第二处理单元,用于在所述判断单元判定所述携带第一RESV消息的IP报文总长度大于所述节点出接口的MTU时,对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;
第二发送单元,用于将所述第二RESV消息发送出去。
5.根据权利要求4所述的转发节点,其特征在于,
所述第一处理单元,具体用于按照所述子对象加入到所述第一PATH消息中携带的RRO对象的先后顺序,减少所述第一PATH消息中携带的RRO对象的子对象数量;
所述第二处理单元,具体用于按照所述子对象加入到所述第一RESV消息中携带的RRO对象的先后顺序,减少所述第一RESV消息中携带的RRO对象的子对象数量,并保留需要绑定旁路隧道的尾节点向上游节点发送的路由信息。
6.根据权利要求4或5所述的转发节点,其特征在于,所述转发节点还包括:
接收单元,用于接收主路隧道中的其他节点发送的第三PATH消息或第三RESV消息;
第一添加单元,用于当所述第三PATH消息中携带SESSION_ATTRIBUTE对象,并且所述第三PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述转发节点的路径信息和标签信息添加到所述第三PATH消息携带的RRO对象中;
第二添加单元,用于当所述第三RESV消息中携带SESSION_ATTRIBUTE对象,并且所述第三RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述转发节点的路径信息和标签信息添加到所述第三RESV消息携带的RRO对象中。
7.一种本地修复节点,其特征在于,包括:
接收单元,用于接收RESV消息,所述RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象;
解析单元,用于解析所述接收单元接收到的所述RESV消息,获得所述更新后的RRO对象;
绑定单元,用于当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
8.根据权利要求7所述的本地修复节点,其特征在于,该本地修复节点还包括:
添加单元,用于在所述接收单元接收到的所述RESV消息中携带SESSION_ATTRIBUTE对象,并且所述RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,在所述绑定单元根据所述标签信息实现快速重路由绑定之前,将所述本地修复节点的路径信息以及标签信息添加到所述更新后的RRO对象中,得到新生成的RESV消息;
判断单元,判断携带所述新生成的RESV消息的IP报文总长度是否大于所述本地修复节点出接口的MTU;
更新单元,用于在判断单元判定所述携带所述新生成的RESV消息的I P报文总长度大于所述本地修复节点出接口的MTU时,对所述新生成的RESV消息进行更新处理,得到更新后的RESV消息,所述更新处理包括减少所述新生成的RESV消息中携带的RRO对象的子对象数量,使携带所述更新后的RESV消息的IP报文总长度小于或等于所述本地修复节点出接口的MTU,并将所述更新后的RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;
发送单元,用于将所述更新后的RESV消息发送出去。
9.一种快速重路由绑定系统,其特征在于,包括本地修复节点和位于所述本地修复节点下游,并与所述本地修复节点相邻的转发节点;
所述转发节点,用于在发送第一PATH消息和第一RESV消息之前,判断携带所述第一PATH消息或所述第一RESV消息的IP报文总长度是否大于所述转发节点出接口的MTU;若所述携带所述第一PATH消息的IP报文总长度大于所述转发节点出接口的MTU,则对所述第一PATH消息进行更新处理,得到第二PATH消息,所述更新处理包括减少所述第一PATH消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第二PATH消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二PATH消息中携带的会话标志SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二PATH消息发送出去;若所述携带所述第一RESV消息的IP报文总长度大于所述转发节点出接口的MTU,则对所述第一RESV消息进行更新处理,得到第二RESV消息,所述更新处理包括减少所述第一RESV消息中携带的RRO对象的子对象数量,使携带所述第二RESV消息的IP报文总长度小于或等于所述转发节点出接口的MTU,并将所述第二RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第二RESV消息发送出去;
所述本地修复节点用于,接收所述转发节点发送的第二RESV消息,所述第二RESV消息中携带更新后的RRO对象,所述更新后的RRO对象为减少一定数量的子对象后的RRO对象;解析所述第二RESV消息,获得所述更新后的RRO对象;当确定本地有用于绑定的旁路隧道时,从所述更新后的RRO对象中得到旁路隧道中尾节点向上游节点发送的标签信息,并根据所述标签信息实现快速重路由绑定。
10.根据权利要求9所述的系统,其特征在于,该系统还包括:位于所述转发节点下游,并与所述转发节点相邻的汇聚节点;
所述汇聚节点,用于接收所述转发节点发送的第二PATH消息,所述第二PATH消息中携带SESSION_ATTRIBUTE对象和更新后的RRO对象,所述第二PATH消息中携带的更新后的RRO对象为减少一定数量的子对象后的RRO对象;当所述第二PATH消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述汇聚节点的路径信息和标签信息添加到所述第二PATH消息携带的RRO对象中;
所述汇聚节点还用于,接收其他节点发送的第三RESV消息,当所述第三RESV消息中携带SESSION_ATTRIBUTE对象,并且所述第三RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真时,将所述汇聚节点的路径信息和标签信息添加到所述第三RESV消息携带的RRO对象中,得到第四RESV消息,判断携带所述第四RESV消息的IP报文总长度是否大于所述汇聚节点出接口的MTU;若所述携带所述第四RESV消息的IP报文总长度大于所述汇聚节点出接口的MTU,则对所述第四RESV消息进行更新处理,得到第五RESV消息,所述更新处理包括减少所述第四RESV消息中携带的记录路由对象RRO对象的子对象数量,使携带所述第五RESV消息的IP报文总长度小于或等于所述汇聚节点出接口的MTU,并将所述第五RESV消息中携带的SESSION_ATTRIBUTE对象中记录路由和标签的标志位设置为真;将所述第五RESV消息发送给所述转发节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010249662.4A CN102136996B (zh) | 2010-08-10 | 2010-08-10 | 用于快速重路由绑定的路由信息更新方法、节点及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010249662.4A CN102136996B (zh) | 2010-08-10 | 2010-08-10 | 用于快速重路由绑定的路由信息更新方法、节点及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102136996A true CN102136996A (zh) | 2011-07-27 |
CN102136996B CN102136996B (zh) | 2014-11-05 |
Family
ID=44296656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010249662.4A Active CN102136996B (zh) | 2010-08-10 | 2010-08-10 | 用于快速重路由绑定的路由信息更新方法、节点及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102136996B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059570A1 (zh) * | 2012-10-15 | 2014-04-24 | 华为技术有限公司 | 建立标签交换路径的方法、设备和系统 |
CN105591862A (zh) * | 2014-10-20 | 2016-05-18 | 中兴通讯股份有限公司 | 一种隧道算路重优化的方法及装置 |
CN105681195A (zh) * | 2014-11-21 | 2016-06-15 | 中兴通讯股份有限公司 | 一种收集lsp路径亲和力属性的方法及装置 |
WO2016197614A1 (zh) * | 2015-06-12 | 2016-12-15 | 中兴通讯股份有限公司 | 一种发送rsvp消息的方法和装置、接收rsvp消息的装置 |
CN106375212A (zh) * | 2016-09-20 | 2017-02-01 | 杭州华三通信技术有限公司 | 一种rsvp消息处理方法和装置 |
CN108141410A (zh) * | 2015-10-17 | 2018-06-08 | 思科技术公司 | 针对标签交换路径的先通后断机制 |
CN111327546A (zh) * | 2020-02-25 | 2020-06-23 | 杭州迪普科技股份有限公司 | 一种报文转发的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710880A (zh) * | 2004-06-17 | 2005-12-21 | 国际商业机器公司 | 探索路径最大传输单元的方法和设备 |
CN101388823A (zh) * | 2008-11-05 | 2009-03-18 | 杭州华三通信技术有限公司 | 建立双向流量工程隧道的方法和设备 |
CN101459567A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 建立备份隧道的方法、装置、重路由方法及系统 |
-
2010
- 2010-08-10 CN CN201010249662.4A patent/CN102136996B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710880A (zh) * | 2004-06-17 | 2005-12-21 | 国际商业机器公司 | 探索路径最大传输单元的方法和设备 |
CN101459567A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 建立备份隧道的方法、装置、重路由方法及系统 |
CN101388823A (zh) * | 2008-11-05 | 2009-03-18 | 杭州华三通信技术有限公司 | 建立双向流量工程隧道的方法和设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059570A1 (zh) * | 2012-10-15 | 2014-04-24 | 华为技术有限公司 | 建立标签交换路径的方法、设备和系统 |
CN105591862A (zh) * | 2014-10-20 | 2016-05-18 | 中兴通讯股份有限公司 | 一种隧道算路重优化的方法及装置 |
CN105681195A (zh) * | 2014-11-21 | 2016-06-15 | 中兴通讯股份有限公司 | 一种收集lsp路径亲和力属性的方法及装置 |
CN105681195B (zh) * | 2014-11-21 | 2020-05-22 | 中兴通讯股份有限公司 | 一种收集lsp路径亲和力属性的方法及装置 |
WO2016197614A1 (zh) * | 2015-06-12 | 2016-12-15 | 中兴通讯股份有限公司 | 一种发送rsvp消息的方法和装置、接收rsvp消息的装置 |
CN108141410A (zh) * | 2015-10-17 | 2018-06-08 | 思科技术公司 | 针对标签交换路径的先通后断机制 |
CN106375212A (zh) * | 2016-09-20 | 2017-02-01 | 杭州华三通信技术有限公司 | 一种rsvp消息处理方法和装置 |
CN111327546A (zh) * | 2020-02-25 | 2020-06-23 | 杭州迪普科技股份有限公司 | 一种报文转发的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102136996B (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102136996B (zh) | 用于快速重路由绑定的路由信息更新方法、节点及系统 | |
US6751190B1 (en) | Multihop nested tunnel restoration | |
US7602702B1 (en) | Fast reroute of traffic associated with a point to multi-point network tunnel | |
US7787380B1 (en) | Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy | |
CN109936629B (zh) | 一种混合云网络互连方法及系统 | |
CN101789904A (zh) | 流量控制的方法及设备 | |
CN101369958A (zh) | 一种快速重路由方法及标签交换路由器 | |
EP3654664A1 (en) | Method, apparatus and system for interconnected ring protection | |
CA2415184C (en) | Node, packet communication network, packet communication method, and program | |
CN1331363C (zh) | 一种基于网络入口节点的重路由方法 | |
CN103490970A (zh) | 一种流量工程隧道的检测方法、装置及系统 | |
CN103416029A (zh) | 复合链路上标签交换路径的信令扩展 | |
CN102130829B (zh) | 一种lsp的建立方法、装置 | |
CN112511430A (zh) | 信息交互、隧道建立方法、装置、通信节点及存储介质 | |
US11985059B2 (en) | Communication device, multicast transfer system, and multicast transfer method | |
CN101729422B (zh) | 一种利用BGP实现MPLS L3VPN私网QoS的方法及装置 | |
CN101404613A (zh) | 一种数据保护的方法和设备 | |
CN101510851A (zh) | 一种释放网络带宽的方法和装置 | |
CN101232453A (zh) | T-mpls网络中快速寻找路径的重路由方法 | |
CN102546352A (zh) | 一种实现点到多点标签交换路径保护的方法及系统 | |
CN104320336A (zh) | 一种mpls te链路带宽信息发布处理方法和装置 | |
CN106375212A (zh) | 一种rsvp消息处理方法和装置 | |
JP4128944B2 (ja) | マルチキャスト転送経路設定方法、マルチキャスト転送経路計算装置、プログラムおよび記録媒体 | |
CN102891758B (zh) | 一种组播数据的传输方法和设备 | |
CN101459551B (zh) | 一种路径恢复的方法、装置及路径计算单元 |
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 |