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

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

Info

Publication number
CN113132224A
CN113132224A CN202010318733.5A CN202010318733A CN113132224A CN 113132224 A CN113132224 A CN 113132224A CN 202010318733 A CN202010318733 A CN 202010318733A CN 113132224 A CN113132224 A CN 113132224A
Authority
CN
China
Prior art keywords
label
backup
data packet
next hop
forwarding
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.)
Pending
Application number
CN202010318733.5A
Other languages
English (en)
Inventor
K·科姆佩拉
林雯
K·王
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN113132224A publication Critical patent/CN113132224A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

在较早的进一步快速重路由(FRR)之后通过防止FRR来避免 循环
§0.相关应用
本申请要求于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.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(目的地环回):
Figure BDA0002460487380000051
R1将标签L1(L1-1000002)推送到分组上,并且将有标签的分组(L1+IP)转发到路由器R2。R2针对被存储在其MPLS转发表中的以下信息检查输入标签1000002:
Figure BDA0002460487380000052
结果,R2完成标准的MPLS标签替换操作,将标签L1替换为标签L2(L2-10000003),并且将有标签的分组(L2+IP)转发到路由器R3。R3针对被存储在其MPLS转发表中的以下信息检查输入标签 10000003:
Figure BDA0002460487380000053
结果,R3完成标准的MPLS标签替换操作,将标签L2替换为标签L3(L3-10000004),并且将有标签的分组(L3+IP)转发到路由器R4。R3针对被存储在其MPLS转发表中的以下信息检查输入标签 10000004:
Figure BDA0002460487380000054
由于R4是到路由器R5(PE2)的LSP的倒数第二跳路由器,因此它首先弹出标签L3,然后将分组转发到路由器R5。当R5接收到分组时,它可以具有服务标签、显式空标签,或只是普通IP或层2 以太网分组。R5然后将无标签的分组转发到路由器CE2。
综上所述,在静态LSP的情况下,R1通过MPLS标记到达R5,该MPLS标记由下面的跟踪路由结果表示:
Figure 1
§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)支持)”,针对评论8317的请求(互联网工程任务小组,2018年1月)(被称为“RFC 8317”并且通过引用并入本文)。)、EVPN-VPWS(例如,参见S.Boutros等人所著的文献“Virtual Private Wire Service Support in Ethernet VPN(以太网VPN中的虚拟专用线服务支持)”,针对评论8214的请求(互联网工程任务小组,2017年8月)(被称为“RFC 8214”并且通过引用并入本文)。)、IP VPN(例如,参见E.Rosen 等人所著的文献“BGP/MPLS IPVirtual Private Networks(VPNs) (BGP/MPLS IP虚拟专用网络(VPN))”,针对评论4364的 请求 (互联网工程任务小组,2006年2月)(被称为“RFC 4364”并且通过引用并入本文)。)或VPLS(例如,参见K.Kompella,Ed.所著的文献“Virtual Private LAN Service(VPLS)UsingBGP for Auto-Discovery and Signaling(使用用于自动发现和信令的BGP的虚拟专用LAN服务(VPLS))”,针对评论4761的请求(互联网工程任务小组,2007年1月)(被称为“RFC4761”并且通过引用并入本文)以及M.Lasserre,Ed.所著的“Virtual Private LANService(VPLS) Using Label Distribution Protocol(LDP)Signaling(使用标签分发协议 (LDP)信令的虚拟专用LAN服务(VPLS))”,针对评论4762的请求(互联网工程任务小组,2007年1月)(被称为“RFC 4762”并且通过引用并入本文)。)。如果是这样,则当CE2发生故障时,单播业务也会出现相同的循环行为。
§1.2.3.2由环保护网络中的FRR导致的潜在循环问题
图3图示了示例弹性MPLS环(RMR)(例如,参见K.Kompella 等人所著文献“Resilient MPLS Rings(弹性MPLS环)”),draft-ietf-mpls-rmr-12(互联网工程任务小组,2019年10月23日)(被称为“RMR草案”并且通过引用并入本文),并且还参见于2019年 9月30日提交并且列出Raveendra Torvi、Abhishek Deshmukh、Kireeti Kompella、TarekSaad、Vishnu Pavan Beeram和Ronald Bonica作为发明人的名称为“RESILIENTMULTIPROTOCOL LABEL SWITCHING (MPLS)RINGS USING SEGMENT ROUTING(使用分段路由的弹性多协议标签交换(MPLS)环)”的美国专利申请序列号16/588,434),弹性MPLS环(RMR)具有被链接在一起以形成环的节点R0至R7。业务可以沿环在顺时针方向(如虚线弧所示)或在逆时针方向(如点划弧所示)前进。例如,假设业务在顺时针路径上从R0转到R4;R0 ->R1->R2->R3->R4。如果该顺时针路径中的任何一个链路或节点 (除了R0和R4之外)发生故障,则数据业务可以通过将该数据业务切换到从R0到R4的逆时针路径上而被保护;即,R0->R7->R6->R5 ->R4。如果R0或R4之间的节点或链路是故障的,则这种保护效果很好。然而,如果节点R4本身是故障的,则其相邻的邻居R3将数据业务逆时针发送到R4(经由R2、R1、R0、R7、R6和R5)。当这种重定向的数据业务到达R4的其他相邻的邻居R5时,由于R4是故障的,因此R5将数据业务顺时针发送到R4(经由R6、R7、R0、R1、 R2和R3)。数据业务将继续循环(在顺时针路径与逆时针路径之间交替),直到TTL到期。(相似的循环问题可能在双链路故障的事件中发生;一个链路在顺时针路径上并且另一个链路在逆时针路径上。) RMR草案提供了更多的细节,并且提供了一些缓解措施,尽管它会对改进RMR草案中所描述的技术有用。
§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扩展)”,针对评论3209的请求(互联网工程任务小组,2001年11月)(被称为“RFC 3209”并且通过引用并入本文)。)而被设置或使用SPRING堆栈(例如,参见A.Bashandy,Ed.所著的文献“Segment Routing with MPLS data plane(利用MPLS数据平面进行分段路由)”,draft-ietf-spring-segment-routing-mpls-22(互联网工程任务小组,2019 年5月1日)(被称为“SR MPLS草案”并且通过引用并入本文)。) 而被设置。)如图所示,当数据业务(PKT)由N2接收时,由于链路N2-N3不可用,因此N2在标签L4上进行推送,并且将产生的数据(L4-PKT)发送到下一跳N6。N6将标签L4替换为L5,并且将产生的数据(L5-PKT)发送到下一跳N7。N7然后弹出标签L5,并且将产生的数据(PKT)发送到下一跳N3。即,对于LSP N1-N2-N3-N4,链路N2-N3可以由旁路N2-N6-N7-N3保护。
图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标签)”、针对评论7274的请求(互联网工程任务小组,2014年6月)(被称为“RFC 7274”并且通过引用并入本文)。)(建议值:8,经互联网号码分配局批准)或分配的标签。备选地,可以使用扩展SPL,因此,一对标签指示不需要进一步的快速重路由。然而,在本申请所描述的深度为N的SPRING MPLS 旁路隧道的情况下,标签堆栈将增加2*N,而使用常规(多个)SPL 只会将堆栈增加N个标签。
在示例方法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快速重路由的基本规范:无循环替代)”,针对评论5286的请求(互联网工程任务小组, 2008年9月)(被称为“RFC 5286”并且通过引用并入本文)、S.Bryant, et al.等人所著的“RemoteLoop-Free Alternate(LFA)Fast Reroute(FRR) (远程无循环替代(LFA)快速重路由(FRR))”,针对评论7490的请求(互联网工程任务小组,2015年4月)(被称为“RFC 7490”并且通过引用并入本文)以及S.Litkowski等人所著的“Topology Independent Fast Rerouteusing Segment Routing(使用分段路由的拓扑独立快速重路由)”、draft-ietf-rtgwg- segment-routing-ti-lfa-01(互联网工程任务小组,2019年3月5日)(被称为“TI-LFA草案”并且通过引用并入本文)。)。即,虽然一些示例实施例可应用于使用旁路隧道的保护方案,但是它们也可以被应用于使用LFA或其任何变型的保护方案。
节点的用于实现上述示例方法的能力可以被传递。以这种方式,如果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规范)”,针对评论5036的请求(互联网工程任务小组,2007年10月)(被称为“RFC 5036”并且通过引用并入本文)。)该TLV具有类型TBD(建议:0x0207,经IANA 批准)和长度0。另一种方法是使用LDP能力。(例如,参见B.Thomas 所著的文献“LDP Capabilities(LDP能力)”,针对评论5561的请求(互联网工程任务小组,2009年7月)(被称为“RFC 5561”并且通过引用并入本文)。)这种方法具有在节点的基础上而不是在每个标签映射的基础上处理能力的优势。然而,似乎没有使用这种方法的其他文献。
第三,路由器处理NFFRR SPL的能力可以使用链路状态路由器 TE节点能力来标志(例如,参见J.P.Vasseur和J.L.Le Roux,Eds.所著的文献“IGP Routing ProtocolExtensions for Discovery of Traffic Engineering Node Capabilities(用于发现业务工程节点能力的IGP路由协议扩展)”,针对评论5073的请求(互联网工程任务小组,2007年12月)(被称为“RFC 5073”并且通过引用并入本文)。),其为中间系统-中间系统(IS-IS)和开放最短路径优先(OSPF)内部网关协议(IGP)工作。新的TE节点能力比特,即,N个比特(建议值: 5,经IANA批准)指示通告节点能够处理NFFRR SPL。
虽然这不是必须的,但在数据转发设备的数据或转发平面(例如,回顾图10的1012和1022以及图11的1190。)上(代替在控制平面上)尽可能多地实现示例方法是有利的。
虽然示例方法900是在MPLS的上下文中被描述的,但是它也可以用于采用分段路由(SR)的网络。然而,其在SR域中的使用在存储器和标签开销方面可能变得昂贵。更具体地,如上面参照图5A和图5B注释的,旁路隧道可以使用SPRING堆栈来设置。(例如,回顾SRMPLS草案。)假设旁路隧道是使用SPRING MPLS并且具体地是使用邻近SID而被实例化的(例如,参见A.Bashandy和C.Filsfils, Eds.所著的文献“Segment Routing with the MPLS Data Plane(利用MPLS数据平面进行分段路由)”,针对评论8660的请求(互联网工程任务小组,2019年12月)(被称为“RFC 8660”并且通过引用并入本文))。当N2接收到分组时,它将标签L1替换为L2。如果链路N6-N7和N7-N3的相应标签是L20和L21,则旁路包括将标签堆栈(L20-L21)推送到分组上,并且将分组发送到N6。为了指示FRR 已经发生并且为了丢弃分组而不是试图再次保护分组,N2必须在将分组发送到N6之前将(L20-NFFRR-L21-NFFRR)推送到分组上。如果分组来自具有标签L1的N1,则在将L1替换为L2之后,N2将具有标签堆栈(L20-NFFRR-L21NFFRR-L2)的分组发送到N6。
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临时申请的附录中进行描述。

Claims (20)

1.一种用于避免通信网络中的循环的计算机实现的方法,所述计算机实现的方法包括:
a)由第一数据转发设备接收要通过标签交换路径(LSP)被转发的数据分组;
b)确定所接收到的所述数据分组的下一跳;
c)确定所述下一跳是否是可达到的;以及
d)响应于确定所述下一跳不是可达到的,
1)确定(i)备份下一跳和(ii)与所述备份下一跳相关联的转发标签,以及
2)将所述转发标签和指示备份迂回正在被进行的信息添加到所述数据分组,以生成更新的数据分组,以及
3)由所述数据转发设备将所述更新的数据分组转发到所述备份下一跳,以及
否则,响应于确定所述下一跳是可达到的,使用与所述下一跳相关联的转发标签来转发所述数据分组。
2.根据权利要求1所述的计算机实现的方法,其中指示备份迂回正在被进行的所述信息是以下中的一项:(A)专用标签、(B)扩展专用标签和(C)分配的标签。
3.根据权利要求1所述的计算机实现的方法,其中将所述转发标签和指示备份迂回正在被进行的信息添加到所述数据分组以生成更新的数据分组的动作包括:
用与所述备份下一跳相关联的所述转发标签来代替所接收到的所述数据分组上的转发标签,以及
推送被用来指示备份迂回正在被进行的标签。
4.根据权利要求3所述的计算机实现的方法,其中被用来指示备份迂回正在被进行的所述标签是以下中的一项:(A)专用标签、(B)扩展专用标签和(C)分配的标签。
5.根据权利要求1所述的计算机实现的方法,其中将所述转发标签和指示备份迂回正在被进行的信息添加到所述数据分组以生成更新的数据分组的动作包括:
将与所述备份下一跳相关联的所述转发标签堆叠到所接收到的所述数据分组上的转发标签上,以及
推送被用来指示备份迂回正在被进行的标签。
6.根据权利要求5所述的计算机实现的方法,其中被用来指示备份迂回正在被进行的所述标签是以下中的一项:(A)专用标签、(B)扩展专用标签或(C)分配的标签。
7.根据权利要求1所述的计算机实现的方法,其中所述备份下一跳指向备份LSP,其中所述备份LSP包括多个数据转发设备,并且其中被包括在所述备份LSP中的所述数据转发设备中的每个数据转发设备已经使用控制信令来指示它们能够处理指示备份迂回正在被进行的所述信息。
8.根据权利要求1所述的计算机实现的方法,其中所述备份下一跳是以下中的一项的一部分:(A)迂回LSP、(B)备份隧道、(C)旁路隧道、(D)NHOP旁路隧道、(E)NNHOP旁路隧道和(F)备份LSP。
9.根据权利要求1所述的计算机实现的方法,还包括:
e)由所述LSP上的第二数据转发设备接收所述数据分组的实例;
f)确定所接收到的所述数据分组的所述实例的进一步的下一跳;
g)确定所述进一步的下一跳是否是可达到的;
h)响应于确定所述进一步的下一跳不是可达到的,
1)确定所接收到的所述数据分组的所述实例是否包括指示备份迂回被进行的所述信息,以及
2)响应于所接收到的所述数据分组的所述实例包括指示备份迂回被进行的所述信息的所述确定,丢弃所述数据分组的所述实例,以及
否则,响应于确定所述进一步的下一跳是可达到的,使用与所述进一步的下一跳相关联的转发标签来转发所述数据分组的所述实例。
10.根据权利要求1所述的计算机实现的方法,其中指示备份迂回被进行的所述信息是标签,所述计算机实现的方法还包括:
e)由所述LSP上的第二数据转发设备接收所述数据分组的实例,其中所述数据分组的所述实例包括传入标签;
f)使用所述传入标签来确定所接收到的所述数据分组的所述实例的进一步的下一跳;
g)确定所述进一步的下一跳是否是可达到的;
h)响应于确定所述进一步的下一跳不是可达到的,
1)确定所接收到的所述数据分组的所述实例是否包括指示备份迂回被进行的所述标签,以及
2)响应于所接收到的所述数据分组的所述实例包括指示备份迂回被进行的所述信息的所述确定,丢弃所述数据分组的所述实例,以及
否则,响应于确定所述进一步的下一跳是可达到的,
1)弹出所述数据分组的所述实例的所述传入标签,
2)如果指示备份迂回被进行的所述标签位于与所述数据分组的所述实例相关联的标签堆栈顶部,则移除指示备份迂回被进行的所述标签,
3)如果所述下一跳包括传出标签,则添加传出标签,以及
4)使用所述进一步的下一跳来转发所述数据分组的所述实例。
11.根据权利要求1所述的计算机实现的方法,其中所述备份迂回是由标签堆栈定义的分段路由(SR)路径。
12.根据权利要求1所述的计算机实现的方法,其中所述备份迂回是无环替代(LFA)路径。
13.一种用于避免通信网络中的循环的计算机实现的方法,所述计算机实现的方法包括:
a)由标签交换路径(LSP)上的数据转发设备接收具有传入标签的数据分组;
b)使用所述传入标签来确定所接收到的所述数据分组的下一跳;
c)确定所述下一跳是否是可达到的;
d)响应于确定所述下一跳不是可达到的,
1)确定所接收到的所述数据分组是否包括标识所述数据分组已经进行了备份迂回的信息,以及
2)响应于所接收到的所述数据分组包括标识所述数据分组已经进行了备份迂回的所述信息的所述确定,
丢弃所述数据分组,以及
否则,响应于所接收到的所述数据分组不包括标识所述数据分组已经进行了备份迂回的信息的确定,
确定(i)备份下一跳和(ii)与所述备份下一跳相关联的转发标签,
弹出所述传入标签,
将所述转发标签和指示备份迂回正在被进行的信息添加到所述数据分组,以生成更新的数据分组,以及
由所述数据转发设备将所述更新的数据分组转发到所述备份下一跳,以及
否则,响应于确定进一步的下一跳是可达到的,
弹出所述数据分组的所述实例的所述传入标签,
如果指示备份迂回被进行的所述标签位于与所述数据分组的所述实例相关联的标签堆栈顶部,则移除指示备份迂回被进行的所述标签,
如果所述下一跳包括传出标签,则添加传出标签,以及
使用所述进一步的下一跳来转发所述数据分组的所述实例。
14.一种数据转发设备,包括:
a)至少一个通信接口;
b)至少一个处理器;以及
c)至少一个存储设备,其存储处理器可执行的指令,所述处理器可执行的指令在由所述至少一个处理器执行时使所述至少一个处理器执行方法,所述方法包括:
1)由标签交换路径(LSP)上的所述数据转发设备接收数据分组;
2)确定所接收到的所述数据分组的下一跳;
3)确定所述下一跳是否是可达到的;
4)响应于确定所述下一跳不是可达到的,
A)确定所接收到的所述数据分组是否包括标识所述数据分组已经进行了备份迂回的信息,以及
B)响应于所接收到的所述数据分组包括标识所述数据分组已经进行了备份迂回的所述信息的所述确定,
丢弃所述数据分组,以及
否则,响应于所接收到的所述数据分组不包括标识所述数据分组已经进行了备份迂回的信息的确定,
确定(i)备份下一跳和(ii)与所述备份下一跳相关联的转发标签,以及
将所述转发标签和指示备份迂回正在被进行的信息添加到所述数据分组,以生成更新的数据分组,以及
由所述数据转发设备将所述更新的数据分组转发到所述备份下一跳,以及
否则,响应于确定所述进一步的下一跳是可达到的,使用与所述进一步的下一跳相关联的转发标签来转发所述数据分组。
15.根据权利要求14所述的数据转发设备,其中指示备份迂回正在被进行的所述信息是以下中的一项:(A)专用标签、(B)扩展专用标签和(C)分配的标签。
16.根据权利要求14所述的数据转发设备,其中所述备份下一跳指向备份LSP,其中所述备份LSP包括多个数据转发设备,并且其中被包括在所述备份LSP中的所述数据转发设备中的每个数据转发设备已经使用控制信令来指示它们能够处理指示备份迂回正在被进行的所述信息。
17.根据权利要求14所述的数据转发设备,其中所述备份下一跳是以下中的一项的一部分:(A)迂回LSP、(B)备份隧道、(C)旁路隧道、(D)NHOP旁路隧道、(E)NNHOP旁路隧道和(F)备份LSP。
18.根据权利要求14所述的数据转发设备,其中指示备份迂回被进行的所述信息是标签,所述方法还包括:
5)由所述LSP上的第二数据转发设备接收所述数据分组的实例,其中所述数据分组的所述实例包括传入标签;
6)使用所述传入标签来确定所接收到的所述数据分组的所述实例的进一步的下一跳;
7)确定所述进一步的下一跳是否是可达到的;
8)响应于确定所述进一步的下一跳不是可达到的,
确定所接收到的所述数据分组的所述实例是否包括指示备份迂回被进行的所述标签,以及
响应于所接收到的所述数据分组的所述实例包括指示备份迂回被进行的所述信息的所述确定,丢弃所述数据分组的所述实例,以及
否则,响应于确定所述进一步的下一跳是可达到的,
弹出所述数据分组的所述实例的所述传入标签,
如果指示备份迂回被进行的所述标签位于与所述数据分组的所述实例相关联的标签堆栈顶部,则移除指示备份迂回被进行的所述标签,
如果所述下一跳包括传出标签,则添加传出标签,以及
使用所述进一步的下一跳来转发所述数据分组的所述实例。
19.根据权利要求14所述的数据转发设备,其中所述备份迂回是由标签堆栈定义的分段路由(SR)路径。
20.根据权利要求14所述的数据转发设备,其中所述备份迂回是无环替代(LFA)路径。
CN202010318733.5A 2019-12-31 2020-04-21 在较早的进一步快速重路由(frr)之后通过防止frr来避免循环 Pending CN113132224A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962956101P 2019-12-31 2019-12-31
US62/956,101 2019-12-31
US16/779,413 US11362942B2 (en) 2019-12-31 2020-01-31 Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR
US16/779,413 2020-01-31

Publications (1)

Publication Number Publication Date
CN113132224A true CN113132224A (zh) 2021-07-16

Family

ID=70292802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010318733.5A Pending CN113132224A (zh) 2019-12-31 2020-04-21 在较早的进一步快速重路由(frr)之后通过防止frr来避免循环

Country Status (3)

Country Link
US (3) US11362942B2 (zh)
EP (1) EP3846394A1 (zh)
CN (1) CN113132224A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11362942B2 (en) * 2019-12-31 2022-06-14 Juniper Networks, Inc. Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR
US11855848B2 (en) * 2021-08-27 2023-12-26 Juniper Networks, Inc. Model-based service placement
US11770331B1 (en) * 2021-11-16 2023-09-26 Juniper Networks, Inc. Encoding forwarding policy data in multiprotocol label switching (MPLS) labels

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060164975A1 (en) * 2005-01-26 2006-07-27 Clarence Filsfils Loop prevention technique for MPLS using two labels
US20060221813A1 (en) * 2005-04-04 2006-10-05 Scudder John G Loop prevention techniques using encapsulation manipulation of IP/MPLS field
CN101044728A (zh) * 2004-12-10 2007-09-26 思科技术公司 Rfc 2574网络边缘处的快速重路由(frr)保护
CN101120552A (zh) * 2005-02-28 2008-02-06 思科技术公司 利用服务标签的mpls的环路防止技术
CN101326762A (zh) * 2005-10-20 2008-12-17 思科技术公司 在自治系统中构造和实现备用路径
US20130301403A1 (en) * 2012-05-09 2013-11-14 Juniper Networks, Inc. Fast reroute using loop free alternate next hops for multipoint label switched paths

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120151B1 (en) * 2001-09-27 2006-10-10 Cisco Technology, Inc. Method for fast label switchover with multiprotocol label switching
US8885461B2 (en) * 2011-07-06 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) MPLS fast re-route using LDP (LDP-FRR)
US8711855B1 (en) * 2012-12-18 2014-04-29 Juniper Networks, Inc. Topology discovery, control channel establishment, and datapath provisioning within an aggregation network with centralized control
US9253250B2 (en) * 2013-03-15 2016-02-02 Cisco Technology, Inc. Local reroute protection for multicast multiprotocol label switching
US10476811B2 (en) * 2017-03-10 2019-11-12 Juniper Networks, Inc Apparatus, system, and method for providing node protection across label-switched paths that share labels
US11362942B2 (en) * 2019-12-31 2022-06-14 Juniper Networks, Inc. Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044728A (zh) * 2004-12-10 2007-09-26 思科技术公司 Rfc 2574网络边缘处的快速重路由(frr)保护
US20060164975A1 (en) * 2005-01-26 2006-07-27 Clarence Filsfils Loop prevention technique for MPLS using two labels
CN101120552A (zh) * 2005-02-28 2008-02-06 思科技术公司 利用服务标签的mpls的环路防止技术
US20060221813A1 (en) * 2005-04-04 2006-10-05 Scudder John G Loop prevention techniques using encapsulation manipulation of IP/MPLS field
CN101326762A (zh) * 2005-10-20 2008-12-17 思科技术公司 在自治系统中构造和实现备用路径
US20130301403A1 (en) * 2012-05-09 2013-11-14 Juniper Networks, Inc. Fast reroute using loop free alternate next hops for multipoint label switched paths

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. ATLAS等: "Basic Specification for IP Fast Reroute: Loop-Free Alternates", 《IETF RFC5286》 *
P. PAN等: "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", 《IETF RFC4090》 *
S. BRYANT等: "A Framework for IP and MPLS Fast Reroute Using Not-Via Addresses", 《IETF 》 *

Also Published As

Publication number Publication date
US11362942B2 (en) 2022-06-14
US20210203598A1 (en) 2021-07-01
US11876706B2 (en) 2024-01-16
US20220272034A1 (en) 2022-08-25
US20240080268A1 (en) 2024-03-07
EP3846394A1 (en) 2021-07-07

Similar Documents

Publication Publication Date Title
CN112583717B (zh) 用于构建下一跳属性变化标签的方法、对等设备和介质
US11909556B2 (en) Resilient multiprotocol label switching (MPLS) rings using segment routing
US11277334B2 (en) Using and processing per slice segment identifiers in a network employing segment routing
CN113347091B (zh) 灵活算法感知边界网关协议前缀分段路由标识符
CN111901184A (zh) 路径监视系统控制器或多协议标签交换ping和路由追踪
US9979632B2 (en) Avoiding data traffic loss in a ring multihomed, in an active-standby manner, to a transport network
EP3796606B1 (en) Ping/traceroute for static label switched paths (lsps) and static segment routing traffic engineering (srte) tunnels
US11876706B2 (en) Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR
US11522794B2 (en) Time-to-live (TTL) handing for segment routing ping/traceroute
US11765077B1 (en) Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin AS
US11057295B1 (en) Loop avoidance and egress link protection with ethernet virtual private network (EVPN) fast reroute (FRR)
US11451478B1 (en) Distributed tactical traffic engineering (TE) using loop free alternative (LFA), remote-LFA (R-LFA) and/or topology independent-LFA (TI-LFA) secondary paths
CN111953605B (zh) 发信号通知支持标签交换路径(lsp)的节点或节点组件的计划的脱机以及使用这种信令
US11070468B1 (en) Serverless segment routing (SR)-label distribution protocol (LDP) stitching

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination