多协议标签交换流量工程隧道建立方法及设备的制造方法_4

文档序号:9491771阅读:来源:国知局
一 VPN实例的MPLS TE隧道的方式,这样可以提高第二 PE建立从第二 VPN实例到第一 VPN实例的MPLS TE隧道的灵活性。从第二 VPN实例到第一 VPN实例的MPLS TE隧道为第二 MPLS TE隧道。
[0205]其中,第一 PE提供给第二 PE的隧道建立策略可以要求第二 PE建立的第二 MPLSTE隧道必须与第一 MPLS TE隧道共路,如果不共路则认为业务选取隧道失败。
[0206]可选地,第一PE提供给第二PE的隧道建立策略还可以是:在无法建立与第一MPLSTE隧道共路的第二MPLS TE隧道的情况下,要求第二PE根据第二路径信息建立的第二MPLSTE隧道中的一部分与第一 MPLS TE隧道中的一部分共路。这样虽然没有实现第一 MPLS TE隧道和第二 MPLS TE隧道完全共路,但是实现了部分共路,相比第一 MPLS TE隧道和第二MPLS TE隧道完全不共路的情况,能够较少一些由于完全不共路而引起的问题。
[0207]优选地,当从所述第二 VPN实例到所述第一 VPN实例存在多条与第一 MPLS TE隧道部分共路的MPLS TE隧道时,则从这多条部分共路的MPLS TE隧道中选择共路部分最长的MPLS TE隧道作为第二 MPLS TE隧道,以便尽可能地减少因为不共路而引起的问题。
[0208]相应的,第二 PE接收第一 PE发送的LDP标签分发消息,从LDP标签分发消息中获取第一 MPLS TE隧道的标识符。进一步,如果LDP标签分发消息还包括隧道建立策略指示信息,则第二 PE还可以从LDP标签分发消息中获取隧道建立策略指示信息。
[0209]步骤203、第一PE给L2VPN业务指定隧道模板,通过隧道模板获取MPLS TE隧道建立使用的属性信息,基于该属性信息驱动第一 MPLS TE隧道的建立。
[0210]第一 PE通过使用隧道模板为L2VPN业务配置建立MPLS TE隧道使用的属性信息,不用为每条MPLS TE隧道单独配置,这样可以降低MPLS TE隧道的配置工作量,提高配置效率。
[0211]具体的,第一 PE使用获取的属性信息计算出第一 MPLS TE隧道的路径信息,即第一路径信息,其中,该第一路径信息包括第一 MPLSTE隧道所经过的节点和链路等信息。然后,第一 PE按照第一路径信息使用RSVP-TE协议建立第一 MPLS TE隧道。
[0212]在此说明,步骤202和步骤203的先后顺序并不限于此。
[0213]步骤204、第二 PE根据从LDP标签分发消息中获取的第一 MPLS TE隧道的标识符,即第一标识符,获取第一 MPLS TE隧道的路径信息,即第一路径信息。
[0214]步骤205、第二 PE判断由第一路径信息反转得到的第二路径信息上的节点和/或链路是否满足第一隧道属性信息的约束;如果判断结果为满足,执行步骤206 ;如果判断结果为不满足,执行步骤207。
[0215]第二 PE获取第一路径信息后,将其反转得到第二路径信息。第一路径信息或第二路径信息包括了与其对应的路径上的节点和链路的信息,实际上包括了一系列有序的IP地址,第二路径信息包括的一系列有序的IP地址的顺序与第一路径信息包括一系列有序的IP地址的顺序相反。
[0216]可选地,第二 PE获取建立第二 MPLS TE隧道使用的属性信息,所述建立第二 MPLSTE隧道使用的属性信息为第一隧道属性信息。第一隧道属性信息可以是第二 PE预先为L2VPN业务配置的建立第二 MPLS TE隧道使用的属性信息,也可以是默认属性信息,还可以是第一PE建立第一MPLS TE隧道使用的属性信息。这些属性信息包括带宽信息、显式路径、亲和属性、快速重路由等信息。基于此,第二 PE将第二路径信息中各节点和链路的信息与第一隧道属性信息进行比较,可以确定第二路径信息是否满足第一属性信息的约束。
[0217]步骤206、第二 PE使用第二路径信息建立第二 MPLS TE隧道。
[0218]第二 PE根据第二路径信息建立第二 MPLS TE隧道,这样可以实现第一 MPLS TE隧道和第二 MPLS TE隧道的共路。
[0219]在步骤206中,所述共路是指第一 MPLS TE隧道和第二 MPLS TE隧道经过相同的节点和链路,但是这两条隧道的方向相反。
[0220]可选的,第二 PE可以将第二 MPLS TE隧道的标识符,即第二标识符,发送给第一PE,而第一 PE接收第二 PE发送的第二标识符。这样可以保证协议的完整性。
[0221]步骤207、第二 PE根据第一隧道属性信息和第二路径信息计算出路径信息,然后使用计算出的路径信息建立第三MPLS TE隧道,其中所述第三MPLS TE隧道与第一MPLS TE隧道部分共路。
[0222]需要指出的是,步骤207中的第三MPLS TE隧道和步骤206中的第二 MPLS TE隧道都是从第二 VPN实例到第一 VPN实例的MPLS TE隧道,但这两条MPLS TE隧道并不相同。
[0223]在本实施例中,第二 PE基于通过对第一路径信息反转得到的第二路径信息建立第二 MPLS TE隧道,这样可以保证两个方向的隧道共路或部分共路。如果第一 MPLS TE隧道的路径发生变化,那么第二 MPLS TE隧道的路径也可以较容易地随之调整。本实施例并不是通过静态配置的方式使第一 MPLS TE隧道和第二 MPLS TE隧道共路或部分共路,配置工作量较小,可扩展性较强。另外,本实施例也不是将两个单向MPLS TE隧道直接绑定实现的正反双向MPLS TE隧道共路的,当其中一条MPLS TE隧道的路径发生变化时,仅需要较少的处理,另一条MPLS TE隧道的路径也可以随之变化,不会出现直接绑定两条单向MPLS TE隧道实现共路时一条隧道的路径变化而另一条隧道的路径无法随之变化而出现正反双向不共路的情况。
[0224]在本实施例中,第一 PE和第二 PE在L2VPN业务协商过程中,第一 PE将使用的MPLSTE隧道的标识符通告给第二 PE,第二 PE基于第一 PE通告的标识符得到第一路径信息,使用对第一路径信息进行反转而得到的第二路径信息建立第二 MPLS TE隧道,在网络条件允许的情况下实现了第一 MPLS TE隧道和第二 MPLS TE隧道共路或部分共路,从而解决或减少了在进行BFD时由于不共路造成的多种问题。如果第一 MPLS TE隧道和第二 MPLS TE隧道不共路,则至少会带来关于BFD方面的问题。例如,当反向IP路径阻塞,而实际上正向的MPLS TE隧道的路径状态是正常的时,不共路会引发BFD状态会置down的问题。又例如,在部署有MPLS TE热旁路(Hot-standby)保护时,不共路还可能引发MPLS TE隧道发生不必要的切换,甚至切换不成功,需要等待硬收敛,造成大量丢包,业务的高可靠性无法保证的问题。
[0225]图3A为本发明一实施例提供的MPLS TE隧道建立方法的流程图。如图3A所示,本实施例的方法包括以下内容。
[0226]步骤301、当第一 PE上的第一 VPN实例和第二 PE上的第二 VPN实例开展L3VPN业务时,第一 PE和第二 PE通过MP-BGP协议协商确定第一 PE上的第一 VPN实例为业务主动方,第二 PE上的第二 VPN实例为业务被动方。
[0227]除了步骤301提供的通过协议协商方式确定业务主动方和业务被动方之外,还可以通过配置的方式确定业务主动方和业务被动方。
[0228]本实施例以第一 VPN实例和第二 VPN实例开展L3VPN业务为例进行说明。
[0229]步骤302、第一 PE向第二 PE发送第一 BGP更新消息,所述第一 BGP更新消息包括第一 VPN实例标识和第一 RT。
[0230]步骤303、第一 PE接收第二 PE发送的第二 BGP更新消息,所述第二 BGP更新消息包括第二 VPN实例标识和第二 RT。
[0231]第一 PE的VPN实例标识用于标识第一 VPN实例。第二 VPN实例标识用于标识第二VPN实例。第一 RT和第二 RT主要用于供第一 PE和/或第二 PE判断第一 VPN实例和第二VPN实例之间是否具有业务对等关系。在本实施例中,第一 PE和第二 PE可以在确定第一 RT和第二 RT相等后,确定第一 VPN实例和第二 VPN实例之间具有业务对等关系。
[0232]在本实施例中,第一 PE通过对MP-BGP协议进行扩展,除了通过第一 BGP更新消息向第二 PE发送现有技术中的一些信息之外,还通过第一 BGP更新消息携带第一 VPN实例标识发送给第二 PE。相应的,第二 PE接收第一 PE发送的第一 BGP更新消息,从中获知第一VPN实例标识。
[0233]第二 PE向第一 PE发送第二 BGP更新消息,并在第二 BGP更新消息中携带第二 VPN实例标识。第一 PE接收第二 PE发送的第二 BGP更新消息,从中获知第二 VPN实例标识。通过以上方式实现对第一 PE和第二 PE上的VPN实例的标识,实现了 VPN实例的相互学习。
[0234]具体的,第一 PE可以在第一 BGP更新消息中的NRLI对象中携带第一 VPN实例标识;第二 PE可以在第二 BGP通知消息中的NRLI对象中携带第二 VPN实例标识。可选的,第一 RT或第二 RT也可以携带在NRLI中。
[0235]步骤304、第一 PE向第二 PE发送第三BGP更新消息,所述第三BGP更新消息包括第一 VPN实例标识、第一 RT、第二 VPN实例标识和第一标识符。
[0236]所述第一标识符为第一 MPLS TE隧道的标识符。
[0237]相应的,第二 PE接收第一 PE发送的第三BGP更新消息,从第三BGP更新消息中获取第一标识符。如果第一 VPN实例同时与多个VPN实例开展了 L3VPN业务,则在同一个第三BGP更新消息可以同时携带第一 VPN到多个VPN实例的多条MPLS TE隧道的标识符,其结构如图3B所示。在图3B所示的第三BGP更新消息中,一共包括N个VPN实例和N个MPLSTE隧道的标识符,分别为第二 VPN实例标识1-第(N+l) VPN实例标识N和第二 VPN实例对应的隧道的标识符1-第(N+l) VPN实例对应的隧道的标识符N,第一 VPN实例标识分别为第一 VPN实例标识1-第一 VPN实例标识M。为便于图示,在图3B中未示出第一 VPN实例的RT0
[0238]步骤305、第一 PE给L3VPN业务指定隧道模板,通过隧道模板获取建立第一 MPLSTE隧道使用的属性信息,基于该属性信息驱动第一 MPLS TE隧道的建立。
[0239]第一 PE通过使用隧道模板为L3VPN业务配置建立MPLS TE隧道使用的属性信息,不用为每条MPLS TE隧道单独配置,这样可以降低MPLS TE隧道的配置工作量,提高配置效率。
[0240]具体的,第一 PE使用获取的属性信息计算出第一 MPLS TE隧道的路径信息,即第一路径信息,其中,该第一路径信息包括从第一MPLS TE隧道经过的节点和链路等信息。然后,第一 PE按照第一路径信息使用RSVP-TE协议建立第一 MPLS TE隧道。
[0241]在此说明,步骤305和前述步骤302-步骤304的先后顺序并不限于此。
[0242]步骤306、第二 PE根据从第三BGP更新消息中获取的第一 MPLS TE隧道的标识符,即第一标识符,获取第一 MPLS TE隧道的路径信息,即第一路径信息。
[0243]步骤307、第二 PE判断由第一路径信息反转得到的第二路径信息上的节点和/或链路是否满足第一属性属性信息的约束;如果判断结果为满足,执行步骤308 ;如果判断结果为不满足,执行步骤309。
[0244]步骤308、第二 PE使用第二路径信息建立从第二 VPN实例到第一 VPN实例的MPLSTE隧道,即第二 MPLS TE隧道。
[0245]步骤309、第二 PE根据第一隧道属性信息和第二路径信息计算出路径信息,然后使用计算出的路径信息建立第三MPLS TE隧道,所述第三MPLS TE隧道与第一 MPLS TE隧道部分共路。
[0246]在此说明,所述步骤309中的第三MPLS TE隧道和步骤308中的第二 MPLS TE隧道都是从第二 VPN实例到第一 VPN实例的隧道,但这两条MPLS TE隧道并不相同。
[0247]其中,上述步骤306-步骤309可参见步骤204-步骤207的描述,在此不再赘述。
[0248]在本实施例中,第一 PE和第二 PE在L3VPN业务协商过程中,第一 PE将第一标识符通告给第二 PE,第二 PE基于第一标识符确定第一路径信息。第二 PE进一步地根据基于第一路径信息获取的第二路径信息建立第二 MPLS TE隧道,实现了正反双向MPLS TE隧道共路或部分共路。这样可以解决或减少由于两个VPN实例之间的两条方向相反的MPLS TE隧道不共路而引发的问题。例如,当反向IP路径阻塞,而实际上正向的MPLS TE隧道的路径状态是正常的时,不共路会引发BFD状态会置down的问题。又例如,在部署有MPLS TE热旁路(英文缩写为Hot-standby)保护时,不共路还可能引发MPLS TE隧道发生不必要的切换,甚至切换不成功,需要等待硬收敛,造成大量丢包,业务的高可靠性无法保证的问题。
[0249]如图4所示,本发明一实施例提供一种建立MPLS TE隧道的方法,该方法包括以下内容。
[0250]步骤401、第一路由设备向第二路由设备发送第一标识符,以使第二路由设备根据第一标识符识获取第一路径信息,其中,所述第一标识符为第一 MPLS TE隧道的标识符,第一路径信息为第一 MPLS TE隧道的路径信息,所述第一 MPLS TE隧道为第一路由设备上的第一 VPN实例到第二路由设备上的第二 VPN实例的MPLS TE隧道;
[0251]步骤402、所述第一路由设备接收第二路由设备发送的用于建立第二 MPLS TE隧道的路径消息,所述第二 MPLS TE隧道为从所述第二 VPN实例到所述第一 VPN实例的MPLSTE隧道,所述第二 MPLS TE隧道的路径信息是对所述第一路径信息进行反转得到的;
[0252]步骤403、所述第一路由设备向所述第二路由设备发送与所述路径消息对应的预留消息。
[0253]所述第二 MPLS TE隧道与第一 MPLS TE隧道共路且反向。
[0254]所述路径消息和预留消息都是RSVP TE中的消息。
[0255]经过以上步骤,就可以在网络条件允许的情况下建立所述第二MPLS TE隧道,从而解决或减少了在进行BFD时由于不共路造成的多种问题。
[0256]在本实施例中,第一路由设备上的第一 VPN实例为第一 VPN实例和第二 VPN实例之间的业务的业务主动方;第二路由设备上的第二 VPN实例为第一 VPN实例和第二 VPN实例之间的业务的业务被动方。
[0257]在本实施例中,第一路由设备在确定第一 MPLS TE隧道的标识符,即第一标识符,之后,可以通过信令将第一标识符,通知给第二路由设备。第二路由设备根据第一标识符查询第一标识符和第一 MPLS TE隧道的路径信息的对应关系,获取第一 MPLS TE隧道的路径信息,即第一路径信息。进一步,第二路由设备可以将第一路径信息进行反转得到第二路径信息,之后基于第二路径信息建立第二 MPLS TE隧道。其中,第二 MPLS TE隧道为从第二VPN实例到第一 VPN实例的MPLS TE隧道。
[0258]所述第一标识符和第一MPLS TE隧道的路径信息的对应关系是所述第一路由设备在建立第一MPLS TE隧道的过程中通过路径消息发送给所述第二路由设备的。路径消息的RRO对象中携带有第一 MPLS TE隧道的路径信息,即第一路径信息,路径消息的会话对象中携带有第一 MPLS TE隧道的标识符。可选地,通过协议扩展的方式,所述第一标识符和/或所述第一路径信息可以携带与path消息的扩展字段中。第一路由设备建立第一MPLS TE隧道的过程和步骤401是相互独立的,可以不受时间上的先后顺序的限制。可选的,第一 VPN实例和所述第二 VPN实例之间的业务可以为L3VPN业务,则第一路由设备可以使用MP-BGP与第二路由设备进行业务协商。基于此,第一路由设备可以对MP-BGP协议进行扩展,通过扩展后的MP-BGP协议将第一标识符通告给第二路由设备。
[0259]在现有L3VPN机制中,第一路由设备和第二路由设备之间相互通告的是VPN私网路由和VPN私网标签。一个VPN实例中存在多个IP路由,VPN私网路由是指每个VPN实例中的IP路由。针对特定的VPN私网路由携带隧道标识符是没有意义的,因为MPLS TE隧道的标识符是关联业务的,而业务对应于VPN实例而不是VPN私网路由。基于此,对MP-BGP进行扩展通告第一标识符的过程包括对第一路由设备上的第一 VPN实例和第二路由设备上的第二 VPN实例进行标识的过程和在标识VPN实例之后通告第一标识符的过程。
[0260]如图5所示,当第一 VPN实例和第二 VPN实例之间也业务为L3VPN时,图4中的第一路由设备向第二路由设备发送第一标识符的一种实施方式包括以下内容。
[0261]步骤4011、第一路由设备向第二路由设备发送第一 BGP更新消息,所述第一 BGP更新消息包括第一 VPN实例标识和第一 RT,所述第一 VPN实例标识用于标识第一路由设备上的第一 VPN实例,所述第一 RT为第一 VPN实例的RT。
[0262]步骤4012、第一路由设备接收第二路由设备发送的第二 BGP更新消息,所述第二BGP更新消息包括第二 VPN实例标识和第二 RT,所述第二 VPN实例标识用于标识第二路由设备上的第二 VPN实例,所述第二 RT为第二 VPN实例的RT。
[0263]第二 BGP更新消息是第二路由设备在确定第一 RT和第二 RT相等后发送的。
[0264]上述为第一路由设备和第二路由设备相互学习并标识VPN实例的过程,具体描述可参见步骤101。
[0265]步骤4013、第一路由设备在确定第一 RT和第二 RT相等后,根据第一 VPN实例标识和第二 VPN实例标识,确定第一标识符。根据所述第一 VPN实例标识和第二 VPN实例标识可以确定第一 MPLS TE隧道,相应地,也就可以确定第一标识符。确定第一标识符的具体方法包括:当第一 MPLS TE隧道已经被分配了第一标识符,则获取所述第一标识符;当还没有为第一 MPLS隧道分配第一标识符,则分配所述第一标识符并获取所述第一标识符。
[0266]步骤4014、第一路由设备向第二路由设备发送第三BGP更新消息,所述第三BGP更新消息包括第一标识符。
[0267]可选的,第三BGP更新消息除了包括第一标识符之外,还可以包括第一 VPN实例标识、第二 VPN实例标识和第一 RT等信息。
[0268]第一路由设备通过对BGP更新消息进行扩展,实现向第二路由设备通告第一标识符的目的,其具体过程可参见步骤101中的描述。
[0269]进一步,第一路由设备和第二路由设备可以通过属性信息和NRLI来携带VPN实例的RT和VPN实例标识,或者通过NLRI来携带VPN实例标识和VPN实例的RT。
[0270]基于上述,第一路由设备向第二路由设备发送第一 BGP更新消息的过程可以为:第一路由设备将第一 RT封装在第一 BGP更新消息中的属性信息中,将第一 VPN实例标识封装在第一 BGP更新消息中的NLRI对象中,然后将封装有第一 RT和第一 VPN实例标识的第一BGP更新消息发送给第二路由设备。或者,第一路由设备向第二路由设备发送第一 BGP更新消息的过程还可以为:第一路由设备将第一 RT和第一 VPN实例标识封装在第一 BGP更新消息中的NLRI对象中,然后将封装有第一 RT和第一 VPN实例标识的第一 BGP更新消息发送给第二路由设备。相应的,第一路由设备接收第二路由设备发送的第二 BGP更新消息的过程可以为:第一路由设备接收第二路由设备发送的第二BGP更新消息,对第二BGP更新消息进行解析,从第二 BGP更新消息中的属性信息中获取第二 RT,从第二 BGP更新消息中的NLRI对象中获取第二 VPN实例标识。或者,第一路由设备接收第二路由设备发送的第二BGP更新消息的过程还可以为:第一路由设备接收第二路由设备发送的第二 BGP更新消息,对第二 BGP更新消息进行解析,从第二 BGP更新消息中的NLRI对象中获取第二 VPN实例标识和第二 RT。[0271 ] 进一步,本实施例的VPN实例标识可包括RD信息和IP地址。例如,第一 VPN实例标识包括第一 RD和第一 IP地址;第一 RD为第一 VPN实例的RD,第一 IP地址为第一路由设备的IP地址。第二 VPN实例标识包括第二 RD和第二 IP地址;第二 RD为第二 VPN实例的RD,第二 IP地址为第二路由设备的IP地址。关于VPN实例标识的详细描述可参见步骤101的描述。
[0272]可选的,在确定第一 VPN实例和第二 VPN实例分别在第一 VPN实例和第二 VPN实例之间的业务中的角色之前,第一路由设备和第二设备可以比较所述第一 VPN实例标识和所述第二 VPN实例标识的大小,根据比较结果和角色确定规则来确定所述第一 VPN实例的角色和第二 VPN实例的角色。在本实施例中,可以将所述角色确定规则设置为:在所述第一VPN实例标识大于所述第二 VPN实例标识时,确定所述第一 VPN实例为所述业务主动方,所述第二VPN实例为所述业务被动方;也可以将所述角色确定规则设置为:在所述第一 VPN实例标识小于所述第二 VPN实例标识时,确定所述第一 VPN实例为所述业务主动方,所述第二VPN实例为所述业务被动方。
[0273]可选地,除了上述确定所述第一 VPN实例和所述第二 VPN实例的方法外,所述第一路由设备和第二路由设备还可以根据预先从管理设备分别接收到的
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1