CN108989211A - 标签和相关联的业务黑洞校正 - Google Patents
标签和相关联的业务黑洞校正 Download PDFInfo
- Publication number
- CN108989211A CN108989211A CN201810279506.9A CN201810279506A CN108989211A CN 108989211 A CN108989211 A CN 108989211A CN 201810279506 A CN201810279506 A CN 201810279506A CN 108989211 A CN108989211 A CN 108989211A
- Authority
- CN
- China
- Prior art keywords
- router
- lsp
- message
- label information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L45/507—Label distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述了用于检测和校正标签交换路径(LSP)的路由器中的标签信息的错误编程而不需要在初始触发LSP的拆除的技术。例如,本公开中描述的技术使得入口路由器能够确定标签信息是否在LSP中的路由器的路由引擎(例如,控制平面)与转发引擎(例如,转发平面)之间被正确编程,并且通过通知路由器使用与LSP相关联的原始转发标签信息来重新编程转发引擎来校正对标签信息的任何错误编程。
Description
技术领域
本公开涉及计算机网络,并且更具体地涉及在计算机网络内转发分组。
背景技术
网络内的路由设备(通常称为路由器)保持描述通过网络的可用路由的路由信息。在接收到传入分组时,路由器检查分组内的信息并且根据路由信息来转发分组。为了保持网络的准确表示,路由器根据一个或多个定义的路由协议(诸如边界网关协议(BGP)或内部网关协议(IGP))来交换路由信息。
多协议标签交换(MPLS)是一种用于构建互联网协议(IP)网络内的业务模式的机制。通过使用MPLS,源设备可以请求通过网络的路径,即标签交换路径(LSP)。LSP定义了用于从源设备向目的地设备携带MPLS分组的通过网络不同路径。与特定LSP相关联的短标签被附加到经由LSP行进通过网络的分组。路径上的路由器协作地执行MPLS操作以沿着建立的路径转发MPLS分组。LSP可以用于各种业务工程目的,包括带宽管理和服务质量(QoS)。
存在各种用于建立LSP的协议。例如,一个这样的协议是标签分发协议(LDP)。另一种类型的协议是资源预留协议,诸如具有业务工程扩展的资源预留协议(RSVP-TE)。RSVP-TE使用约束信息(诸如带宽可用性)来计算路径并且在网络中沿着路径建立LSP。RSVP-TE可以使用由IGP链路状态路由协议(诸如中间系统-中间系统(ISIS)协议或开放式最短路径优先(OSPF)协议)累积的带宽可用性信息。
LSP的头端路由器通常被称为入口路由器,而LSP的尾端处的路由器通常被称为出口路由器。入口和出口以及沿着支持MPLS的LSP的中间或转接路由器通常被称为标签交换路由器(LSR)。入口路由器使用从出口路由器传播的路由信息来确定LSP,为LSP分配标签,并且为每个分组附加标签。LSR使用MPLS协议来从下游LSR接收MPLS标签映射并且向上游LSR发布MPLS标签映射。当LSR从上游路由器接收到MPLS分组时,LSR执行查找并且基于查找根据在其转发表中的信息来交换MPLS标签,并且将分组转发给适当的下游LSR。出口路由器根据基于非标签的分组转发技术来从分组中去除标签并且向分组的目的地转发分组。
发明内容
一般而言,本公开描述了用于检测和校正标签交换路径(LSP)的路由器中的标签信息的错误编程而不需要初始地触发LSP的拆除的技术。例如,本公开中描述的技术使得入口路由器能够确定标签信息是否在LSP中的路由器的路由引擎(例如,控制平面)与转发引擎(例如,转发平面)之间被正确编程,并且通过通知路由器使用与LSP相关联的原始标签信息来重新编程转发引擎来校正对标签信息的任何错误编程。
具体地,当沿着LSP的路由器的控制平面已经被分配或者以其他方式被编程为针对LSP的分组的一个值的标签,并且路由器的转发平面被错误编程为针对LSP的不同值的标签时,针对LSP所接收的具有第一标签的任何业务通常将被路由器丢弃,而不是沿着LSP被转发。如本文中描述的,入口路由器可以通过发送一个或多个自ping消息以检查LSP的健康状况来变为知道业务黑洞和分组丢失。根据本文中描述的示例实现,如果入口路由器未能接收到一个或多个自ping消息的成功返回,则LSP失败。作为响应,入口路由器可以发送端到端路径消息,端到端路径消息包括标志,该标志用于指示LSP中的路由器使用在控制平面内分配的标签来重新编程其转发引擎,由此引导沿着LSP的路由器尝试校正任何标签错误编程。接收到包含这个标志的自ping消息的沿着LSP的路由器通过使用与LSP相关联的原始标签信息来重新编程其转发引擎来响应。
在一些示例中,入口路由器可以重复发送一个或多个自ping消息的一个或多个迭代以确定LSP的转发状态是否已经被校正。如果入口路由器接收到一个或多个自ping消息的成功返回,则入口路由器可以确定错误编程被校正并且重置这个标志。如果在迭代之后入口路由器仍然无法接收到指示ping消息已经成功遍历整个LSP的返回的ping消息,则入口路由器可以触发先通后断(MBB)过程,在这个MBB过重中,新的LSP被发信号通知并且原始LSP的拆除被启动。以这种方式,入口路由器可以检测LSP中的故障,并且可以指示下游路由器校正对路由器的路由引擎与转发引擎之间的标签的任何错误编程,而不需要初始地触发新的LSP的发信号通知以及现有的LSP的拆除。
在一个示例中,一种方法包括由现有标签交换路径(LSP)的转接路由器从LSP的入口路由器接收端到端路径消息,端到端路径消息指定LSP的标识符并且包括标志,该标志用于指示转接路由器基于针对LSP的转接路由器的路由引擎的标签信息来编程转接路由器的转发引擎;以及由转接路由器基于这个标志,基于针对LSP的转接路由器的路由引擎的标签信息,编程针对LSP的转接路由器的转发引擎的标签信息。
在另一示例中,一种入口路由器可以包括耦合到标签交换路径(LSP)用于到达目的地网络设备的网络接口;以及一个或多个基于硬件的处理器,被配置为:确定LSP的转发状态的错误;生成端到端路径消息,该端到端路径消息至少包括标志,该标志用于指示沿着LSP的任何转接路由器基于转接路由器的路由引擎的标签信息来重新编程转接路由器的转发引擎的标签信息;以及向转接路由器发送至少包括这个标志的端到端路径消息。
在又一示例中,一种入口路由器可以包括耦合到标签交换路径(LSP)用于到达目的地网络设备的网络接口;以及一个或多个基于硬件的处理器,被配置为:确定LSP的转发状态的错误;生成端到端路径消息,该端到端路径消息至少包括标志,该标志用于指示沿着LSP的任何转接路由器基于转接路由器的路由引擎的标签信息来重新编程转接路由器的转发引擎的标签信息;以及向转接路由器发送至少包括这个标志的端到端路径消息。
在附图和下面的描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从说明书和附图以及权利要求中很清楚。
附图说明
图1是示出根据本公开中描述的技术的用于检测和校正标签交换路径(LSP)的路由器的标签信息的错误编程而不需要初始地触发LSP的拆除的示例系统的框图;
图2是示出根据本公开中描述的技术的用于检测和校正LSP的路由器的标签信息的错误编程而不需要初始地触发LSP的拆除的另一示例系统的框图;
图3是示出被配置用于执行本公开中描述的公开技术的路由器的示例的框图;
图4是示出根据本公开中描述的技术的示例端到端路径消息的框图;
图5是示出根据本公开中描述的技术的系统的示例操作的流程图;以及
图6是示出根据本公开中描述的技术的系统的另一示例操作的流程图。
具体实施方式
图1是示出根据本公开中描述的技术的用于检测和校正标签交换路径(LSP)的标签信息的错误编程的示例网络系统10的框图。在图1的示例中,网络系统10包括入口路由器14、转接路由器16A至16D(“转接路由器16”)和出口路由器18。入口路由器14是标签交换路径(LSP)24的入口路由器,并且出口路由器18是LSP24的出口路由器。转接路由器16A、16B、16C和16D是沿着LSP 24的LSP实例25(表示为虚线)的路径的中间或转接路由器,其表示沿着LSP从入口流路由器14到出口路由器18的业务流。图1所示的网络系统10的配置仅仅是一个示例。例如,网络系统10可以包括任何数目的转接路由器16和LSP。尽管如此,为了便于描述,图1中仅示出了转接路由器16A至16D。
路由器14、16和18表示通过执行MPLS标签操作(诸如推送、交换或弹出来自遍历LSP实例25的分组的标签)来路由通过网络12或以其他方式通过网络12转发业务的任何网络设备。通常,路由器14、16、18表示L3分组交换设备,其在L3处操作以使用诸如内部网关协议(IGP)或边界网关协议(BGP)等路由协议来交换描述网络12的当前拓扑的路由信息。然后,路由器14、16、18处理这个路由信息,以通过其对网络12的拓扑的表示来选择路径以到达所有可用的目的地以生成转发信息。换言之,路由器14、16、18将这些路径减少到标识要将去往特定目的地的分组转发到的接口的所谓“下一跳”,其中转发信息包括这个下一跳的列表。然后,路由器14、16、18将这个转发信息安装在路由器的转发引擎中,由此,转发引擎根据转发信息来转发接收的业务。通常,转发引擎可以是用于在路由器的接口之间转发分组的任何组件,诸如使用转发表编程的转发电路或处理器。
网络12可以包括使用多协议标签交换(MPLS)协议来在IP网络的MPLS核上构建业务模式的互联网协议(IP)网络。通过利用MPLS,入口路由器14和出口路由器18可以通过网络12发信号通知不同的路径(即,LSP 24)以沿着远程客户网络6A至6B(“客户网络6”)中的客户或订户之间的特定跳携带分组。在每一跳处,与特定LSP(例如,LSP 24)相关联的短标签被附加到经由LSP 24行进通过网络12的分组。沿着这个路径的转接路由器16协作地执行MPLS操作以基于沿着建立的LSP 24的标签堆栈来转发分组。通常,每个转接路由器16将当前标签与由朝向出口的转接路由器中的下一下游转接路由器分配的标签进行交换,其中下游路由器与LSP 24相关联地分配标签。这样,每个路由器从其邻居上游路由器接收携带路由器为LSP分配的标签的业务。在接收到之后,路由器的转发引擎基于当前标签确定分组与LSP相关联,将标签与下游邻居路由器分配的标签交换,并且朝向出口将分组转发给下游路由器。存在各种用于建立LSP的协议,例如标签分发协议(LDP)和具有业务工程扩展的资源预留协议(RSVP-TE)。
在一些示例中,网络12可以是服务提供商网络。例如,网络12可以表示由服务提供商(通常是私人实体)拥有和操作的一个或多个网络,这些网络提供一个或多个服务用于由客户网络6中的客户或订户消费。在这种情况下,网络12通常是在公共网络(诸如互联网)与一个或多个客户网络6之间提供L3连接的三层(L3)分组交换网络。通常,由服务提供商网络12提供的这种L3连接作为数据服务或互联网服务被销售,并且客户网络6中的订户可以订阅这个数据服务。网络12可以表示L3分组交换网络,其提供数据、语音、电视和任何其他类型的服务用于由订户购买并且用于由客户网络6中的订户随后消费。
客户网络6可以是局域网(LAN)、广域网(WAN)或包括多个订户和/或客户设备(未示出)的其他专用网络。在一些示例中,客户网络6可以包括同一客户企业的分布式网络站点。在其他示例中,客户网络6可以属于不同的实体。客户网络6内的订户和/或客户设备可以包括个人计算机、膝上型计算机、工作站、个人数字助理(PDA)、无线设备、网络就绪设备、文件服务器、打印服务器或能够经由网络12请求和接收数据的其他设备。虽然在图1的示例中未示出,但是网络系统10可以包括附加的服务提供商网络、客户网络和其他类型的网络,诸如接入网络、专用网络或任何其他类型的网络。
在图1的示例中,路由器14、16、18可以使用RSVP-TE来建立LSP 24的LSP实例25。LSP 24是通过一个或多个标签交换跳跃的级联而创建的路径,其允许通过交换标签来从一个路由器到另一路由器转发分组。为了建立LSP 24,入口路由器14朝向出口路由器18发送RSVP路径消息,以请求建立LSP 24的LSP实例25。RSVP路径消息包括标签请求对象,标签请求对象请求转接路由器16和出口路由器18为LSP 24的LSP实例25提供下游分配标签。发送标签请求对象的路由器可以在对应的RSVP Resv(预留)消息中处理标签对象,使得路由器可以使用标签对象中的标签来标识与LSP 24相关联的传入业务。
RSVP路径消息还可以包括帮助会话标识和诊断的与LSP 24相关联的会话对象。会话对象还可以包括用于标识会话的LSP隧道的隧道标识符(隧道ID)。在一些情况下,RSVP路径消息可以包括指定入口路由器14与出口路由器18之间的LSP实例25的路径的显式路由对象(ERO)。例如,ERO可以包括沿着显式路由的转接路由器16的列表。接收包括ERO的RSVP路径消息的转接路由器16沿着由ERO指定的路径朝向目的地转发RSVP路径消息。
当LSP 24的出口路由器18接收到LSP实例25的RSVP路径消息时,出口路由器18以相反顺序遵循RSVP路径消息创建的路径状态朝向入口路由器14向上游发送回RSVP Resv消息。在一些示例中,如果路径状态是通过使用ERO创建的,则基于ERO在相反路径上发送RSVPResv消息。无论如何,沿着LSP实例25的路径的每个转接路由器16从下游路由器接收包括标签对象的RSVP Resv消息,并且使用所接收的标签来标识与LSP实例25相关联的输出业务。沿着LSP实例25的路径的每个转接路由器16然后分配新的标签,将这个标签放置在RSVPResv消息的对应标签对象中,并且朝向入口路由器14发送RSVP Resv消息。也就是说,从下游路由器接收的RSVP Resv消息的标签对象中的标签是转接路由器将用来标识与LSP 24的LSP实例25相关联的传入业务的标签。转接路由器然后可以基于所接收的标签和LSP实例25的分配的标签来编程其转发引擎,以便配置传入标签分组到下一跳标签转发条目的标签映射。当RSVP Resv消息到达入口路由器14时,LSP 24的LSP实例25被有效地建立。关于RSVP路径和Resv消息的其他细节,参见2001年12月的Network Working Group RFC 3209的D.Awduche的“RSVP-TE:Extensions to RSVP for LSP Tunnels”,其全部内容通过引用并入本文。
作为一个示例,入口路由器14可以发送RSVP路径消息27,RSVP路径消息27包括请求转接路由器16和出口路由器18为LSP 24的LSP实例25提供标签的标签请求对象。标签请求对象向接收标签请求对象的转接路由器16和出口路由器18中每个指示绑定这个路径的标签被请求,并且指示要在这个路径上携带的网络层协议。当出口路由器18接收到RSVP路径消息27时,标签请求对象的存在触发出口路由器18分配新的标签,例如500,并且出口路由器18将标签放置在RSVP Resv消息29的对应标签对象中。出口路由器18朝向入口路由器14向上游发送RSVP Resv消息29。
因为转接路由器16D将具有标签请求对象的RSVP路径消息27转发到出口路由器18,所以转接路由器16D被配置为接受并且处理由出口路由器18发送的RSVP Resv消息29的对应标签对象。转接路由器16D接收RSVP Resv消息29并且处理所接收的标签500。转接路由器16D分配新标签(例如,400),并且基于所接收的标签500和为LSP实例25分配的标签400来编程其转发引擎,以便将传入的标签分组映射到下一跳标签转发条目。分配的标签400被放置在RSVP Resv消息29的对应标签对象中,并且朝向入口路由器14向上游发送。
转接路由器16C还被配置为接受并且处理由转接路由器16D发送的RSVP Resv消息29的对应标签对象。转接路由器16C从转接路由器16D接收包括标签400的RSVP Resv消息,并且分配新的标签(例如,300),并且基于这些标签来编程其转发引擎以映射下一跳标签转发条目。转接路由器16C将分配的标签300放置在RSVP Resv消息29的对应标签对象中,并且朝向入口路由器14向上游发送RSVP Resv消息。
转接路由器16B从转接路由器16C接收包括标签300的RSVP Resv消息29,并且分配新的标签(例如,200),并且基于这些标签来编程其转发引擎以映射下一跳标签转发条目。转接路由器16B将分配的标签200放置在RSVP Resv消息29的对应标签对象中,并且朝向入口路由器14向上游发送包括分配的标签的RSVP Resv消息。
转接路由器16A从转接路由器16B接收包括标签200的RSVP Resv消息29,并且分配新的标签(例如,100),并且基于所接收的标签200和分配的标签100来编程其转发引擎以映射下一跳标签转发条目。转接路由器16A将标签放置在RSVP Resv消息29的对应标签对象中,并且朝向入口路由器14向上游发送包括分配的标签的RSVP Resv消息。
当RSVP Resv消息29到达入口路由器14时,入口路由器14安装其中LSP 24的LSP实例25被有效建立的转发状态。以这种方式,在RSVP Resv消息29的每个标签对象中发送的对应标签是相应路由器可以用于标识与LSP 24相关联的传入业务的标签。以这种方式,路由器14、16、18发信号通知LSP实例25的创建,以使用分配的标签沿着特定跳跃转发业务。
然而,在一些情况下,LSP 24的路由器的一个或多个转发引擎可能使用错误的标签信息(在本文中另外称为“下一跳标签映射信息”)被错误编程。也就是说,例如,由于数据损坏、存储器损坏、溢出存储器、和/或转发信息库(FIB)和/或存储器的编程错误,路由引擎可能在转发引擎中安装与路由引擎中的标签信息不同的标签信息。在其他示例中,转发引擎在先通后断(MBB)事件期间被错误编程,在MBB事件中,路由器可以在旧的路径被禁用之前尝试重新路由新的路径而不中断用户业务。
继续上述示例,转接路由器16C的路由引擎可以为LSP 24分配标签300。然而,由于编程错误,转接路由器16C的转发引擎可能使用传入标签“9999”被错误编程,并且丢弃具有传入标签300的LSP 24上的任何业务。通常,这个业务黑洞可能会继续丢弃业务,直到LSP24被拆除并且重新建立。
根据本公开中描述的技术,入口路由器14可以生成一个或多个自ping消息30用于检测和校正LSP 24中的错误编程。在一些示例中,一个或多个自ping消息30可以被理解为用于确定LSP 24的转发状态是否被正确安装在转接路由器16上的“自ping”消息。关于自ping程序的其他细节,参见2016年1月的Internet Engineering Task Force(IETF),RFC7746的R.Bonica的“Label Switched Path(LSP)Self-Ping”,其全部内容通过引用并入本文。
在一个示例中,入口路由器14可以封装具有标签100的第一自ping消息30并且将自ping消息插入到LSP 24中,其中由MPLS分组携带的自ping消息是寻址到本身的IP分组。这样,封装的自ping消息30朝向出口路由器18向下游流动通过LSP 24(即,在图1所示的LSP实例25内)。当LSP 24的每个转接路由器16接收到自ping消息30时,每个转接路由器16可以基于在其转发引擎上编程的标签信息来交换附加的标签。如果每个转接路由器16上的转发引擎已经使用正确的标签信息被编程,则出口路由器18接收自ping消息30,弹出附加到自ping消息30的标签,并且根据基于非标签的分组转发技术将自ping消息30转发到其目的地(入口路由器14)。响应于接收到自ping消息30的成功返回,入口路由器14确定LSP 24的路由器被正确编程。
如果LSP 24中的路由器的转发引擎使用不正确的标签信息被错误编程,则自ping消息30类似于遍历LSP实例25的其他MPLS业务被路由器丢弃。通过未能接收到自ping消息30,入口路由器14确定LSP 24的路由器的转发引擎可能被错误编程。在一些示例中,入口路由器14可以仅在未能接收到附加的自ping消息30之后确定LSP 24的转发状态有错误。也就是说,入口路由器14可以连续发送一个或多个自ping消息30作为自ping的第一迭代的一部分,并且如果一个或多个自ping消息30未成功地返回到入口路由器14,则入口路由器14可以确定LSP 24的转发状态有错误。
响应于确定LSP 24的转发状态有错误,入口路由器14可以向LSP 24中的其他路由器通知这个错误并且指示路由器尝试重新编程它们的转发信息。为了向其他路由器通知这个错误,入口路由器14可以输出遍历沿着LSP的路由器的增强的端到端路径消息,例如RSVP路径消息,其中路径消息被增强以包括标志(本文中另外称为“重新编程标志”),该标志指示任何接收路由器使用与LSP 24相关联的原始标签信息来重新编程其转发引擎。在一些示例中,入口路由器14还可以生成系统日志(“syslog”)以记录错误。
如下面进一步描述的,作为一个示例,重新编程标志可以是RSVP路径消息的会话_属性对象的标志字段的专用位。设置这个标志可以向接收标志的路由器提供指示,以使用与LSP 24相关联的原始标签信息(诸如路由器为LSP分配的原始标签或路由器从下游路由器接收的用于在LSP上转发分组的标签信息)重新编程其转发引擎。例如,每个转接路由器16可以接收包括重新编程标志以及在一些示例中的隧道ID的增强的RSVP路径消息。基于重新编程标志和隧道ID,每个转接路由器16可以基于在具有指定隧道ID的LSP的路由引擎中编程的标签信息来编程其转发引擎。
在转发引擎的重新编程之后,入口路由器14可以在附加迭代(例如,第二、第三、第四等)中发送一个或多个自ping消息30以确定重新编程是否校正了LSP 24的转发状态。如果入口路由器14成功接收到一个或多个自ping消息30的返回,则入口路由器14可以确定LSP 24中的每个路由器的转发引擎已经被正确地重新编程。如果在附加迭代之后,入口路由器14仍然未能接收到指示自ping消息已经成功遍历整个LSP的返回的自ping消息30,则入口路由器14可以触发先通后断(MBB)过程,在MBB过程中,新的LSP被发信号通知并且原始LSP 24的拆除被发起。
这样,入口路由器14在发现LSP 24的转发状态的错误时不需要立即触发LSP 24的拆除,而是可以使用具有重新编程标志的增强的端到端路径消息指示沿着LSP的路由器使用与LSP 24相关联的原始标签信息来重新编程其转发引擎,由此潜在地解决问题而不需要拆除LSP并且建立新的LSP。
图2是示出根据本公开中描述的技术的用于检测和校正标签交换路径(LSP)的路由器的标签信息的错误编程而不需要初始地触发LSP的拆除的另一示例网络系统10的框图。图2的网络系统10类似于图1的网络系统10,下面描述不同之处。
在图2的示例中,入口路由器14可以响应于确定入口路由器14未接收到一个或多个自ping消息30的成功返回来指示接收到包括重新编程标志的端到端路径消息的路由器确定其路由引擎和转发引擎是否被错误编程,并且如果是,则使用与LSP 24相关联的原始转发标签信息来重新编程转发引擎。如上所述,每个转接路由器16可以接收包括重新编程标志的端到端消息,例如,RSVP消息。响应于接收到重新编程标志,接收路由器可以确定其路由引擎与转发引擎之间的标签信息是否被错误编程。例如,响应于接收到重新编程标志,接收路由器的路由引擎可以向转发引擎查询转发引擎中的标签信息,并且可以确定转发引擎中的标签信息是否与路由引擎中的标签信息同步。如果路由器确定路由引擎和转发引擎使用不同的标签信息被编程,则路由引擎可以尝试基于被编程在路由引擎中的标签信息来重新编程转发引擎。
在一个示例中,如果对应的路由器(例如,转接路由器16C)不能校正错误编程,则对应的路由器可以生成到入口路由器14和/或出口路由器18的错误通知32。在一些示例中,入口路由器14可以在附加迭代中发送一个或多个自ping消息。如果入口路由器14仍然未能接收到一个或多个自ping消息的附加迭代的成功返回,则入口路由器14可以发送包括重新编程标志的一个或多个端到端路径消息。如果转接路由器16C仍然不能校正错误编程,则转接路由器16C可生成用于附加迭代的错误通知32。响应于接收到一个或多个错误通知32,入口路由器14和/或出口路由器18可以发起LSP 24的拆除并且重新配置LSP 24。
在一些示例中,转接路由器16C可能不能处理重新编程标志和/或不能生成通知。在这种情况下,入口路由器14可以在附加迭代中发送一个或多个自ping消息以确定LSP是否已经被校正。如果入口路由器14未能接收到一个或多个自ping消息的附加迭代的成功返回,则入口路由器14可以发送包括重新编程标志的一个或多个端到端路径消息。如果入口路由器14仍然未能接收到用于附加迭代的错误通知32,则入口路由器14可以发送一个或多个自ping消息的另一迭代。如果入口路由器14仍然未能接收到一个或多个自ping消息的另一迭代的成功返回,则入口路由器14可以触发LSP 24的拆除。
以这种方式,仅具有错误编程的转发引擎的路由器可以重新编程转发引擎,而不是指示LSP 24的每个路由器重新编程其对应的转发引擎或触发LSP 24的拆除。
图3是示出根据本公开中描述的技术的被配置为执行所公开的检测和校正LSP的标签信息的错误编程的技术的示例路由器50的框图。路由器50可以作为来自图1和图2的沿着LSP 24的路径的入口路由器14、转接路由器16和出口路由器18中的任何一个进行操作。在图3所示的示例中,路由器50包括控制单元52,控制单元52具有为网络设备提供控制平面功能的路由引擎54和为网络设备提供转发或数据平面功能的转发引擎56以通过通常具有一个或多个物理网络接口端口的一组接口卡84A至84N(“IFC 84”)来发送和接收业务。控制单元52可以包括路由守护进程58,路由守护进程58包括用户级进程,这些用户级进程运行网络管理软件,执行路由协议以与对等路由器或交换机通信,保持和更新路由引擎54中的一个或多个路由表,以及创建用于安装在转发引擎56中的一个或多个转发表以及其他功能。
转发引擎56执行分组交换和传入的数据分组的转发以用于通过网络传输。如图3所示,转发引擎56包括转发信息库(FIB)80,FIB 80存储将网络目的地与下一跳和传出接口相关联的转发数据结构。FIB 80可以包括映射到包括标签交换操作和从特定接口出去的转发操作的一组操作的标签。尽管在图3中未示出,但是转发引擎56可以包括中央处理单元(CPU)、存储器以及一个或多个可编程分组转发专用集成电路(ASIC)。
路由引擎54包括执行路由器50的路由功能的各种协议66。在图3所示的示例中,路由引擎54包括BGP 70和IGP 72作为用于与网络中的其他路由设备交换路由信息以便发现网络拓扑并且更新路由信息库(RIB)74的路由协议。在本公开中描述的示例中,IGP 72可以是链路状态路由协议,诸如开放式最短路径优先(OSPF)或中间系统-中间系统(IS-IS)。另外,路由引擎54包括RSVP 68并且具体地是RSVP-TE,作为用于使用RIB 74与网络中的其他网络设备建立业务工程路径(即,LSP)的路由协议。路由引擎54使用RSVP 68以与沿着LSP的其他路由设备交换标签映射消息并且更新标签信息库(LIB)76。
RIB 74可以描述路由器50驻留在其中的网络的拓扑,并且还可以描述网络内的各种路由以及每个路由的适当的下一跳(即,沿着每个路由的相邻路由设备)。路由引擎54分析存储在RIB 74中的信息以生成转发信息。路由引擎54然后将转发数据结构安装到转发引擎56内的FIB 80中。FIB 80将网络目的地与转发平面内的特定下一跳和对应的接口端口相关联。LIB 76为来自RIB 74的网络内的每个路由保持下一跳标签到下一跳的映射。路由引擎54选择通过网络的特定路径并且安装沿着转发引擎56内的FIB 80中的那些特定路径的下一跳的下一跳标签映射。
在一些示例中,路由引擎54使用RSVP 68来生成和保持业务工程数据库(TED)78,TED 78包括网络中参与业务工程的节点和链路的完整列表以及每个链路的属性集合。例如,TED 78可以包括通过网络与LSP相关联的链路的带宽预留。路由引擎54可以使用IGP 72来将存储在TED 78中的业务工程属性通告给网络中的其他路由设备。路由引擎54还可以从网络中的其他路由设备接收包括业务工程属性的IGP通告,并且更新TED 78。
根据本公开中描述的技术,入口路由器14的路由引擎54可以提供用于检测和校正存储在转发引擎56的FIB 80中的标签信息的错误编程的技术。如上所述,转接路由器(例如,转接路由器16)的每个路由引擎54为安装沿着转发引擎56内的FIB 80中的特定路径的下一跳的下一跳标签映射。在一些情况下,下游路由器的路由引擎54可以安装与存储在LIB76中的标签映射不同的下一跳标签映射。
为了检测这个编程错误,入口路由器(例如,入口路由器14)的路由引擎43可以包括路径校正单元60以配置被寻址到入口路由器的自ping消息,并且可以经由转发引擎56在LSP上转发自ping消息。当自ping消息遍历LSP时,转接路由器的每个转发引擎56可以基于其FIB 80中的下一跳标签映射向下游转发自ping消息。如果转接路由器的FIB 80中的下一跳标签映射与存储在转接路由器的LIB 76中的标签映射同步,则转接路由器可以向下游转发自ping消息。如果LSP的转发状态被正确编程,则出口路由器(例如,出口路由器18)的转发引擎56可以将自ping消息返回到入口路由器。
如果入口路由器接收到自ping消息的成功返回,则入口路由器的路径校正单元60可以确定LSP的转发状态没有错误并且可以继续沿着LSP转发网络分组。然而,如果入口路由器未能接收到自ping消息,例如,在生存时间(TTL)值内未能接收到自ping消息的返回,则入口路由器的路径校正单元60可以确定LSP的转发状态有错误。在一些示例中,入口路由器的路径校正单元60可以配置入口路由器可以在LSP上发送的一个或多个附加的自ping消息。入口路由器的路径校正单元60可以仅在未能接收到一个或多个附加的自ping消息时确定LSP有错误。
为了校正LSP的转发状态,入口路由器的路径校正单元60可以响应于没有接收到自ping消息的成功返回来生成重新编程标志以指示转接路由器使用存储在对应的LIB 76中的标签映射来重新编程其FIB 80。入口路由器的路由引擎54可以基于路由协议(例如,RSVP 68)生成端到端路径消息(例如,RSVP路径消息)以包括重新编程标志。
接收包括重新编程标志的端到端路径消息的每个转接路由器的路径校正单元60可以指示路由引擎54使用存储在LIB 76中的标签映射重新编程FIB 80。以这种方式,每个转接路由器可以调用用于校正存储在FIB 80中的下一跳标签映射的错误编程的过程。
入口路由器的路径校正单元60可以发送一个或多个自ping消息的附加迭代(例如,第二、第三、第四等)以确定LSP的转发状态是否已经被校正。如果一个或多个自ping消息的附加迭代被成功地返回到入口路由器,则路径校正单元60可以确定错误编程已经被校正。如果一个或多个自ping消息的附加迭代没有被返回到入口路由器,则路径校正单元60可以指示路由引擎54触发LSP的拆除和/或记录失败以校正错误地编程的标签信息。
图4是示出根据本公开中描述的技术的示例端到端路径消息400的框图。在图4的示例中,端到端路径消息400可以表示至少包括头部字段402、会话字段403、标签请求对象字段408、会话属性字段409、策略数据字段412和发送者描述符字段414的增强的RSVP路径消息。端到端路径消息400仅仅是一个示例,并且可以包括未示出的其他字段,例如包括显式路由对象字段。此外,可以使用遍历整个LSP路径的任何消息,并且RSVP路径消息仅仅是一个示例。
头部字段402可以包括用于RSVP路径消息的公共头部,包括协议版本号、消息类型(例如,路径消息类型)、RSVP校验和、TTL值和/或RSVP长度。
会话字段403可以包括隧道端点404和隧道标识符(隧道ID)406。具体地,隧道端点404可以包括隧道的出口路由器的网络地址(例如,IPv4地址)。隧道ID 406可以包括在会话中使用的在隧道的生命周期中保持不变的标识符。
标签请求对象字段408可以定义标签请求的类型。例如,标签请求对象字段408可以包括没有标签范围的类型1标签请求、具有异步传输模式(ATM)标签范围的类型2标签请求、和具有帧中继标签范围的类型3标签请求。
在这个示例中,可以增强会话属性字段409以包括重新编程标记410,重新编程标记410用于指示沿着LSP的路径的任何转接路由器基于转接路由器的路由引擎的标签信息来重新编程转接路由器的转发引擎的标签信息。
策略数据字段412可以包括标识用户或用户类别、帐号、限制、配额等的数据。
发送者描述符字段414可以包括定义发送者的数据,例如入口路由器14的网络地址。
关于RSVP路径消息的内容的附加信息在1997年9月的RFC 2205的R.Braden,Ed的“Resource ReSerVation Protocol(RSVP)”和2001年12月的Network Working Group RFC3209的D.Awduche的“RSVP-TE:Extensions to RSVP for LSP Tunnels”中描述,其每个的全部内容通过引用并入本文。
图5是示出根据本文中描述的技术的用于检测和校正LSP的路由器的错误编程的系统的示例操作的流程图。图5的示例操作关于图1的路由器14、16、18和图3的路由器50进行描述。
通常,入口路由器14利用自ping消息来确定LSP的任何路由器的转发状态是否存在错误。例如,入口路由器14的路径校正单元60可以生成一个或多个自ping消息(502)。自ping消息可以是寻址到入口路由器14的自ping消息,使得在遍历LSP时,如果LSP的转发状态被正确编程,则自ping消息被返回到入口路由器14。
入口路由器14使用与LSP 24相关联的MPLS标签封装一个或多个自ping消息并且将MPLS分组注入到LSP中(504)。例如,入口路由器14的转发引擎56可以将基于存储在FIB80中的下一跳标签映射的标签附加到一个或多个自ping消息,使得一个或多个自ping消息被转发到下一跳路由器,例如转接路由器16A。
当MPLS分组沿着LSP 24流动时,每个转接路由器16可以接收一个或多个封装的自ping消息(506)。当LSP 24的每个转接路由器16接收到一个或多个封装的自ping消息时,每个转接路由器16可以基于标签信息是否存在错误来转发一个或多个封装的自ping消息或丢弃一个或多个封装的自ping消息。例如,转接路由器16A的转发引擎56可以从入口路由器14接收一个或多个封装的自ping消息。转接路由器16A的转发引擎56可以基于来自FIB 80的标签信息来确定是转发还是丢弃一个或多个封装的自ping消息(508)。
作为示例,如果转接路由器16A的FIB 80使用正确的标签信息被正确地编程,则转接路由器16A可以朝向出口路由器18向下游转发一个或多个封装的自ping消息(510)。例如,转接路由器16A的转发引擎56可以将附加到一个或多个封装的自ping消息的标签与转接路由器16B的下一跳标签交换,并且向下游转发一个或多个封装的自ping消息。当出口路由器18接收到一个或多个自ping消息(512)时,出口路由器18对自ping消息的目的地地址执行查找和转发操作,并且向入口路由器14发送回一个或多个自ping消息(514)。
如果任何转接路由器16的FIB 80使用与由其路由引擎(即,控制平面)保持的正确的标签信息不同的标签信息被编程,则相应的转接路由器的转发引擎(即转发组件)通常丢弃沿着LSP流动的封装的一个或多个自ping消息(516)。
入口路由器14确定路由器是否成功地接收到来自第一迭代的一个或多个自ping消息的返回(518)。如果没有接收到第一迭代的一个或多个自ping消息,则入口路由器14的路径校正单元60可以生成至少包括重新编程标志的端到端路径消息(即,从端到端遍历LSP的路径的消息)(520)。如上所述,重新编程标志可以向接收到重新编程标志的每个转接路由器16提供指示,以使用存储在路由引擎54的LIB 76中的标签信息来重新编程其转发引擎56的FIB 80或者至少查询其转发引擎以确定LSP的控制平面与转发平面之间是否存在不匹配的状态。在一些示例中,入口路由器14的路径校正单元60可以在入口路由器14未能接收到一个或多个附加的自ping消息之后生成至少包括重新编程标志的端到端路径消息。
在一个示例中,入口路由器14的路径校正单元60可以生成RSVP路径消息的重新编程标志,例如,会话_属性对象的标志字段的专用位。设置这个标志可以向接收到这个标志的转接路由器16提供指示,以使用存储在LIB 76中的标签信息来重新编程转发引擎56的FIB 80的标签信息。可以使用沿着LSP的路径遍历整个LSP的其他类型的消息。
入口路由器14可以向每个转接路由器16发送包括重新编程标志的端到端路径消息(522)。每个转接路由器16可以接收端到端路径消息(524)并且可以确定端到端路径消息包括重新编程标志(526)。例如,转接路由器16的路径校正单元60可以确定RSVP路径消息的会话_属性对象的标志字段的专用位被设置。作为响应,转接路由器16可以基于路由引擎54的LIB 76中的标签信息来重新编程其FIB 80(528)。
在一些示例中,入口路由器14可以发送一个或多个自ping消息的附加迭代以确定LSP的转发状态的错误是否已经通过重新编程被校正。如果入口路由器14未能接收到一个或多个ping消息的附加迭代的返回,则入口路由器14的路径校正单元60可以触发LSP 24的拆除(530)。如果入口路由器14接收到一个或多个ping消息的附加迭代的成功返回,则入口路由器14的路径校正单元60可以确定LSP已经被校正。
图6是示出根据本公开中描述的技术的用于检测和校正LSP的标签信息的错误编程的系统的另一示例操作的流程图。图6的示例操作关于图2的路由器14、16、18和图3的路由器50进行描述。
在一些示例中,入口路由器14可以生成端到端路径消息,该端到端路径消息至少包括重新编程标志,该重新编程标志用于指示沿着LSP的任何路由器确定其路由引擎与转发引擎之间的标签信息是否被错误编程,如果是,则尝试使用路由引擎的标签信息来重新编程转发引擎的标签信息(602)。在一个示例中,在确定LSP可能存在错误状态(诸如通过使用如图5的示例中的自ping消息)之后,入口路由器14的路由引擎可以构建端到端路径消息,其具有RSVP路径消息的重新编程标志,例如,会话_属性对象的标志字段的专用位。如下所述,设置重新编程标志可以向接收转接路由器16提供指示,以向转发引擎查询标签信息以确定是否存在本地错误编程条件。这个标志还可以为接收转接路由器16提供指示,以确定路由引擎的标签信息是否不同于转发引擎的标签信息。
入口路由器14可以向每个转接路由器16发送包括重新编程标志的端到端路径消息(604)。至少一个转接路由器16可以接收端到端路径消息(606)。接收转接路由器16的路径校正单元60可以确定端到端路径消息包括重新编程标志(608)。例如,接收转接路由器16的路径校正单元60可以确定RSVP路径消息的会话_属性对象的标志字段的专用位被设置。由于重新编程标志被设置,所以路径校正单元60可以指示路由引擎54向转发引擎56查询标签信息(610)。例如,路由引擎54可以查询存储在FIB 80中的标签信息。
如果转发引擎56的标签信息与路由引擎54的标签信息相一致,则接收转接路由器可以继续向下游转发端到端路径消息(614)。例如,路径校正单元60可以确定存储在转发引擎56的FIB 80中的标签信息是否与存储在路由引擎54的LIB 76中的标签信息相一致。
如果转发引擎的标签信息不同于路由引擎的标签信息,则路径校正单元60可以指示路由引擎54使用路由引擎的标签信息来重新编程转发引擎(616)。例如,路径校正单元60可以基于路由引擎54的LIB 76中的标签信息来指示路由引擎54重新安装转发引擎56的FIB80中的标签信息。
如果重新编程不成功(618),则接收转接路由器16可以生成包括转发引擎的编程不成功的指示的通知(620)。转接路由器16然后可以向入口路由器14发送这个通知(622)。
入口路由器14可以接收通知并且确定转发引擎的重新编程不成功(624)。在一些示例中,入口路由器14的路径校正单元60可以发送一个或多个自ping消息的附加迭代和包括重新编程标志的端到端路径消息。响应于从接收转接路由器16接收到一个或多个通知,入口路由器14的路径校正单元60可以触发LSP 24的拆除(626)。这样,转接路由器16可以接收拆除LSP 24的指令(628)。
在一些示例中,接收转接路由器16可能不能处理重新编程标志和/或不能生成通知。在这种情况下,入口路由器14可以发送一个或多个自ping消息的一个或多个附加迭代,以确定LSP是否已经被校正。如果入口路由器14未能接收到一个或多个自ping消息的附加迭代的成功返回,则入口路由器14的路径校正单元60可以发送包括重新编程标志的一个或多个端到端路径消息。如果入口路由器14仍然未能接收到用于附加迭代的通知,则入口路由器14可以发送一个或多个自ping消息的另一迭代。如果入口路由器14仍然未能接收到一个或多个自ping消息的另一迭代的成功返回,则入口路由器14可以触发LSP 24的拆除。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或分立逻辑电路、以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指代任何上述逻辑电路(单独的或与其他逻辑电路组合)、或者任何其他等效电路。包括硬件的控制单元也可以执行本公开的技术中的一个或多个技术。
这样的硬件、软件和固件可以在相同的设备内或在分离的设备内实现,以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或组件中的任何一个可以一起或单独地实现为分立但是可互操作的逻辑器件。将不同的特征描述为模块或单元旨在强调不同的功能方面,并不一定表示这些模块或单元必须由单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件执行,或者集成在公共的或单独的硬件或软件组件中。
本公开中描述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实施或编码。嵌入或编码在计算机可读介质中的指令可以引起可编程处理器或其他处理器执行该方法,例如,当指令被执行时。计算机可读介质可以包括非暂态计算机可读存储介质和暂态通信介质。计算机可读存储介质(有形的且非暂态的)可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他瞬态介质。
已经描述了本公开的各个方面。这些和其他方面在以下权利要求的范围内。
Claims (19)
1.一种方法,包括:
由标签交换路径(LSP)的入口路由器确定针对所述LSP的转发状态的错误;
响应于确定针对所述LSP的所述转发状态的所述错误,由所述入口路由器生成端到端路径消息,所述端到端路径消息至少包括标志,所述标志用于指示沿着所述LSP的任何转接路由器基于所述转接路由器的路由引擎的标签信息来重新编程所述转接路由器的转发引擎的标签信息;以及
由所述入口路由器向所述转接路由器发送至少包括所述标志的所述端到端路径消息。
2.根据权利要求1所述的方法,还包括:
响应于接收到至少包括所述标志的所述端到端路径消息,由所述转接路由器查询所述转接路由器的所述转发引擎的所述标签信息;
由所述转接路由器确定所述路由引擎的所述标签信息是否不同于所述转发引擎的所述标签信息;以及
响应于确定所述路由引擎的所述标签信息不同于所述转发引擎的所述标签信息,由所述转接路由器基于所述路由引擎的标签信息来编程所述转发引擎的所述标签信息。
3.根据权利要求1至2中任一项所述的方法,其中所述端到端路径消息包括具有路由对象的资源预留协议(RSVP)路径消息,所述路由对象指定针对所述LSP的所述路径并且包括所述标志,所述标志指示所述转接路由器重新编程所述转接路由器的转发引擎内的针对所述LSP的所述标签信息。
4.根据权利要求1所述的方法,其中所述标志包括资源预留协议(RSVP)路径消息的会话_属性对象的字段。
5.根据权利要求1至2中任一项所述的方法,其中确定针对所述LSP的所述转发状态的所述错误包括:
由所述入口路由器生成一个或多个自ping消息,其中所述一个或多个自ping消息至少包括所述入口路由器的网络地址;
由所述入口路由器在所述LSP上发送所述一个或多个自ping消息;
由所述入口路由器确定所述入口路由器是否接收到所述一个或多个自ping消息;以及
响应于确定没有接收到所述一个或多个自ping消息,由所述入口路由器确定针对所述LSP的所述转发状态是错误的。
6.根据权利要求5所述的方法,其中所述一个或多个自ping消息是一个或多个自ping消息的第一迭代,所述方法还包括:
响应于向所述LSP的所述转接路由器发送至少包括所述标志的所述端到端路径消息,由所述入口路由器生成一个或多个自ping消息的附加迭代;
由所述入口路由器在所述LSP上发送所述一个或多个自ping消息的附加迭代;
由所述入口路由器确定所述入口路由器是否接收到所述一个或多个自ping消息的附加迭代;以及
响应于确定没有接收到所述一个或多个自ping消息的附加迭代,由所述入口路由器触发所述LSP的拆除。
7.根据权利要求6所述的方法,还包括:
响应于确定没有接收到所述一个或多个自ping消息的附加迭代,由所述入口路由器生成所述错误的日志。
8.根据权利要求1、2或5中任一项所述的方法,还包括:
由所述入口路由器从所述LSP的所述转接路由器接收所述转接路由器无法校正所述错误的通知;以及
由所述入口路由器触发所述LSP的拆除。
9.一种方法,包括:
由现有标签交换路径(LSP)的转接路由器从所述LSP的入口路由器接收端到端路径消息,所述端到端路径消息指定针对所述LSP的标识符并且包括标志,所述标志用于指示所述转接路由器基于针对所述LSP的所述转接路由器的路由引擎的标签信息来编程所述转接路由器的转发引擎;以及
由所述转接路由器基于所述标志,基于针对所述LSP的所述转接路由器的所述路由引擎的所述标签信息编程针对所述LSP的所述转接路由器的所述转发引擎的标签信息。
10.根据权利要求9所述的方法,还包括:
由所述转接路由器基于所述标志向所述转接路由器的所述转发引擎查询所述转发引擎的所述标签信息;
由所述转接路由器确定所述路由引擎的所述标签信息不同于所述转发引擎的所述标签信息;以及
由所述转接路由器基于所述路由引擎的所述标签信息来编程所述转发引擎的所述标签信息。
11.根据权利要求10所述的方法,还包括:
如果基于所述路由引擎的所述标签信息对所述转发引擎的所述标签信息的编程失败,则由所述转接路由器生成包括所述编程失败的指示的通知;
由所述转接路由器向所述入口路由器发送所述通知;以及
由所述转接路由器从所述入口路由器接收拆除所述LSP的指令。
12.一种入口路由器,包括:
网络接口,耦合到标签交换路径(LSP)用于到达目的地网络设备;
一个或多个基于硬件的处理器,被配置为:
确定针对所述LSP的转发状态的错误;
生成端到端路径消息,所述端到端路径消息至少包括标志,所述标志用于指示沿着所述LSP的任何转接路由器基于所述转接路由器的路由引擎的标签信息来重新编程所述转接路由器的所述转发引擎的标签信息;以及
向所述转接路由器发送至少包括所述标志的所述端到端路径消息。
13.根据权利要求12所述的入口路由器,其中所述一个或多个基于硬件的处理器还被配置为:
生成一个或多个自ping消息,其中所述一个或多个自ping消息至少包括所述入口路由器的网络地址;
在所述LSP上发送所述一个或多个自ping消息;
确定是否接收到所述一个或多个自ping消息;以及
响应于确定没有接收到所述一个或多个自ping消息,确定针对所述LSP的所述转发状态是错误的。
14.根据权利要求13所述的入口路由器,
其中所述一个或多个ping消息是一个或多个自ping消息的第一迭代,
其中所述一个或多个基于硬件的处理器还被配置为:
响应于向所述LSP的所述转接路由器发送至少包括所述标志的所述端到端路径消息,生成一个或多个自ping消息的附加迭代;
在所述LSP上发送所述一个或多个自ping消息的附加迭代;
确定所述入口路由器是否接收到所述一个或多个自ping消息的附加迭代;以及
响应于确定没有接收到所述一个或多个自ping消息的附加迭代,触发所述LSP的LSP拆除。
15.根据权利要求14所述的入口路由器,其中所述一个或多个基于硬件的处理器还被配置为:
响应于确定没有接收到所述一个或多个自ping消息的附加迭代,生成所述错误的日志。
16.根据权利要求12所述的入口路由器,其中所述一个或多个基于硬件的处理器还被配置为:
从所述LSP的所述转接路由器接收所述转接路由器无法校正所述错误的通知;以及
触发所述LSP的拆除。
17.一种路由器,包括:
网络接口,耦合到标签交换路径(LSP)用于到达目的地网络设备,其中所述路由器位于入口路由器与出口路由器之间;
路由引擎,其中所述路由引擎包括一个或多个基于硬件的处理器,所述一个或多个基于硬件的处理器被配置为:
接收端到端路径消息,所述端到端路径消息指定针对所述LSP的标识符并且包括标志,所述标志用于指示所述路由器基于所述路由引擎的标签信息来编程所述路由器的转发引擎;
基于所述标志,基于所述路由引擎的所述标签信息,编程所述转发引擎的标签信息。
18.根据权利要求17所述的路由器,其中所述一个或多个基于硬件的处理器还被配置为:
向所述转发引擎查询所述转发引擎的标签信息;
确定所述路由引擎的所述标签信息不同于所述转发引擎的所述标签信息;以及
基于所述路由引擎的所述标签信息来编程所述转发引擎的所述标签信息。
19.根据权利要求17至18中任一项所述的路由器,所述一个或多个基于硬件的处理器还被配置为:
如果基于所述路由引擎的所述标签信息对所述转发引擎的所述标签信息的编程失败,则生成包括所述编程失败的指示的通知;
向所述入口路由器发送所述通知;以及
从所述入口路由器接收拆除所述LSP的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/608,601 | 2017-05-30 | ||
US15/608,601 US10659291B2 (en) | 2017-05-30 | 2017-05-30 | Label and associated traffic black hole correction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989211A true CN108989211A (zh) | 2018-12-11 |
CN108989211B CN108989211B (zh) | 2021-07-13 |
Family
ID=61832433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810279506.9A Active CN108989211B (zh) | 2017-05-30 | 2018-03-30 | 用于网络管理的方法和路由器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10659291B2 (zh) |
EP (1) | EP3410651B1 (zh) |
CN (1) | CN108989211B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019129688A1 (en) * | 2017-12-27 | 2019-07-04 | Telecom Italia S.P.A. | Round-trip performance measurement in a packet-switched communication network |
US11489930B2 (en) * | 2019-06-11 | 2022-11-01 | At&T Intellectual Property I, L.P. | Telecommunication network edge cloud interworking via edge exchange point |
GB2585062B (en) | 2019-06-27 | 2022-02-16 | Metaswitch Networks Ltd | Operating a service provider network node |
CN114124802B (zh) * | 2021-11-10 | 2023-08-25 | 中盈优创资讯科技有限公司 | 一种跨域黑洞路由集中管控方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601965A (zh) * | 2003-09-28 | 2005-03-30 | 华为技术有限公司 | 一种路由路径故障修复方法 |
US7940695B1 (en) * | 2007-06-08 | 2011-05-10 | Juniper Networks, Inc. | Failure detection for tunneled label-switched paths |
CN102769543A (zh) * | 2012-07-20 | 2012-11-07 | 杭州华三通信技术有限公司 | 一种基于lsp的bfd检测方法和设备 |
US20140355414A1 (en) * | 2013-05-28 | 2014-12-04 | Futurewei Technologies, Inc. | Label Switched Path Network Failure Detection And Traffic Control |
CN104205728A (zh) * | 2012-04-13 | 2014-12-10 | 瑞典爱立信有限公司 | 面向连接的网络中的恢复 |
US20160254992A1 (en) * | 2014-03-31 | 2016-09-01 | Juniper Networks, Inc. | Apparatus, system, and method for reconfiguring point-to-multipoint label-switched paths |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6826613B1 (en) * | 2000-03-15 | 2004-11-30 | 3Com Corporation | Virtually addressing storage devices through a switch |
US7263091B1 (en) * | 2002-05-23 | 2007-08-28 | Juniper Networks, Inc. | Scalable routing system |
US7355986B2 (en) * | 2002-10-22 | 2008-04-08 | Sandia Corporation | Reconfigureable network node |
CN101459573B (zh) * | 2007-12-13 | 2012-05-23 | 华为技术有限公司 | 一种路由器平滑重启的方法、路由器及通信网络 |
US9088519B2 (en) * | 2012-06-15 | 2015-07-21 | Juniper Networks, Inc. | Allocating and distributing labels for packet encapsulation |
US8837479B1 (en) * | 2012-06-27 | 2014-09-16 | Juniper Networks, Inc. | Fast reroute between redundant multicast streams |
US9350654B1 (en) * | 2013-07-18 | 2016-05-24 | Juniper Networks, Inc. | Microloop protection for multi-protocol label switching paths |
US9838246B1 (en) * | 2014-09-30 | 2017-12-05 | Juniper Networks, Inc. | Micro-loop prevention using source packet routing |
US9900027B1 (en) * | 2015-04-22 | 2018-02-20 | Xilinx, Inc. | Method and apparatus for detecting and correcting errors in a communication channel |
US20170093611A1 (en) * | 2015-09-29 | 2017-03-30 | Juniper Networks, Inc. | Egress node protection in evpn all-active topology |
-
2017
- 2017-05-30 US US15/608,601 patent/US10659291B2/en active Active
-
2018
- 2018-03-28 EP EP18164655.5A patent/EP3410651B1/en active Active
- 2018-03-30 CN CN201810279506.9A patent/CN108989211B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601965A (zh) * | 2003-09-28 | 2005-03-30 | 华为技术有限公司 | 一种路由路径故障修复方法 |
US7940695B1 (en) * | 2007-06-08 | 2011-05-10 | Juniper Networks, Inc. | Failure detection for tunneled label-switched paths |
CN104205728A (zh) * | 2012-04-13 | 2014-12-10 | 瑞典爱立信有限公司 | 面向连接的网络中的恢复 |
CN102769543A (zh) * | 2012-07-20 | 2012-11-07 | 杭州华三通信技术有限公司 | 一种基于lsp的bfd检测方法和设备 |
US20140355414A1 (en) * | 2013-05-28 | 2014-12-04 | Futurewei Technologies, Inc. | Label Switched Path Network Failure Detection And Traffic Control |
US20160254992A1 (en) * | 2014-03-31 | 2016-09-01 | Juniper Networks, Inc. | Apparatus, system, and method for reconfiguring point-to-multipoint label-switched paths |
Non-Patent Citations (2)
Title |
---|
L. BERGER: "《RFC3473》", 31 January 2003 * |
R. BONICA,等: "《RFC7746》", 31 January 2016 * |
Also Published As
Publication number | Publication date |
---|---|
EP3410651A1 (en) | 2018-12-05 |
EP3410651B1 (en) | 2022-08-24 |
CN108989211B (zh) | 2021-07-13 |
US10659291B2 (en) | 2020-05-19 |
US20180351787A1 (en) | 2018-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880203B2 (en) | Centralized segment routing dataplane based backup path validation | |
US10637768B1 (en) | Enabling non-flexible-algorithm routers to participate in flexible-algorithm routing protocols | |
US9338087B2 (en) | Source identification preservation in multiprotocol label switching networks | |
US9401858B2 (en) | Loop avoidance during network convergence in switched networks | |
US9172637B2 (en) | System and method for computing a backup ingress of a point-to-multipoint label switched path | |
US9590895B2 (en) | Refresh interval independent fast reroute facility protection tear down messaging | |
WO2020134139A1 (zh) | 一种业务数据的转发方法、网络设备及网络系统 | |
CN109309623A (zh) | 用于多播保护的到冗余多播源节点的最大冗余树 | |
US20080225864A1 (en) | Communication network routing apparatus and techniques using logical communication links | |
US20120092986A1 (en) | System And Method For Computing A Backup Egress Of A Point-To-Multi-Point Label Switched Path | |
US20140029418A1 (en) | System and method for switching traffic from sub-optimal primary p2mp to standby p2mp | |
US11134004B2 (en) | Enhanced flexible-algorithm definition | |
US11799772B2 (en) | Support for multiple virtual networks over an underlay network topology | |
US10469360B1 (en) | Reverse metric advertisement for border gateway protocol route reflection inhierarchical networks | |
CN108989211A (zh) | 标签和相关联的业务黑洞校正 | |
US11240142B2 (en) | Class-based traffic engineering in an IP network | |
CN109218197A (zh) | 分段路由中的冲突解决 | |
CN113709033B (zh) | 用于分段路由流量工程的分段跟踪路由 | |
CN110519163A (zh) | 检测环网络中点对多点标签交换路径的出口 | |
US11888733B2 (en) | Label deduction with flexible-algorithm | |
US12107755B2 (en) | Method and a device for routing traffic along an IGP shortcut path | |
WO2022042610A1 (zh) | 信息处理方法、网络控制器、节点及计算机可读存储介质 | |
EP3913868A1 (en) | Segmented traceroute for segment routing traffic engineering |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |