首页> 中国专利> 在较早的进一步快速重路由(FRR)之后通过防止FRR来避免循环

在较早的进一步快速重路由(FRR)之后通过防止FRR来避免循环

摘要

本公开的实施例涉及在较早的进一步快速重路由(FRR)之后通过防止FRR来避免循环。在一些情况下,一旦快速重路由(FRR)已经发生(例如,用于MPLS保护),进一步的FRR是不期望的,甚至是有害的。描述了一种用于在进一步的FRR被确定为是潜在有害的情况下防止这种进一步的FRR的机制。

著录项

  • 公开/公告号CN113132224A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 瞻博网络公司;

    申请/专利号CN202010318733.5

  • 发明设计人 K·科姆佩拉;林雯;K·王;

    申请日2020-04-21

  • 分类号H04L12/703(20130101);H04L12/707(20130101);H04L12/721(20130101);H04L12/723(20130101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:52:33

说明书

本申请要求于2019年12月31日提交并且列出Kireeti Kompella、 Wen Lin和Kevin F.Wang作为发明人的名称为“AVOIDING LOOPS BY PREVENTING FURTHER FASTREROUTE(FRR)AFTER AN EARLIER FRR”的美国临时申请62/956,101号(被称为“‘101临时申请”并且通过引用并入本文)的权益。本发明的范围并不限于‘101 临时申请的具体实施例的任何要求。

技术领域

本公开的实施例涉及通信网络,更具体地,涉及通信网络,这些通信网络采用快速重路由(FRR)以及其导致循环问题的潜力。

§1.1发明领域

本说明书涉及通信网络。更具体地,本说明书涉及通信网络,这些通信网络采用快速重路由(FRR)以及其导致循环问题的潜力。

§1.2.背景信息

§1.2.1多协议标签交换(MPLS)

多协议标签交换(MPLS)是用于通过将短标签分配给网络分组来设计业务模式的方法,这些短标签描述了如何通过网络转发这些网络分组。MPLS独立于路由表或任何路由协议并且可以用于单播和/ 多播分组。更具体地,在传统的互联网协议(IP)网络中,分组是用 IP报头来传输的,该IP报头包括源地址和目的地地址。当路由器接收到这种分组时,它会检查其针对与分组的目的地地址相关联的下一跳地址的转发表,并且将分组转发给下一跳位置。另一方面,在MPLS 网络中,每个分组都用MPLS报头来封装。当路由器接收到分组时,它将报头作为索引复制到单独的MPLS转发表中。MPLS转发表中的每个条目包括转发信息,路由器使用该转发信息来转发业务并且在必要时修改MPLS报头。由于MPLS转发表的条目比更一般的转发表少得多,因此查找会消耗更少的处理时间和处理能力。由此导致的在时间和处理上的节省对于仅使用网络在外部目的地之间进行中转的业务来说是重大的好处。

标签交换路径(LSP)是通过网络或自主系统(AS)的单向路由。在正常的IP路由中,分组没有预定路径。相反,每个路由器都只基于分组的目的地地址,将分组转发到被存储在其转发表中的下一跳地址。每个随后的路由器然后都使用其转发表来转发分组。相比之下,MPLS路由器(在AS内)通过交换MPLS业务设计信息来确定通过网络的路径。使用这些路径,路由器沿建立的路由通过网络定向业务。不是选择沿路径的下一跳作为IP路由,而是每个路由器都负责将分组转发到预定的下一跳地址。

作为LSP的部分的路由器被称为标签交换路由器(LSR)。每个 LSR都必须配置有MPLS,以便它可以解释MPLS报头,并且执行通过网络传递业务所需的MPLS操作。LSP可以包括四种类型的LSR。第一,入口或入站LSR为到MPLS中的业务提供进入点。本机IPv4 分组(或以太网分组)是由入口路由器使用MPLS标签来封装的。每个LSP都可能只有一个入口路由器。第二,中转LSR是在LSP中间的任何路由器。中转LSR沿LSP转发MPLS业务,仅使用MPLS报头来确定分组如何被路由。第三,倒数第二LSR是LSP中的倒数第二路由器。如果倒数第二跳弹出(PHP)被采用,则倒数第二LSR负责在将MPLS报头转发到出站路由器之前将其从分组中剥离。第四,出口或出站LSR是LSP的终点。出口路由器接收来自倒数第二LSR 的MPLS分组,并且执行IP路由查找。(要注意,在一些拓扑中或利用一些服务,附加标签(称为“服务标签”)被提供,并且出口路由器使用服务标签来转发业务。因此,如果有效负载是IP分组,则出口路由器可以基于以下任何一种转发IP分组:(A)IP路由查找,如果出口路由器使用每个VRF方案的标签,标签识别将要进行IP路由查找的VRF表;或(B)基于MPLS(服务)标签,如果出口路由器使用每个接口方案的标签进行转发。在这种情况下,没有IP路由查找。)出口路由器然后将分组转发到路由的下一跳。每个LSP可以仅具有一个出站路由器。

为了通过MPLS网络转发业务,MPLS路由器对分组进行封装,并且分配和管理被称为标签的报头。标签是在0到1,048,575范围内的20位无符号整数。路由器使用标签来索引MPLS转发表,这些转发表确定分组如何通过网络而被路由。当网络的入站路由器接收到业务时,它将MPLS标签插入IP分组与针对物理链路的适当的层2报头之间。标签包含索引值,该索引值标识针对特定LSP的下一跳地址。当下一跳中转路由器接收到分组时,它使用MPLS标签中的索引来确定针对分组的下一跳地址,并且将分组转发到LSP中的下一个路由器。当每个分组行进通过中转网络时,沿途的每个路由器都对MPLS 标签执行查找并且相应地转发分组。当出口路由器接收到分组时,它检查报头,以确定它是LSP中的最后一个路由器。出口路由器然后移除MPLS报头,执行常规IP路由查找(或基于服务标签进行转发),并且将具有其IP报头的分组转发到下一跳地址。

LSR可以执行五种标签操作,第一,“推送”操作将新标签添加到分组的顶部。对于到达入站路由器的IPv4分组,新标签是标签堆栈中的第一个标签。对于具有现有标签的MPLS分组,该操作将标签添加到堆栈,并且将堆叠位设置为0,这表明第一个标签之后会有更多MPLS标签。当入口路由器接收到分组时,它对分组执行IP路由查找。因为路由查找会产生LSP下一跳,所以入口路由器对分组执行标签推送,然后将分组转发到LSP下一跳。第二,“替换”(或交换) 操作用新标签来代替位于标签堆栈顶部的标签。当中站路由器接收到分组时,它执行MPLS转发表查找。查找会产生LSP下一跳以及LSP 中的中站路由器和下一个路由器之间的链路的路径索引。第三,“弹出”操作从标签堆栈的顶部移除标签。对于到达倒数第二路由器的 IPv4分组,整个MPLS标签都被从标签堆栈移除。对于具有现有标签的MPLS分组,此操作从标签堆栈移除顶部标签,并且在必要时修改堆叠位(例如,如果堆栈中只留下单一的标签,将其设置为1)。如果多个LSP终止于同一出站路由器,则路由器对LSP上的所有出站业务执行MPLS标签操作。为了在多个路由器之间共享操作,大多数 LSP都使用倒数第二跳弹出(PHP)。第四,“多推送”操作将多个标签添加到标签堆栈的顶部。这种动作相当于执行多个推送操作。最后,“替换和推送”操作用新标签代替顶部标签,然后将新标签推送到堆栈的顶部。

MPLS LSP可以被(A)静态地(例如,经由手动配置)或(B) 动态地(例如,使用协议,诸如,标签分发协议(LDP)或资源预留协议)建立。与静态路由一样,静态LSP需要沿路径的每个路由器都被显式配置。网络管理员必须手动配置路径以及其相关联的标签值。静态LSP需要LSR进行较少的处理,因为没有信令协议被使用。然而,因为路径被静态地配置,所以它们不能适应网络状况。动态LSP 使用信令协议来建立它们本身,并且将LSP信息传播到网络中的其他 LSR。当网络管理员跨LSR启用信令协议时,网络管理员用在整个网络中传输的LSP信息来配置入站路由器。因为LSR必须交换和处理信令分组和指令,所以动态LSP比静态LSP消耗更多的资源。然而,动态LSP可以通过检测拓扑变化和停机并且在整个网络中传播它们,来避免网络问题。

图1图示了入口路由器R1(PE1)与出口路由器R5(PE2)之间的LSP的示例。通常,当MPLS被部署时,使用倒数第二跳弹出 (“PHP”)而不是最终跳弹出(“UHP”)。路由器CE1将互联网协议(IP)分组转发到其下一跳(R1),该下一跳也是LSP入口(或头端)。R1发现此以将业务转发到IP分组的目的地IP地址,它需要将IP分组发送到5.5.5.5。R1针对被存储在其转发表中的以下信息检查前缀5.5.5.5(目的地环回):

R1将标签L1(L1-1000002)推送到分组上,并且将有标签的分组(L1+IP)转发到路由器R2。R2针对被存储在其MPLS转发表中的以下信息检查输入标签1000002:

结果,R2完成标准的MPLS标签替换操作,将标签L1替换为标签L2(L2-10000003),并且将有标签的分组(L2+IP)转发到路由器R3。R3针对被存储在其MPLS转发表中的以下信息检查输入标签 10000003:

结果,R3完成标准的MPLS标签替换操作,将标签L2替换为标签L3(L3-10000004),并且将有标签的分组(L3+IP)转发到路由器R4。R3针对被存储在其MPLS转发表中的以下信息检查输入标签 10000004:

由于R4是到路由器R5(PE2)的LSP的倒数第二跳路由器,因此它首先弹出标签L3,然后将分组转发到路由器R5。当R5接收到分组时,它可以具有服务标签、显式空标签,或只是普通IP或层2 以太网分组。R5然后将无标签的分组转发到路由器CE2。

综上所述,在静态LSP的情况下,R1通过MPLS标记到达R5,该MPLS标记由下面的跟踪路由结果表示:

§1.2.2MPLS和FRR在各种网络中的使用

如下面将更详细地讨论的,MPLS可以用于提供在诸如以太网虚拟专用网络(EVPN)(例如,参见图2)之类的提供方网络中的端到端运输、在用于业务保护的循环中的运输(例如,参见图3)以及在其他网络拓扑(例如,参见图4)中的运输。在链路或节点故障的事件中(例如,在下一跳地址或下一跳接口(通常被称为“下一跳”) 的情况下),这些拓扑可以采用FRR来重定向故障周围的业务。即, MPLS快速重路由(FRR)是有用的且被广泛部署的工具,用于在链路和/或节点故障的情况下最小化分组丢失。不仅FRR被证明是非常有效的,而且它通常是使用MPLS作为数据平面的原因。FRR适用于各种控制平面协议,包括标签分发协议(LDP)、资源预留协议业务工程(RSVP-TE)和分段路由(SR,也被称为网络中的源分组路由(SPRING))。此外,FRR通常用于保护MPLS服务,诸如,IP VPN 和EVPN。

§1.2.3由FRR引起的潜在循环问题

不幸的是,存在这样的情况,即,一旦FRR已经发生,如果分组遭遇第二次故障,则第二次FRR是没有帮助的,并且实际上甚至可能是破坏性的。例如,第二次FRR可能会无意中导致分组循环,直到它的生存时间(TTL)计数器到期。这种循环可能导致链路拥塞和进一步的分组丢失。参考EVPN网络、环保护网络和“普通”MPLS转发,在下面的§§1.2.3.1至1.2.3.3中描述这个问题的示例。

§1.2.3.1在采用主动-主动多重连接的EVPN网络中由FRR导致的潜在循环问题。

参照图2,考虑下面的用于对客户边缘设备(CE2)进行多重连接(multihoming),以防止提供方边缘设备(PE2或PE3)或PE-CE 链路的故障的拓扑。为此,在PE2与PE3之间提供备份MPLS路径(由虚线表示)。

假设(已知的单播)业务从CE1转到CE2。利用主动-主动多重连接,该业务将在PE2(经由链路1a到CE2)与PE3(经由链路1b 到CE2)之间被进行负载平衡。例如,如果链路1a发生故障,则PE2 仍然可以通过在备份路径上将去往CE2的业务发送到PE3来推进此业务,该PE3然后经由链路1b将其转发到CE2。类似地,如果链路 1b发生故障,则PE3仍然可以通过在备份路径上将去往CE2的业务发送到PE2来推进此业务,该PE2然后经由链路1a将其转发到CE2。

然而,假设CE2是故障的。这可能导致PE2与PE3之间的业务“循环”。更具体地,如果PE2接收到去往CE2的业务,则PE2将假设链路1a是故障的,并且因此,它将在备份路径上将针对CE2的业务发送到PE3。然而,PE3将假设链路1b是故障的,并且因此将通过在备份路径上将针对CE2的业务发送到PE2,来防止该“第二”(注意,CE2的单一节点故障表现为PE2和PE3的单独的故障)故障。这种业务将在PE2与PE3之间循环(“乒乓”)直到其TTL到期。

如能够从上述示例中理解的,保护到CE2的业务的尝试最终可能弊大于利,因为在节点CE2的故障的事件中(或在1a和1b的双链路故障的事件中),PE2与PE3之间的备份路径变得拥塞。此外,PE2 和PE3正在执行无用的工作。

相似的拓扑可以用于EVPN-Etree(例如,参见A.Sajassi,Ed.所著的文献“Ethernet-Tree(E-Tree)Support in Ethernet VPN(EVPN)and Provider BackboneBridging EVPN(PBB-EVPN)(以太网VPN(EVPN) 和提供方主干桥接EVPN(PBB-EVPN)中的以太网树(E-Tree)支持)”,

§1.2.3.2由环保护网络中的FRR导致的潜在循环问题

图3图示了示例弹性MPLS环(RMR)(例如,参见K.Kompella 等人所著文献“Resilient MPLS Rings(弹性MPLS环)”),

§1.2.3.3由MPLS网络中的FRR导致的潜在循环问题

接下来,考虑图4A的示例拓扑中的一般MPLS转发。图4B图示了用于将数据业务从N1推进到N4的转发表条目。参照图4A和图4B,假设存在从N1到N4的LSP,被配置为N1-N2-N3-N4。在正常操作下,当分组(PKT)到达N1时,N1将标签L1推送到分组上,并且将产生的有标签的分组(L1-PKT)发送到下一跳N2。N2然后将标签 L1替换为标签L2,并且将产生的有标签的分组(L2-PKT)转发到下一跳N3。N3然后将标签L2替换为标签L3,并且将产生的有标签的分组(L3-PKT)转发到下一跳N4。N4然后弹出标签L3,并且基于其转发表中的进一步的信息(未示出)将产生的分组(PKT)转发到其目的地。

图5A和图5B用于图示在链路N2-N3的故障的事件中的旁路转发。图5B包括用于为链路N2-N3提供链路保护的旁路转发表条目。更具体地,参照图5A和图5B,链路N2-N3由旁路隧道N2-N6-N7-N3 保护。(例如,该旁路隧道可以被手动配置,使用RSVP-TE(例如,参见D.Awduche等人所著的文献“RSVP-TE:Extensions to RSVP for LSP Tunnels(RSVP-TE:用于LSP隧道的RSVP扩展)”,

图6A和图6B图示了旁路失败的链路N6-N7。图6B包括用于为链路N6-N7提供链路保护的旁路转发表条目。如图所示,当数据业务 {…}由N6接收时,N6在标签L11上进行推送,并且将产生的数据 (L11-{…})发送到下一跳N2。N2将标签L11替换为L12,并且将产生的数据(L12-{…})发送到下一跳N3。N3然后弹出标签L12,并且将产生的数据({…})发送到下一跳N7。即,对于LSP N5-N6-N7-N8,链路N6-N7可以由旁路N6-N2-N3-N7(或由 N6-N9-N10-N7(未示出)或通过这两个旁路路径之间的负载平衡)保护。

参照图7A至图7C,从N1到N4的上述路径设置有以下链路保护。如果链路N2-N3发生故障,则业务将采取路径 N1-N2-N6-N7-N3-N4。更具体地,当分组(PKT)到达N1时,N1将标签L1推送到分组上,并且将产生的有标签的分组(L1-PKT)发送到下一跳N2。由于N2-N3链路已经发生故障,因此在将标签L1替换为标签L2之后,N2使用图7C的旁路转发表将标签L4推送到堆栈上,并且将产生的数据(L4-L2-PKT)发送到下一跳N6。N6然后将标签 L4替换为L5,并且将产生的数据(L5-L2-PKT)发送到下一跳N7。 N7然后弹出标签L5,并且将产生的有标签的分组(L2-PKT)发送到下一跳N3。N3然后将标签L2替换为标签L3,并且将产生的有标签的分组(L3-PKT)转发到下一跳N4。N4然后弹出标签L3,并且基于其转发表中的进一步的信息(未示出)将产生的分组(PKT)转发到其目的地。

图8A至图8D图示了在链路N2-N3和链路N6-N7都同时发生故障的情况下发生的问题。参照图8B和图8C,旁路LSP保护链路N2-N3 被调用,并且业务要经由N6和N7而被发送到N3。更具体地,当分组(PKT)到达N1时,N1将标签L1推送到分组上,并且将产生的有标签的分组(L1-PKT)发送到下一跳N2。由于N2-N3链路已经发生故障,代替简单地将标签L1替换为标签L2,N2也使用图8C的旁路转发表将标签L4推送到堆栈上,并且将产生的数据(L4-L2-PKT)发送到下一跳N6。由于N6-N7已经发生故障,代替简单地将标签L4 替换为标签L5和将结果发送到下一跳N7,N6相反地替换标签,将标签L11推送到堆栈上,并且将产生的数据业务(L11-L5-L2-PKT) 发送到下一跳N2。(参照图8C和图8D。)由于链路N2-N3已经发生故障,因此N2将标签L4推送到堆栈上,并且将产生的数据业务 (L4-L11-L5-L2-PKT)发送到下一跳N6。如能够理解的,数据业务将在N2与N6之间循环(或“乒乓”),直到TTL到期(或直到堆栈深度变得过长)。)(要注意,如果在链路N6-N7发生故障的事件中业务是经由旁路N6-N9-N10-N7而被保护的,则这种业务将成功进行至N4。如果链路N6-N7是通过跨两个旁路路径(即,N6-N2-N3-N7 和N6-N9-N10-N7)的负载平衡来保护的,则大约一半的业务将在N6 与N2之间循环,并且剩下的将使其进行至N4。

§2.发明内容

本说明书描述了一种用于在这种进一步的保护可能有害的实例中防止进一步的FRR的机制。(例如,回顾上面的§1.2.3。)即,在一些情况下,一旦已经发生了快速重路由(FRR)(例如,用于 MPLS保护),进一步的FRR是不期望的,甚至是有害的。一种用于在进一步的FRR被确定为是潜在有害的情况下防止这种进一步的 FRR的机制被描述。例如,这种机制可以使用专用标签(SPL)或扩展专用标签(ESPL)或分配的标签。

更具体地,FRR已经发生后通信网络中潜在的循环问题可以通过提供示例计算机实现的方法来解决,该计算机实现的方法包括:(a) 由第一数据转发设备接收要在标签交换路径(LSP)上被转发的数据分组;(b)确定所接收到的数据分组的下一跳;(c)确定下一跳是否是可达到的;以及(d)响应于确定下一跳不是可达到的,(1)确定(i)备份下一跳和(ii)与备份下一跳相关联的转发标签,(2)将转发标签和指示备份迂回(detour)正在被进行的信息添加到数据分组,以生成更新的数据分组,以及(3)由数据转发设备将更新的数据分组转发到备份下一跳,否则,响应于确定下一跳是可达到的,使用与下一跳相关联的转发标签来转发数据分组。

示例方法还可以包括:(e)由LSP上的第二数据转发设备接收数据分组的实例;(f)确定所接收到的数据分组的实例的进一步的下一跳;(g)确定进一步的下一跳是否是可达到的;(h)响应于确定进一步的下一跳不是可达到的,(1)确定所接收的数据分组的实例是否包括指示备份迂回被进行的信息,以及(2)响应于确定所接收到的数据分组的实例包括指示备份迂回被进行的信息,丢弃数据分组的实例,否则,响应于确定进一步的下一跳是可用的,使用与进一步的下一跳相关联的转发标签来转发数据分组的实例。

在一些示例实施例中,指示备份迂回正在被进行的信息是专用标签或分配的标签。

在一些示例实施例中,将转发标签和指示备份迂回正在被进行的信息添加到数据分组以生成更新的数据分组的动作包括:(1)用与备份下一跳相关联的转发标签代替所接收到的数据分组上的转发标签,以及(2)推送用于指示备份迂回正在被进行的标签。

在一些示例实施例中,将转发标签和指示备份迂回正在被进行的信息添加到数据分组以生成更新的数据分组的动作包括:(1)将与备份下一跳相关联的转发标签堆叠在所接收到的数据分组上的转发标签上,以及(2)推送用于指示备份迂回正在被进行的标签。

在一些示例实施例中,备份下一跳指向备份LSP,其中备份LSP 包括多个数据转发设备,并且其中被包括在备份LSP中的数据转发设备中的每一个已经使用控制信令来指示它们能够处理指示备份迂回正在被进行的信息。

在一些示例实施例中,备份下一跳是以下中的一项的一部分:(A) 迂回LSP、(B)备份隧道、(C)旁路隧道、(D)NHOP旁路隧道、 (E)NNHOP旁路隧道和(F)备份LSP。

§3.附图说明

图1图示了入口路由器与出口路由器之间的LSP上的MPLS操作的示例。

图2图示了被多重连接到运输网络的两个提供方边缘设备(PE) 的客户边缘设备(CE)的示例,其中循环可能发生在多于一次的快速重路由(FRR)的事件中。

图3图示了示例弹性环网络,其中循环可能发生在多于一次的 FRR的事件中。

图4A图示了示例网络的第一LSP上的MPLS操作的示例,并且图4B图示了图4A的转发表。

图5A图示了绕过故障链路的转发,这可以用于图4A的示例网络。图5B图示了用于保护故障链路的转发表。

图6A和图6B图示了在另一个单一链路故障的情况下在图4A的示例网络中的旁路操作。

图7A至图7C图示了在单一链路故障的情况下在图4A的示例网络中的旁路操作。

图8A至图8D图示了在双链路故障和多于一次的FRR的事件中在图4A的示例网络中的潜在循环问题。

图9是用于按照与本说明书一致的方式避免通信网络中的循环的示例方法的流程图。

图10图示了两个数据转发系统,这些系统可以被用作节点,经由通信链路被耦合在通信网络中,诸如,采用FRR的通信网络。

图11是可以使用通信网络(诸如,采用FRR的通信网络)的路由器的框图。

图12是示例架构,其中ASICS可以被分布在分组转发组件中,以划分分组转发的责任。

图13A和图13B是图12的示例架构的操作的示例。

图14是用于在示例路由器中提供分组转发的示例方法的流程图。

图15是示例性机器的框图,该机器可以执行所描述的一个或多个过程,和/或存储由这些过程使用和/或生成的信息。

图16A至图16D图示了在图4A的示例网络中的图9的示例方法的操作。

图17A至图17C图示了在图4A的示例网络中的图9的示例方法的操作。

§4.具体实施方式

本公开可以涉及用于避免通信网络(诸如,采用FRR的通信网络) 中的循环的新颖方法、装置、消息格式和/或数据结构。以下描述被呈现以使本领域技术人员能够制造和使用所描述的实施例,并且在特定应用及其要求的上下文中被提供。因此,示例实施例的以下描述提供了说明和描述,但并不旨在是详尽的或者并不旨在使本公开限于所公开的精确形式。对所公开的实施例的各种修改对于本领域技术人员而言将是明显的,并且下面陈述的一般原理可以被应用于其他实施例和应用。例如,虽然一系列动作可以参照流程图来描述,但是当一个动作的执行不依赖于另一个动作的完成时,动作的顺序在其他实现中可能不同。此外,非从属动作可以并行进行。本说明书中所使用的元素、动作或指令不应被解释为对本说明书是关键或重要的,除非明确地这样描述。同样,如本文所使用的,冠词“一”旨在包括一个或多个项。在仅指一个项时,使用术语“一个”或类似的语言。因此,本公开不旨在限于所示的实施例,并且发明人将其发明视为所描述的任何可申请专利的主题。

§4.1(多种)示例方法

图9是用于避免通信网络中的循环的示例方法900的流程图。示例方法900可以由数据转发设备(诸如,LSP上的数据转发设备)执行。数据转发设备接收数据分组(框905),确定所接收到的数据分组的下一跳(框910)并且确定下一跳是否是可达到的(框915)。

参照决定框920,如果在一方面,确定下一跳是可达到的,则在示例方法900结束之前(节点960),数据分组是使用与下一跳相关联的转发表来转发的(决定920=是,以及框925)。要注意,传入标签将已经被下一跳标签替换(在LSP的中转路由器的情况下),或已经被弹出(在LSP的出口路由器的情况下或在由基于分段路由(SR) 的标签堆栈定义的路径的情况下)。返回参照决定框920,如果在另一方面,确定下一跳不是可达到的(决定920=否),则示例方法900 确定所接收到的数据分组是否包括标识数据分组已经进行了备份迂回(早前在LSP上)的信息(框930)。

参照决定框935,如果在一方面,已经确定所接收到的数据分组包括标识数据分组已经进行了备份迂回的信息(决定935=是),则在示例方法900结束之前(节点960),示例方法900丢弃数据分组 (框955)。这是因为如果发生了多于一次的FRR,则丢弃分组可能比循环的可能性更优选。返回参照决定框935,如果在另一方面,已经确定所接收到的数据分组不包括标识数据分组已经进行了备份迂回的信息(决定935=否),则备份下一跳和与备份下一跳相关联的转发标签被确定(框940),转发标签和指示备份迂回被进行的信息被添加到所接收到的数据分组,以生成更新的数据分组(框945),并且在示例方法900结束之前(节点960),更新的数据分组被转发到备份下一跳(框950)。要注意,传入标签将已经被下一跳标签替换(在LSP上的中转路由器的情况下),或已经被弹出(在LSP上的出口路由器的情况下或在由基于分段路由(SR)的标签堆栈定义的路径的情况下)。

返回参照框945,在示例方法900的一些实施例中,将转发标签和指示备份迂回正在被进行的信息添加到数据分组以生成更新的数据分组的动作包括:(1)用与备份下一跳相关联的转发标签代替所接收到的数据分组上的转发标签,以及(2)推送用于指示备份迂回正在被进行的标签。

返回参照框945,在示例方法900的一些实施例中,将转发标签和指示备份迂回正在被进行的信息添加到数据分组以生成更新的数据分组的动作包括:(1)将与备份下一跳相关联的转发标签堆叠到所接收到的数据分组上的转发标签上,以及(2)推送用于指示备份迂回正在被进行的标签。如果并且当用于指示备份迂回正在被进行的标签到达标签堆栈的顶部时,该标签被移除(弹出)。例如,这将发生在分组到达备份迂回(路径或隧道)的末端时。

返回参照框945,在示例方法900的一些实施例中,指示备份迂回正在被进行的信息是专用标签(SPL)(例如,参见K.Kompella 等人所著的文献“Allocating and RetiringSpecial-Purpose MPLS Labels (分配和退出专用MPLS标签)”、

在示例方法900的一些实施例中,备份下一跳指向备份LSP,备份LSP包括多个数据转发设备,并且被包括在备份LSP中的数据转发设备中的每一个都已经使用了控制信令(例如,IGP、BGP等)来指示它们能够处理指示备份迂回正在被进行的信息。

在示例方法900的一些实施例中,备份下一跳是以下中的一项的一部分:(A)迂回LSP、(B)备份隧道、(C)旁路隧道、(D) NHOP旁路隧道、(E)NNHOP旁路隧道和(F)备份LSP。

§4.2示例装置

例如,数据通信网络节点可以是转发设备,诸如,路由器。图10 图示了经由通信链路1030被耦合的两个数据转发系统1010和1020。链路可以是物理链路或“无线”链路。例如,数据转发系统1010、1020 可以是路由器。如果数据转发系统1010、1020是示例路由器,则每一个都可以包括控制组件(例如,路由引擎)1014、1024和转发组件 1012、1022。每个数据转发系统1010、1020都包括一个或多个接口 1016、1026,这些接口使一个或多个通信链路1030终止。

如上面所讨论的,并且参照图11,一些示例路由器1100包括控制组件(例如,路由引擎)1110和分组转发组件(例如,分组转发引擎)1190。

控制组件1110可以包括操作系统(OS)内核1120、(多个)路由协议过程1130、(多个)基于标签的转发协议过程1140、(多个) 接口过程1150、(多个)用户接口(例如,命令行接口)过程1160 和(多个)机架过程1170,并且可以存储(多个)路由表1139、标签转发信息1145和(多个)转发(例如,基于路由和/或基于标签的) 表1180。(例如,回顾图4B、图5B、图6B、图7B、图7C和图8B 至图8D)。如图所示,(多个)路由协议过程1130可以支持路由协议,诸如,路由信息协议(“RIP”)1131、中间系统到中间系统协议(“IS-IS”)1132、开放最短路径优先协议(“OSPF”)1133、增强型内部网关路由协议(“EIGRP”)1134和边界网关协议(“BGP”)1135,并且(多个)基于标签的转发协议过程1140可以支持协议,诸如,BGP 1135、标签分发协议(“LDP”)1136、资源预留协议 (“RSVP”)1137、EVPN 1138和L2VPN 1139。一个或多个组件(未示出)可以允许用户1165与(多个)用户接口过程1160交互。类似地,一个或多个组件(未示出)可以允许外部设备经由SNMP 1185 与(多个)路由器协议过程1130、(多个)基于标签的转发协议过程 1140、(多个)接口过程1150和(多个)机架过程1170中的一个或多个交互,并且这些过程可以经由SNMP 1185将信息发送到外部设备。

分组转发组件1190可以包括硬件组件(例如,ASIC、交换结构、光学器件等)1191上的微内核1192、(多个)接口过程1193、ASIC 驱动程序1194、(多个)机架过程1195和(多个)转发(例如,基于路由和/或基于标签的)表1196。

在图11的示例路由器1100中,控制组件1110处理任务,诸如,执行路由协议、执行基于标签的转发协议、控制分组处理等,这会使分组转发组件1190自由地快速转发所接收到的分组。即,所接收到的控制分组(例如,路由协议分组和/或基于标签的转发协议分组)在分组转发组件1190本身上没有被完全处理,而是被传递到控制组件 1110,从而减少了分组转发组件1190必须做的工作量并且使其自由地、有效地处理要被转发的分组。因此,控制组件1110主要负责运行路由协议和/或基于标签的转发协议,维护路由表和/或标签转发信息,将转发表更新发送到分组转发组件1190,并且执行系统管理。示例控制组件1110可以处理路由协议分组,提供管理接口,提供配置管理,执行计费并且提供警报。过程1130、1140、1150、1160和1170 可以是模块化的,并且可以与OS内核1120交互。即,几乎所有的过程都直接与OS内核1120通信。使用清楚地将过程彼此分开的模块化软件会隔离给定过程的问题,使得这些问题不会影响可能正在运行的其他过程。附加地,使用模块化软件有助于更容易扩展。

仍然参照图11,示例OS内核1120可以包含针对外部程序调用和脚本功能的应用编程接口(“API”)系统。控制组件1110可以基于从闪存运行OS的英特尔PCI平台,具有被存储在路由器的硬盘上的交替副本。OS内核1120在英特尔PCI平台上是分层的,并且在英特尔PCI平台与控制组件1110的过程之间建立通信。OS内核1120 还确保分组转发组件1190所使用的转发表1196与控制组件1110中的转发表1180同步。因此,除了将底层基础架构提供到控制组件1110 软件过程之外,OS内核1120还在控制组件1110与分组转发组件1190 之间提供链路。

参照图11的(多个)路由协议过程1130,该(多个)过程1130 在平台内提供路由和路由控制功能。在该示例中,RIP 1131、ISIS 1132、 OSPF 1133和EIGRP 1134(以及BGP1135)协议被提供。自然,其他路由协议可以被附加地或备选地提供。类似地,(多个)基于标签的转发协议过程1140提供标签转发和标签控制功能。在该示例中, LDP 1136、RSVP1137、EVPN 1138和L2VPN 1139(以及BGP 1135) 协议被提供。自然地,其他基于标签的转发协议(例如,MPLS、SR 等)可以被附加地或备选地提供。在示例路由器1100中,(多个) 路由表1139由(多个)路由协议过程1130产生,而标签转发信息1145 由(多个)基于标签的转发协议过程1140产生。

仍然参照图11,(多个)接口过程1150执行物理接口的配置和封装。

示例控制组件1110可以提供几种用于管理路由器的方式。例如,示例控制组件1110可以提供(多个)用户接口过程1160,其允许系统操作员1165通过配置、修改和监测与系统交互。SNMP 1185允许有SNMP能力的系统与路由器平台通信。这也允许平台将必要的SNMP信息提供到外部代理。例如,SNMP 1185可以允许通过框架(诸如,惠普公司的OpenView)从运行软件的网络管理站(诸如,惠普的网络节点管理器(“HP-NNM”))管理系统。分组的计费(通常被称为业务统计)可以由控制组件1110执行,从而避免减慢分组转发组件1190所进行的业务转发。

虽然未被示出,但是示例路由器1100可以提供带外管理、用于串行控制台和远程管理访问的RS-232DB9端口以及使用可移除PC 卡的第三级存储装置。此外,虽然未被示出,但是位于机架前面的工艺接口提供了进入路由器的内部运作的外部视图。它可以被用作故障诊断工具、监测工具或两者。工艺接口可以包括LED指示器、警报指示器、控制组件端口和/或显示屏。最后,工艺接口可以经由控制台端口、辅助端口和/或管理以太网端口提供与命令行接口(“CLI”) 1160的交互。

分组转发组件1190负责尽快正确地输出所接收到的分组。如果在针对给定目的地或给定标签的转发表中没有条目并且分组转发组件1190本身无法执行转发,则分组转发组件1190可以将前往未知目的地的分组发送到控制组件1110以进行处理。示例分组转发组件1190 被设计为执行层2和层3交换、路由查找和快速分组转发。

如图11所示,示例分组转发组件1190具有位于硬件组件1191 上的嵌入式微内核1192、(多个)接口过程1193、ASIC驱动程序1194 和(多个)机架过程1195,并且存储(多个)转发(例如,基于路由和/或基于标签的)表1196。微内核1192与(多个)接口过程1193 和(多个)机架过程1195交互,以监测和控制这些功能。(多个) 接口过程1192与控制组件1110的OS内核1120直接通信。这种通信包括将异常分组和控制分组转发到控制组件1110,接收要被转发的分组,接收转发表更新,将关于分组转发组件1190的健康的信息提供到控制组件1110,以及允许从控制组件1110的(多个)用户接口(例如,CLI)过程1160配置接口。所存储的(多个)转发表1196是静态的,直到从控制组件1110接收到新的转发表。(多个)接口过程1193使用(多个)转发表1196来查找下一跳信息。(多个)接口过程1193也直接与分布式ASIC通信。最后,(多个)机架过程1195 可以直接与微内核1192和ASIC驱动程序1194通信。

图12是ASICS如何可以被分布在分组转发组件1190中以划分分组转发的责任的示例。如图12所示,分组转发组件1190的ASIC可以被分布在物理接口卡(“PIC”)1210、灵活的PIC集中器(“FPC”) 1220、中板或背板1230以及(多个)系统控制板1240(用于交换和/ 或转发)上。交换结构也被示出为系统交换板(“SBB”)或交换和转发模块(“SFM”)1250。每个PIC1210都包括一个或多个PIC I/O 管理器1215。每个FPC 1220都包括一个或多个I/O管理器1222,每个I/O管理器都有相关联的存储器1224。中板/背板1230包括缓冲区管理器1235a、1235b。最后,系统控制板1240包括互联网处理器1242 和转发表1244的实例(例如,回顾图11的1196)。

仍然参照图12,PIC 1210包含接口端口。每个PIC 1210都可以被插入FPC 1220。每个单独的PIC 1210都可以包含ASIC,该ASIC 处理媒体特定功能,诸如,成帧或封装。一些示例PIC 1210提供 SDH/SONET、ATM、吉比特以太网、快速以太网和/或DS3/E3接口端口。

FPC 1220可以包含一个或多个PIC 1210,并且可以将来自PIC 1210的信号承载到中板/背板1230,如图12所示。

中板/背板1230保持线卡。线卡可以在从前面插入示例路由器的机架时连接到中板/背板1230中。控制组件(例如,路由引擎)1110 可以从机架的后面插入中板/背板1230的后面。中板/背板1230可以将电(或光学)信号和功率承载到每个线卡和控制组件1110。

系统控制板1240可以执行转发查找。系统控制板1240也可以将错误传递到路由引擎。此外,系统控制板1240也可以基于其从传感器接收到的信息来监测路由器的状况。如果检测到异常状况,则系统控制板1240可以立即通知控制组件1110。

参照图12、图13A和图13B,在一些示例性路由器中,PIC 1210、 1110’中的每一个包含至少一个I/O管理器ASIC 1215,其负责媒体特定任务,诸如,封装。分组在它们进出路由器的途中穿过这些I/O ASIC。在适当的时候,PIC 1210、1110’上的I/O管理器ASIC 1215负责管理到FPC 1220、1120’上的I/O管理器ASIC 1222的连接,管理链路层成帧并且创建比特流,执行循环冗余检查(CRC)以及检测链路层错误并且生成警报。FPC 1220包括另一个I/O管理器ASIC 1222。该ASIC 1222从PIC 1210获得分组并且将它们分解成(例如, 74字节)内存块。该FPC I/O管理器ASIC 1222将块发送到第一分布式缓冲区管理器(DBM)1235a’,以解码封装和协议特定的信息,对每个逻辑电路的分组和字节进行计数,验证分组完整性并且将服务类别(CoS)规则应用于分组。此时,分组首先被写入存储器。更具体地,示例DBMASIC 1235a’跨所有FPC 1220管理分组并且将分组写入共享存储器1224。并行地,第一DBMASIC 1235a’也提取关于分组的目的地的信息,并且将这种与转发相关的信息传递到互联网处理器1242/1142’。互联网处理器1242/1142’使用转发表1244执行路由查找,并且将信息发送到第二DBM ASIC 1235b’。互联网处理器ASIC 1242/1142’也收集异常分组(即,没有转发表条目的分组),并且将它们发送到控制组件1110。第二DBM ASIC 1235b’然后获得这种信息和74字节块,并且将它们转发到出口FPC 1220/1120’(或多个出口FPC,在多播的情况下)的I/O管理器ASIC 1222以进行重组。(因此,DBM ASIC 1235a’和1235b’负责管理分布在所有FPC 1220/1120’上的分组存储器1224,从分组提取与转发相关的信息并且指令FPC将分组转发到何处。)

出口FPC 1220/1120’上的I/O管理器ASIC 122可以执行一些增值服务。除了增加生存时间(“TTL”)值和重新封装分组以用于由PIC 1210处理之外,它还可以应用服务类别(CoS)规则。要做到这一点,在将规则应用于分组之前,它可以在可用队列中的一个队列中对指向分组的指针进行排队,每个队列具有链路带宽的共享。排队可以基于各种规则。因此,出口FPC 1220/1120’上的I/O管理器ASIC 1222可以负责接收来自第二DBM ASIC1235b’的块,增加TTL值,在应用 CoS规则之前,如果必要的话,则对指向分组的指针进行排队,重新封装块,并且将封装的分组发送到PIC I/O管理器ASIC 1215。

图14是用于在示例路由器中提供分组转发的示例方法1400的流程图。当分组在入口(传入)端口或接口上被接收到时,方法1400 的主要动作被触发。(事件1410)它所服务的介质类型所要求的校验和以及帧校验的类型被执行,并且分组被输出作为串行比特流。(框1420)分组然后被解封装并且解析成(例如,64字节)块。(框1430) 分组被写入缓冲区存储器,并且转发信息在互联网处理器上被传递。 (框1440)传递的转发信息然后被用来查找转发表中的路由。(框 1450)要注意,转发表通常可以处理没有选项(例如,计费)设置的单播分组以及其在转发表中已经有缓存条目的多播分组。因此,如果确定这些条件得到了满足(决定1460的是分支),则分组转发组件找到下一跳和出口接口,并且在方法1400结束之前(节点1490),分组经由出口接口被转发(或被排队以进行转发)到下一跳(框1470)。否则,如果这些条件没有得到满足(决定1460的否分支),则在方法1400结束之前(节点1490),转发信息被发送到控制组件1110以进行高级转发解析(框1480)。

返回参照框1470,分组可以被排队。实际上,如早期参照图12 所陈述的,指向分组的指针可以被排队。分组本身可以保留在共享存储器中。因此,在没有实际分组的情况下,所有排队决定和CoS规则都可以被应用。当针对分组的指针到达行的前面时,I/O管理器ASIC 1222可以将针对分组的请求发送到第二DBM ASIC 1235b。DBM ASIC 1235从共享存储器中读取块,并且将它们发送到FPC 1220上的 I/O管理器ASIC 1222,其然后对比特进行序列化,并且将它们发送到出口接口的媒体特定ASIC。出口PIC 1210上的I/O管理器ASIC1215 可以应用物理层成帧,执行CRC并且通过链路将比特流发送出去。

返回参照图14的框1480和图12,关于控制分组和异常分组的传输,系统控制板1240处理几乎所有的异常分组。例如,系统控制板 1240可以将异常分组传递到控制组件1110。

虽然符合本说明书的示例实施例可以在图10或图11的示例路由器上被实现,但是符合本说明书的实施例可以在具有不同架构的通信网络节点(例如,路由器、交换机等)上被实现。更一般地,符合本说明书的实施例可以在示例系统1400上被实现,如图15所示。

图15是示例性机器1500的框图,该机器可以执行所描述的一个或多个过程,并且/或者存储由这些过程使用和/或生成的信息。示例性机器1500包括一个或多个处理器1510、一个或多个输入/输出接口单元1530、一个或多个存储设备1520和一个或多个总线和/或网络 1540,它们用于促进耦合的元件之间的信息传递。一个或多个输入设备1532和一个或多个输出设备1534可以与一个或多个输入/输出接口 1530耦合。一个或多个处理器1510可以执行机器可执行的指令(例如,在可从许多供应方广泛获得的Linux操作系统上运行的C或C++),以影响本说明书的一个或多个方面。机器可执行命令的至少一部分可以被存储(暂时或更永久地)在一个或多个存储设备1520 上和/或可以经由一个或多个输入接口单元1530从外部源被接收到。机器可执行指令可以作为各种软件模块被存储,每个模块执行一个或多个操作。功能软件模块是本说明书的组件的示例。

在符合本说明书的一些实施例中,处理器1510可以是一个或多个微处理器和/或ASIC。总线1540可以包括系统总线。存储设备1520 可以包括系统存储器,诸如,只读存储器(ROM)和/或随机存取存储器(RAM)。存储设备1520还可以包括用于从硬盘读取和写入其的硬盘驱动器、用于从(例如,可移除的)磁盘读取或写入其的磁盘驱动器、用于从可移除的(磁)光盘(诸如,压缩盘或其他(磁)光介质)读取或写入其的光盘驱动器或者固态非易失性存储装置。

符合本说明书的一些示例实施例也可以作为用于存储机器可执行的指令的机器可读介质而被提供。机器可读介质可以是非瞬态的,并且可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、 EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何其他类型的机器可读介质。例如,符合本说明书的示例实施例可以作为计算机程序被下载,该计算机程序可以通过通信链路(例如,调制解调器或网络连接)而被从远程计算机(例如,服务器)传输到请求计算机 (例如,客户端),并且被存储在非瞬态存储介质上。机器可读介质也可以被称为处理器可读介质。

符合本说明书的示例实施例(或其组件或模块)可以被实现在硬件中,诸如,一个或多个现场可编程门阵列(“FPGA”)、一个或多个集成电路(诸如,ASIC)、一个或多个网络处理器等。备选地或另外,符合本说明书的实施例(或其组件或模块)可以被实现为由处理器执行的程序指令。这种硬件和/或软件可以在寻址数据(例如,分组、单元等)转发设备(例如,交换机、路由器等)、膝上型计算机、台式计算机、平板计算机、移动电话或具有计算和联网能力的任何设备中被提供。

§4.3(多种)示例方法的示例操作

图16A至图16D图示了在链路N2-N3和N6-N7同时发生故障的情况下在图4A的示例网络中的图9的示例方法的操作。参照图16A 和图16B,旁路LSP保护链路N2-N3被调用,并且业务经由N6和 N7被发送到N3。更具体地,当分组(PKT)到达N1时,N1将标签 L1推送到分组上,并且将产生的有标签的分组(L1-PKT)发送到下一跳N2。(例如,回顾图9的框905、框910、框915、框920=是、以及框925。)由于N2-N3链路已经发生故障,因此在将标签L1替换为标签L2之后,N2使用图16C的旁路转发表将标签L4推送到堆栈上,添加指示备份迂回正在被进行的信息(例如,添加专用的没有进一步的快速重路由(NFFRR)标签)并且将产生的数据 (L4-NFFRR-L2-PKT)发送到下一跳N6。(例如,回顾图9的框905、框910、框915、框920=否、框930、框935=否、框940、框945和框950。)由于N6-N7链路已经发生故障,因此代替简单地将标签L4替换为标签L5并且将结果发送到下一跳N7,N6确定所接收到的数据分组是否包括标识数据分组(已经)进行了备份迂回的信息。(例如,回顾图9的框905、框910、框915、框920=否、以及框930。) 由于在这种情况下,所接收到的分组的确包括标识数据分组(已经) 进行了备份迂回的信息(例如,NFFRR特殊标签),因此分组被丢弃。 (例如,回顾图9的935=是、以及955。)

将图16A至图16D的示例操作与图8A至图8D的示例操作进行比较,虽然分组被丢弃,但是避免了分组在N2与N6之间循环。

图17A至图17C图示了在链路N2-N3已经发生故障,但是不需要第二次FRR的情况下在图4的示例网络中的图9的示例方法的操作。参照图17A和图17C,旁路LSP保护链路N2-N3被调用,并且业务经由N6和N7被发送到N3。更具体地,当分组(PKT)到达N1 时,N1将标签L1推送到分组上,并且将产生的有标签的分组 (L1-PKT)发送到下一跳N2。(例如,回顾图9的框905、框910、框915、框920=是、以及框925。)由于N2-N3链路已经出现故障,因此在将标签L1替换为标签L2之后,N2使用图17C的旁路转发表将标签L4推送到堆栈上,添加指示备份迂回正在被进行的信息(例如,添加专用的没有进一步的快速重路由(NFFRR)标签)并且将产生的数据(L4-NFFRR-L2-PKT)发送到下一跳N6。(例如,回顾图 9的905、910、915、920=否、930、935=否、940、945和950。)N6 然后将标签L4替换为L5,并且将产生的数据(L5-NFFRR-L2-PKT) 发送到下一跳N7。(例如,回顾图9的905、910、915、920=是、以及925。)N7然后弹出标签L5和NFFRR特殊标签,并且将产生的有标签的分组(L2-PKT)发送到下一跳N3。(例如,回顾图9的905、 910、915、920=是、以及925。)N3然后将标签L2替换为标签L3,并且将产生的有标签的分组(L3-PKT)转发到下一跳N4。(例如,回顾图9的905、910、915、920=是、以及925。)N4然后弹出标签L3,并且基于其转发表中的进一步的信息(未示出)将产生的分组(PKT)转发到其目的地。

将图17A至图17C与图7A至图7C进行比较,如这个示例所演示的,当循环不是潜在问题时,示例方法900不会对转发产生影响(除了添加和稍后弹出特殊的NFFRR标签之外)。即,指示快速重路由已经发生的信息(例如,特殊的标签NFFRR)被添加,并且然后被移除。

§4.4改进、替代和扩展

返回参照图9的框945,除了备份下一跳所需的运输标签之外,可能还有另一个标签(例如,“服务标签”)。这种服务标签可能是网络提供的服务需要的,并且服务在运输LSP(诸如,EVPN、VPLS 或L3VPN等)顶部运行。

虽然一些实施例在FRR(其通常使用RSVP TE以严格地预先计算旁路路径)的上下文中进行了描述,但是也可以使用其他计算旁路路径的方式(例如,参见A.Atlas,Ed.所著的文献“Basic Specification for IP Fast Reroute:Loop-Free Alternates(用于IP快速重路由的基本规范:无循环替代)”,

节点的用于实现上述示例方法的能力可以被传递。以这种方式,如果LSP中的节点未被配置为执行这种示例方法,则上游节点可能不会执行该方法,因为如果SPL不被理解,则具有专用标签(SPL)(例如,NFFRR标签)的分组可能被丢弃。IGP、BGP等可以用于标志能力。现在描述标志NFFRR能力的三种可能的方式——针对具有BGP 的MPLS服务、针对具有目标LDP的MPLS服务和针对MPLS转发。

首先,如在‘101临时申请的附录中所描述的,用于标志针对具有 BGP的MPLS服务的NFFRR能力的理想选择将是由比特向量组成的属性,该比特向量中的一个比特将是处理BGP服务标签下面的 NFFRR SPL的能力。这可以由BGP L2VPN、BGP VPLS、EVPN、E-Tree 和E-VPWS使用。一种备选方案是使用BGP能力可选参数。

第二,标志针对用目标LDP标志的MPLS服务的NFFRR能力的一种方法是引入新的LDP TLV(被称为NFFRR能力TLV),作为标签映射消息中的可选参数。(例如,参见L.Andersson,Ed.所著的文献“LDP Specification(LDP规范)”,

第三,路由器处理NFFRR SPL的能力可以使用链路状态路由器 TE节点能力来标志(例如,参见J.P.Vasseur和J.L.Le Roux,Eds.所著的文献“IGP Routing ProtocolExtensions for Discovery of Traffic Engineering Node Capabilities(用于发现业务工程节点能力的IGP路由协议扩展)”,

虽然这不是必须的,但在数据转发设备的数据或转发平面(例如,回顾图10的1012和1022以及图11的1190。)上(代替在控制平面上)尽可能多地实现示例方法是有利的。

虽然示例方法900是在MPLS的上下文中被描述的,但是它也可以用于采用分段路由(SR)的网络。然而,其在SR域中的使用在存储器和标签开销方面可能变得昂贵。更具体地,如上面参照图5A和图5B注释的,旁路隧道可以使用SPRING堆栈来设置。(例如,回顾SRMPLS草案。)假设旁路隧道是使用SPRING MPLS并且具体地是使用邻近SID而被实例化的(例如,参见A.Bashandy和C.Filsfils, Eds.所著的文献“

N6会看到标签L20,弹出它,注意NFFRR标签并且弹出它,然后尝试将分组发送到N7。如果链路N6-N7是故障的,则N6由于 NFFRR标签的存在而丢弃分组。否则,N7将接收分组,看到L21,弹出它,看到NFFRR,弹出它并且尝试将分组发送到N3。如果链路 N7-N3是故障的,则N7由于NFFRR标签的存在而丢弃分组。否则, N2获得具有L2的分组,将该标签L2替换为标签L3并且将其发送到 N4。

注意,利用SPRING MPLS,需要NFFRR标签针对旁路堆栈中的每个标签重复。因此,“常规的”SPL可能比“扩展的”SPL更优选。

注意,第二(或“进一步的”)FRR不需要响应于第二故障而发生。例如,如果图2的CE2发生故障,则单一的故障可以导致多于一次的FRR。即,单一的节点故障可以使多于一个的链路变得不可用。

在发生故障的链路周围提供替代路径的保护LSP可以是(或可以被称为或可以包括)迂回LSP、备份隧道、旁路隧道、NHOP旁路隧道、NNHOP旁路隧道、备份LSP等。

某些示例实施例的进一步的细节可以在‘101临时申请的附录中进行描述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号