P2mp隧道上自举故障检测会话的制作方法
【专利摘要】一种用于检测与隧道相关联的故障的方法,所述隧道将多播业务从源提供商边缘路由器(PE)发送给多个目的地PE中每一个,该方法使用诸如BGP的路由协议将路由信息传送给目的地PE,并且使用诸如BFD的故障检测协议来检测隧道故障。
【专利说明】P2MP隧道上自举故障检测会话
【技术领域】
[0001]本发明涉及通信网络领域,并且更具体地,涉及安全隧道上下文中诸如连通性故障检测的故障检测。
【背景技术】
[0002]虚拟专用网络(VPN)在例如位于不同物理位置的两个或多个客户边缘(CE)路由器或站点之间的公用或专用网络上提供安全连通性。多播VPN可用于在多个CE路由器之间传输多播业务。
[0003]多播分布树(MDT)用于将源或发送机CE路由器与全部的目的地或接收机CE路由器连接。源或发送机CE路由器形成MDT的根节点,且目的地或接收机CE路由器形成MDT的叶子节点。
[0004]当基础网络传输层基于多协议标签交换(MPLS)网络时,创建MDT的一种方式是通过使用点到多点(P2MP)隧道。入口或源标签交换路由器(LSR)形成多播分布树(MDT)的根节点,且出口或目的地LSR形成MDT的叶子节点。叶节点可在任意时间加入或离开MDT。需要说明的是,MDT是单向的;分组仅从根行进到叶子。
[0005]为了通过互联网进行可靠的业务递送,重要的是减小由于连通性失效导致的延迟。双向转发检测(BFD)提供快速检测连通性失效的机制,从而可使用可替换的连通性路径以恢复通信。为了在MPLS LSP的转发路径中检测数据面失效,为所述MPLS LSP建立BFD会话。如果LSP与多个转发等价类(FEC)相关联,则为每个FEC建立BFD会话。由入口 LSR发送BFD控制分组,这些分组沿着与被验证的LSP相同的数据路径行进,并在出口 LSR处处理这些分组。BFD控制分组包括“鉴别器”字段以辨别LSP上的每个BFD会话。
[0006]将建立BFD会话的过程(也就是,将会话参数从入口传送到出口 LSR)称为BFD会话自举。
[0007]自举BFD会话的一个机制是使用MPLS LSP ping。具体地,沿着由LSP采用的数据路径,入口 LSR将LSP Ping回送消息由发送给出口 LSR。LSP Ping回送消息包含由入口LSR分配的鉴别器。
[0008]当接收到LSP Ping消息时,出口 LSR将BFD控制分组传送给入口 LSR。将BFD控制分组中的“你的鉴别器”字段设置为在LSP Ping回送消息中接收的鉴别器。将相似的鉴别器信息从出口 LSR交换到入口 LSR。
[0009]由入口 LSR传送给出口 LSR的BFD控制分组具有被设置为从出口 LSR接收的鉴别器的“你的鉴别器”字段。当从入口 LSR接收到BFD控制分组时,出口 LSR使用“你的鉴别器”字段值以便对BFD会话进行解复用。
[0010]不幸的是,该方法对P2MP隧道不是有效和可伸缩的,这是由于隧道的头部(也就是,根节点)必须维持用于隧道每个尾部(也就是,每个叶子节点)的唯一 BFD会话。
[0011]所提出的用于多点网络的BFD会话自举机制提供BFD会话源自多点树的头部,并且尾部不需要传送任何BH)分组。也就是,MDT的根或头节点分配被绑定到多点树的鉴别器值,并发送与该鉴别器相关联的BFD控制分组。基于共同唯一地标识MDT的头节点以及由MDT表示的点到多点隧道结构的所分配的鉴别器和分组源地址(也就是,源或接收节点的IP地址)的结合,MDT的尾部或叶节点对接收的分组进行解复用。D.Katz和D.Ward提出了题名为“用于多点网络的BFD”的互联网工程任务组(IETF)标准(2009年2月5日)。
[0012]不幸的是,所提出的BFD会话自举机制不涉及要被使用的专用鉴别器值,并且也没有定义如何将BFD会话鉴别器值从BFD头部传播到BFD尾部。需要说明的是,BFD会话独立于任意的MVPN或P2MP配置。
【发明内容】
[0013]通过本发明的方法来解决现有技术的各种不足,所述方法用于检测与将多播业务从源提供商边缘路由器(PE)递送给多个目的地PE中每一个的隧道相关联的故障,该方法使用诸如BGP的路由协议将路由信息发送给目的地PE,并使用诸如BFD的故障检测协议来检测隧道故障。
[0014]一个实施方式包括用于检测与将多播业务从源提供商边缘路由器(PE)递送给多个目的地PE中每一个的隧道相关联的故障的方法,该方法包括在源PE处,将标识源PE和隧道的信息发送给每个目的地PE,其中所述隧道将多播业务递送给目的地PE ;在源PE和目的地PE之间建立双向转发检测(BFD)会话;将所发送的信息用作BFD会话鉴定器,以将BFD会话与隧道相关联;以及将由BFD会话检测的数据面故障定义为相关联隧道的故障。当与其他BFD会话或会话尾部相关联时,可由目的地PE拒绝BFD控制分组。
【专利附图】
【附图说明】
[0015]通过考虑下面的详细说明并结合附图,可以容易地理解本发明的教导,其中:
[0016]图1描述了根据一个实施方式的多个互连网络元件的高级框图;
[0017]图2描述了适于在图1的实施方式中使用的路由器;
[0018]图3描述了根据一个实施方式的用于检测故障的方法的流程图;
[0019]图4描述了根据各种实施方式的用于处理BFD控制分组的方法的流程图;和
[0020]图5描述了适用于执行此处描述的功能的通用计算机的高级框图。
[0021]为了便于理解,在可能的情况下,使用相同的附图标记以指示在附图中共有的相同元素。
【具体实施方式】
[0022]本发明将主要在出自适于在点到多点(P2MP)隧道的上下文中传播BFD会话鉴别器值的具体带外信令机制(也就是,BGP)的上下文中进行描述。然而,本领域技术人员和获得这里教导的技术人员会认识到本发明还可应用于通过其它带外信令机制来传播会话鉴别器值,传播非BFD会话鉴别器值和或其等价物,以及此处描述的各种组合。
[0023]一般来说,各种实施方式提供接收到BFD控制分组(或非BFD控制分组)的节点仅响应于与P2MP隧道的适当根节点相关联的那些控制分组。
[0024]图1描述了根据一个实施方式的多个互连网络元件的高级框图。具体地,图1描述了表示为PE路由器110-1至110-N (统称为PE路由器110)的多个提供商边缘(PE)路由器,其能够通过网络105 (例如支持标签交换路径(LSP)的多协议标签交换(MPLS)网络)相互进行通信。PE路由器110中的每一个与各组客户边缘(CE)路由器120进行通信。为了解释的目的,将第一 PE路由器110-1描述为分别与第一 CE路由器120-11和第二 CE路由器120-12进行通信;将第二 PE路由器110-2描述为分别与第一 CE路由器120-21和第二 CE路由器120-22进行通信;并且将第N个CE路由器120-N描述为分别与第一 CE路由器120-N1和第二 CE路由器120-N2进行通信。
[0025]示意性地,图1描述了用于将数据从源PE路由器(第一 PE路由器120-1)路由到多个目的地PE路由器(第二个120-2至第N个120-N PE路由器)中每一个的两个多播虚拟专用网(MVPN)。具体地,第一 CE节点120-xl (120-11、120-21至120-N1)中的每一个通过第一 MVPN连接,且第二 CE节点120-x2 (120-12、120-22至120-N2)中的每一个通过第二MVPN连接。对于第一和第二 MVPN中的每一个,存在从连接到所包括的CE节点的每个PE路由器至连接到所包括的CE节点的其它PE路由器的P2MP隧道。
[0026]在一个实施方式中,边界网关协议(BGP )用于在PE路由器之间交换内部自动发现提供商多播服务接口(intra-AD PMSI)路由数据,从而交换有关于P2MP隧道的信息。内部AD PMSI (intra-AD PMSI)路由包括标识P2MP隧道头部的信息和隧道标识符。其它协议也可用于交换该类型的信息。P2MP隧道用于将多播业务从源PE携带到全部接收机PE。
[0027]在一个实施方式中,双向转发检测(BFD)用于检测与P2MP隧道相关联的数据面问题。其它故障检测协议也可用于检测数据面问题。
[0028]图2描述了适于在图1的实施方式中使用的路由器。具体地,图2描述了与一个或多个网络205及网络管理器207进行通信的路由器206。路由器206可用于执行上述关于图1所讨论的任意PE路由器110或CE路由器120。
[0029]路由器206包括多个输入输出(I/O)卡210-1、210_2以及直到210-N (统称为I/O卡210),交换结构220和控制面模块230。控制面模块230通过各自的控制信号CONT控制I/O卡210和交换结构220的操作。
[0030]每个I/O卡210包括:具有相应入口端口缓冲器212B的多个入口端口 212 ;具有相应出口端口缓冲器214B的多个出口端口 214 ;包括I/O模块217、处理器218和存储器219的控制器216。将存储器219描述为包括软件模块、实例化的对象等,以提供输入/输出控制功能21910C,路由数据219RD和其它功能2190。控制器216可实现为通用计算设备或专用计算设备,例如下面参照图5所描述的。
[0031]I/O卡210用于在(多个)网络205和交换结构220之间传送分组。可将在I/O卡210的特定入口端口 212处接收的分组通过I/O卡210的特定出口端口 212传送给交换结构220或传送回到(多个)网络205。通过I/O卡210的分组路由可根据由控制面模块230提供的路由数据的标准方式来完成,其中路由数据可存储在存储器219的路由器数据部分219RD 中。
[0032]交换结构220可包括任意的标准交换结构,例如电、光、电-光、MEMS等。
[0033]控制面模块230从网络管理器207接收配置数据、路由数据、策略信息、和/或有关于各种管理功能的其它信息。控制面模块230将管理和操作数据提供给网络管理器207,其中管理和操作数据包括诸如配置数据、状态数据、警告数据、性能数据等的数据。
[0034]控制面模块230包括:1/0模块231、处理器232和存储器233。将存储器233描述为包括软件模块、实例化的对象等,以提供源处理例程233SPR、目的地处理例程233DPR、协议处理模块233PPM、路由器数据233RD和其它功能2330。可将控制面模块230实现为通用计算设备或专用计算设备,如下面参照图5所描述的。
[0035]当执行与PE路由器110或CE路由器120相关联的源、根或入口路由功能时,源处理例程233SPR进行操作以执行支持路由器206的操作的各种功能,如这里参照各个附图所介绍的。
[0036]当执行与PE路由器110或CE路由器120相关联的目的地、叶子或出口路由功能时,目的地处理例程233DPR进行操作以执行支持路由器206的操作的各种功能,如这里参照各个附图所介绍的。
[0037]路由器数据233RD进行操作以处理路由信息,从而将在入口端口处接收的分组或业务流路由到路由器206的上下文中合适的出口端口。路由器数据233RD可包括路由表、保护或故障恢复信息等。
[0038]图3描述了根据一个实施方式的用于检测故障并且适于在上述参照图1描述的多个互连网络元件的上下文中使用的方法的流程图。一般来说,图3的方法300关注点到多点隧道,其中边界网关协议(BGP)用于在各个PE路由器之间交换路由信息,且双向转发检测(BFD)用于检测数据面故障,其中数据面故障与基础隧道相关联。
[0039]在步骤310,在一个或多个隧道源PE中的每一个,将标识源PE和将数据递送给目的地PE的相应P2MP隧道的信息分别发送给一个或多个隧道目的地PE。对于框315,边界网关协议(BGP)可用于将该信息作为发送的内部AD PMSI (intra-AD PMSI)路由结构的一部分提供(或交换)给源和目的地PE路由器(或在源和目的地PE路由器之间进行交换)。
[0040]可选择地,其它协议和/或数据结构可用于在源和目的地PE路由器之间提供或交换这样的信息。例如,尽管各实施方式主要在使用交换MVPN路由的BGP的上下文中进行描述,但其它实施方式在PE路由器使用静态配置以形成(用于MDT的)P2MP隧道,而不使用BGP来交换信息。此外,在各个实施方式中,将BGP MPVN路由扩展为包括BFD会话参数,或者是在现有内部AD PMSI路由中的可选值,或者是新路由类型。
[0041]在步骤320,在一个或多个源PE的每一个分别与一个或多个目的地PE之间建立故障检测会话。参照框325,故障检测会话可包括双向转发检测(BFD)或其它故障检测会话或机制,例如MPLS ping、LSP (标签交换路径)ping或CFM (连通性故障管理)。
[0042]在步骤330,将发送给每个目的地PE的信息用作会话鉴别器,由此目的地PE将其故障检测会话与将数据递送给目的第PE的P2MP隧道相关联。参照框335,如果故障检测会话包括BFD故障检测会话,则会话鉴别器包括BFD会话鉴别器。
[0043]在步骤340,将通过源PE和相应目的地PE之间的故障检测会话所检测的数据面故障定义为将数据从源PE递送给目的地PE的P2MP隧道中的故障(并由此做出响应)。也就是,将通过诸如BFD故障检测会话的故障检测会话所检测的数据面故障归属于与故障检测会话相关联的目的地PE和源PE之间的P2MP隧道。在这种情况下,与故障检测会话相关联的快速(例如,次秒级,最多大约30ms)故障检测能力用于快速标识将数据从源PE递送给目的地PE的基础P2MP隧道相关联的故障。
[0044]图4描述了根据各个实施方式的用于处理BFD控制分组的方法的流程图。在BFD协议实施方式的上下文中,P2MP根(PE-1)是BFD会话的头部,且其它叶子PE是BFD会话的尾部。
[0045]在步骤410,在(多个)源PE和目的地PE之间建立BFD会话。
[0046]在步骤420,一个或多个源PE中的每一个利用内部AD PMSI路由向每个目的地PE发送BFD控制分组,其中目的地PE用于从内部AD PMSI路由导出包括P2MP隧道信息的BFD会话参数。诸如“源地址:和“我的鉴别器”值的导出信息可用于发现正确的BFD会话。
[0047]在步骤430,在每个目的地PE,拒绝与建立的BFD会话不一致的任意BFD控制分组。也就是,相比于与特定目的地PE相关联的会话,目的地PE会拒绝用于不同BFD会话的任意BFD控制分组。例如,由于失配,可能拒绝BFD控制分组,其中在失配中BFD尾部会话存在于目的地PE但和与所接收BFD控制分组相关联的会话参数不匹配。该机制用于确保P2MP隧道根PE是BFD会话的源。
[0048]在步骤440,没有被目的地PE拒绝的那些BFD控制分组例如可由目的地PE中的BFD协议处理模块或其它处理元件处理。例如,与每个目的地PE相关联的BFD协议处理模块可使用来自MVPN内部AD路由的以用作BFD会话鉴别器的P2MP隧道标识符。
[0049]一般来说,在图4的方法400的上下文中,与各个BFD会话尾部相关联的每个目的地、接收机和/或出口 PE用于拒绝与不同的BFD会话或会话尾部相关联的那些BFD控制分组。
[0050]这里讨论的各个实施方式避免在BFD模块中维持鉴别器分配逻辑的开销,上述开销被消除或减小。在目的地PE处接收BFD控制分组之前,BFD会话参数是可获得的,从而可以最早地建立BFD会话。此外,由于对与BFD会话的每个目的地PE进行通信和跟踪没有开销或低效率,因此这有助于伸缩性。
[0051]在各个实施方式的上下文中,每个目的地PE形成直接与P2MP隧道相关联的单一BFD会话的多点尾部内的点或尾部。在这种方式中,不需要维持适于多个BFD会话(例如在源PE和每个各自目的地PE之间)的鉴定器分配逻辑等。此外,使用例如这里描述的单一BFD能够加强MVPNP2MP配置和P2MP隧道状态之间的耦合和控制。这种类型的耦合能够快速分发故障提醒、故障警告、状态消息等。
[0052]在这里描述的各个实施方式中,描述了内部AD PMSI路由结构或类型。需要说明的是,各个实施方式可使用内部AD PMSI路由类型或内部AD PMSI路由类型的各种子类型,例如内部 AD 包括 PMSI (intra-AD 1-PMSI)、内部-AD 选择 PMSI (intra-AD S-PMSI)路由类型。各种其它实施方式打算使用内部自治系统PMSI自动发现(intra-AS PMSI AD)、内部AS 1-PMSI AD和内部AS S-PMSI AD路由类型以及其组合。
[0053]各种实施方式有利地是,BFD会话允许在多点尾部直接与P2MP隧道相关联。具体地,BGP协议用于在PE路由器之间交换MVPN路由信息(或其它路由信息)。在各种实施方式中,当MVPN使用MPLS作为传输层时,则P2MP隧道信息还可包括在PMSI路由中。隧道数据包括有关于隧道的根(也就是源或入口 PE地址)的信息、隧道标识符和/或其它信息。
[0054]这里描述的方法包括用于通过P2MP建立BFD会话的方法。在BFD协议的上下文中定义由BFD会话使用的专用故障检测机制。在不使用MPLS OAM或等效机制以将鉴定器传送给BFD尾部的情况下,使用用于故障检测的BFD会话的各种实施方式的方法隐含地导出BFD会话鉴定器。
[0055]图5描述了适用于执行这里描述的功能的通用计算机的高级框图。如图5所示,系统500包括:处理器元件502 (例如,CPU)、诸如随机存取存储器(RAM)和/或只读存储器(ROM)的存储器504、分组处理模块505,和各种输入/输出设备506 (例如,存储设备,包括但不限于,磁带驱动器、软盘驱动器、硬盘驱动器或致密盘驱动器、接收器、发送器、扬声器、显示器、输出端口、和用户输入设备(例如键盘、小键盘、鼠标等))。
[0056]可以理解的是,图5中描述的计算机500提供适于实现此处描述的功能元件的通用架构和功能,和/或此处描述的功能元件的部分。这里说明和描述的功能可以用软件和/或硬件来实现,例如,使用通用计算机、一个或多个专用集成电路(ASIC)、和/或任意其它硬件等效物。
[0057]可以预期的是,这里以软件方法讨论的一些步骤可在硬件中实现,例如与处理器结合以执行各方法步骤的电路。这里描述的功能/元件的部分可实现为计算机程序产品,其中当计算机处理计算机指令时改变计算机的操作,从而调用或提供这里描述的方法和/或技术。用于调用本发明方法的指令可存储在固定或可移动的介质中,通过数据流以广播或其它信号承载介质进行发送,通过有形介质进行发送和/或存储在根据指令进行操作的计算设备的存储器中。
[0058]尽管前面涉及了本发明的各个实施方式,在不偏离本发明基本范围的情况下,可以对本发明的其它的和进一步的实施方式进行修改。同样,本发明适当的范围由下面给出的权利要求确定。
【权利要求】
1.一种用于检测与隧道相关联的故障的方法,所述隧道将多播业务从源提供商边缘路由器(PE)递送给多个目的地PE中的每一个,该方法包括: 在源PE处,将标识源PE和隧道的信息发送给每个目的地PE,所述隧道将多播业务递送给目的地PE ; 在源PE和目的地PE之间建立双向转发检测(BFD)会话; 将发送的信息用作BFD会话鉴定器,以将BFD会话与隧道相关联;以及 将由BFD会话检测的数据面故障定义为相关联隧道的故障。
2.根据权利要求1所述的方法,其中隧道包括多播虚拟专用网络(MVPN)。
3.根据权利要求2所述的方法,其中发送的信息包括根据边界网关协议(BGP)发送的内部自动发现提供商多播服务接口(intra-AD PMSI)路由。
4.根据权利要求1所述的方法,其中BFD会话鉴定器包括MVPN内部AD路由的P2MP隧道标识符。
5.根据权利要求1所述的方法,其中作为BFD会话尾部的每个目的地PE导出与所接收的BFD控制分组相关联的BFD会话参数,并拒绝所导出的BFD会话参数与各自BFD尾部会话不匹配的BFD控制分组。
6.根据权利要求1所述的方法,其中所述发送的步骤包括:发送BFD控制分组,所述BFD控制分组包括适于由此导出BFD会话参数的信息。
7.根据权利要求1所述的方法,其中边界网关协议(BGP)用于在PE路由器之间交换路由信息。
8.一种用于检测与隧道相关联的故障,所述隧道将多播业务从源提供商边缘路由器(PE)发送给多个目的地PE中每一个,该方法包括: 使用路由协议在源PE和目的地PE之间传播与故障检测会话相关联的参数,其中将通过故障检测会话所检测的故障分配给基础隧道。
9.一种包括软件指令的计算机可读媒介,当处理器执行软件指令时,执行用于检测与隧道相关联的故障的方法,所述隧道将多播业务从源提供商边缘路由器(PE)递送给多个目的地PE中每一个,该方法包括: 在源PE处,将标识源PE和隧道的信息发送给每个目的地PE,所述隧道将多播业务递送给目的地PE ; 在源PE和目的地PE之间建立双向转发检测(BFD)会话; 将发送的信息用作BFD会话鉴定器,以将BFD会话与隧道相关联;以及 将由BFD会话检测的数据面故障定义为相关联隧道的故障。
10.一种计算机程序产品,其中计算机用于处理软件指令,所述软件指令改变计算机的操作,使得计算机执行用于检测与隧道相关联的故障的方法,所述隧道将多播业务从源提供商边缘路由器(PE)递送给多个目的地PE中每一个,该方法包括: 在源PE处,将标识源PE和隧道的信息发送给每个目的地PE,所述隧道将多播业务递送给目的地PE ; 在源PE和目的地PE之间建立双向转发检测(BFD)会话; 将发送的信息用作BFD会话鉴定器,以将BFD会话与隧道相关联;以及 将由BFD会话检测的数据面故障定义为相关联隧道的故障。
【文档编号】H04L12/24GK103703722SQ201280036766
【公开日】2014年4月2日 申请日期:2012年7月10日 优先权日:2011年7月25日
【发明者】G·比拉达尔, J·克塔尔沃 申请人:阿尔卡特朗讯公司