Rsvp先接后断标签重用

文档序号:10660739阅读:405来源:国知局
Rsvp先接后断标签重用
【专利摘要】本发明涉及RSVP先接后断标签重用。在一个实例中,对于指定用于LSP的第二LSP实例的每个下游路由器,路由器确定路由器是否是LSP的第一实例的一部分,并且如果是,确定用于该下游路由器的第一LSP实例和第二LSP实例是否共享至下一跳路由器的共同链路。如果第一LSP实例和第二LSP实例共享至下一跳路由器的共同链路,下游路由器发送第一消息至下一跳路由器,其中第一消息包括建议标签。下游路由器从下一跳路由器接收第二消息,其中第二消息包括建议标签。在另一实例中,当相同的链路被用于两个LSP实例的上游路由器时,来自入口路由器的消息中的标签重用指示符标记使第二LSP实例上的路由器重用第一LSP实例的标签。
【专利说明】
RSVP先接后断标签重用
技术领域
[0001]本公开内容涉及计算机网络并且,更具体地,涉及在计算机网络内转发数据包。
【背景技术】
[0002]网络内的路由设备(通常称为路由器)维持描述通过网络可用的路由的路由信息。在接收到进入数据包,路由器检查数据包内的信息并且根据路由信息转发数据包。为了维持网络的精确表示,路由器根据一个或多个已定义路由协议(诸如边界网关协议(BGP)或者内部网关协议(IGP))来交换路由信息。
[0003]多协议标签交换(MPLS)为用于在互联网协议(IP)网络内引导流量模式的机构。通过使用MPLS,源设备可请求通过网络的路径,S卩,标签交换路径(LSP) ISP限定通过网络的不同路径,以将MPLS数据包从源设备送入目标设备中。与特定的LSP相关联的短标签附于经由LSP经过网络传输的数据包。沿着该路径的路由器协作执行MPLS操作,以沿着所建立的路径转发MPLS数据包。LSP可以用于包括带宽管理和服务质量(QoS)的各种流量工程目的。
[0004]存在用于建立LPS的各种协议。例如,一种这样的协议为标签分配协议(0^)。另一种协议为资源预留协议,诸如,基于流量工程扩展的资源预留协议(RSVP-TE) ASVP-TE使用约束信息(诸如带宽有效性)来计算路径并且沿着网络内的路径建立LSP ο RSVP-TE可以使用通过IGP链路状态路由协议(诸如中间系统-中间系统(I SI S)协议或者开放最短路径优先(OSPF)协议)积聚的带宽可用性信息。
[0005]LSP的头端路由器通常被称为入口路由器,而在LSP尾端处的路由器通常被称为出口路由器。入口路由器和出口路由器以及沿着支持MPLS的LSP的中间路由器或者转接路由器通常称为标签转换路由器(LSR)。入口路由器使用从出口路由器传播的路由信息来确定LSP分配用于LSP的标签并且将标签附着至每个数据包。LSR使用MPLS协议来接收来自下游LSR的MPLS标签映射并且将MPLS标签映射宣传至上游LSR。当LSR从上游路由器接收MPLS数据包时,LSR执行查找并且基于查找根据其转发图表中的信息交换MPLS标签并且将数据包转发至适当的下游LSR。出口路由器从数据包中去除标签并且基于数据包转发技术根据非标签将数据包转发至其目的地。

【发明内容】

[0006]通常,本公开内容描述用于当在拆除LSP的现有的实例之前使用用于资源预留协议(RSVP)的先接后断(MBB)流程在入口路由器与出口路由器之间建立标签交换路径(LSP)的新实例时重用下游分配的标签的技术。本公开内容中描述的技术当现有LSP实例的路径与新LSP实例的路径重叠时允许沿着新LSP实例的路径的任何非入口路由器的路由引擎将先前分配用于现有的LSP实例的标签重用为用于新LSP实例的下游分配的标签。以这种方法,非入口路由器不需要更新存储在其转发平面中用于重用的标签的标签路由。另外,当新LSP实例与现有LSP实例完全重叠时,LSP的入口路由器可以避免更新存储在其转发平面用于使用LSP的应用的入口路由器。公开的技术可以缩小或者避免由于大量标签路由在RSVPMBB流程期间更新导致的网络波动。
[0007]在一个实例中,本公开内容针对用于建立具有第一LSP实例的LSP的第二标签交换路径(LSP)实例的方法,该方法包括:通过指定用于LSP的第二 LSP实例的每个下游路由器确定下游路由器是否是LSP的第一 LSP实例的一部分并且,如果是,则确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路;如果第一 LSP实例和第二 LSP实例共享至下一跳路由器的共同的链路,则将第一消息发送至下一跳路由器,其中,第一消息包括建议标签;并且从下一跳路由器接收第二消息,其中,第二消息包括建议标签。
[0008]在另一实例中,本公开内容针对包括路由引擎的路由器,路由引擎包括一个或多个处理器,其中,一个或多个处理器被配置为建立具有第一LSP实例的LSP的第二LSP实例,其中,第二LSP实例包括第二路径上的指定的路由器;确定路由器是否是LSP的第一实例的一部分并且,如果是,则确定用于路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路;如果LSP的第一 LSP实例和第二 LSP实例共享至下一跳路由器的共同的链路,将第一消息发送至下一跳路由器,其中,第一消息包括建议的标签并且从下一跳路由器接收第二消息,其中,第二消息包括建议标签;并且如果LSP的第一LSP实例和第二LSP实例未共享至下一跳路由器的共同的链路,则安装用于第二 LSP实例的未激活的下一跳条目;以及连接至路由引擎的转发引擎,其中,转发引擎包括一个或多个处理器,一个或多个处理器被配置为在建立第二 LSP实例并拆除第一 LSP实例后沿着第二 LSP实例的路径转发流量。
[0009]在进一步的实例中,本公开内容针对系统,该系统包括出口路由器;在入口路由器与出口路由器之间建立的标签交换路径(LSP)的入口路由器,入口路由器被配置为沿着通过LSP的第一 LSP实例的第一路径发送流量并且发送请求建立LSP的第二 LSP实例的第一消息,第一消息指示用于第二LSP实例的第二路径;以及LSP的第二LSP实例的至少一个下游路由器,其中,指定用于第二LSP实例的每个下游路由器接收第一消息并且沿着第一消息中指定的第二路径将第一消息发送至下一跳路由器;其中,当用于至少一个下游路由器的第一LSP实例和第二 LSP实例共享至指定的下一跳路由器的共同的链路时,发送至下一跳路由器的第一消息包括用于共同的链路的建议标签。
[0010]在又一个实例中,在每个下游路由器跨越第一链路连接至上游路由器并且跨越第二链路连接至下一跳路由器的系统中,描述了用于建立具有第一LSP实例的LSP的第二标签交换路径(LSP)实例的方法。指定用于LSP的第二 LSP实例的下游路由器确定下游路由器是否是LSP的第一 LSP实例的一部分。如果下游路由器是LSP的第一 LSP实例的一部分,则下游路由器确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至LSP的第二 LSP实例指定的下一跳路由器的共同的链路。下游路由器发送资源预留协议(RSVP)路径消息至由LSP的第二LSP实例指定的下一跳路由器,其中,当用于该下游路由器的第一LSP实例和第二LSP实例共享至由LSP的第二LSP实例指定的下一跳路由器的共同的链路时,RSVP路径消息包括建议的标签。下游路由器从由LSP的第二LSP实例指定的下一跳路由器接收RSVP Resv消息并且,如果用于下游路由器的第一 LSP实例和第二 LSP实例未共享至由LSP的第二 LSP实例指定的下一跳路由器的共同的链路,则下游路由器在下游路由器中安装用于第二 LSP实例的未激活的下一跳条目同时继续使用激活的下一跳条目以发送流量至有LSP的第一LSP实例指定的下一跳路由器,其中,未激活的下一跳条目包括利用RSVP Resv消息从下一跳路由器接收的标签。
[0011 ]在又一个实例中,描述了用于建立具有第一LSP实例的LSP的第二标签交换路径(LSP)实例的方法。该方法包括为与第一LSP实例相关联的标签启用标签重用,其中,启用包括确定与LSP相关联的第一消息是否包括标签重用指示符并且为每个下游路由器确定是否为第二LSP实例启用标签重用。如果为第二LSP实例启用标签重用,则该方法确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至上游路由器的共同的链路并且,如果第一 LSP实例和第二 LSP实例共享下游路由器与上游路由器之间的共同的链路,则将上游路由器消息发送至上游路由器,其中,上游路由器消息包括与从上游路由器至下游路由器与第一 LSP实例流量相关联的标签。该方法进一步包括与从上游路由器接收与第二 LSP实例相关联的流量,其中,利用与第一LSP实例流量相关联的标签标注与从上游路由器至下游路由器与第二 LSP实例相关联的流量。
[0012]在附图以及以下书面说明中,详细地阐述了一个或多个实例。通过该描述、附图和权利要求,其它特征、目的和优点将变得显而易见。
【附图说明】
[0013]图1是示出了根据本公开内容的技术的其中路由器被配置为转发网络流量的示例系统的框图。
[0014]图2是示出了包括LSP的入口路由器和LSP的至少一个下游路由器的系统以用于MBB流程的标签分配的标签重用模式的示例性操作的流程图。
[0015]图3是示出了被配置为执行RSVPMBB标签重用的公开的技术的路由器的示例的框图。
[0016]图4是示出了在用于MBB流程的标签分配的标签重用模式下LSP的出口路由器的示例操作的流程图。
[0017]图5是示出了在用于MBB流程的标签分配的标签重用模式下LSP的转接路由器的示例操作的流程图。
[0018]图6是示出了包括LSP的入口路由器和LSP的至少一个下游路由器的系统在用于MBB流程的标签分配的标签重用模式下的示例操作的流程图。
[0019]图7是示出了包括LSP的入口路由器和LSP的至少一个下游路由器的系统在用于MBB流程的标签分配的标签重用模式下的另一示例性操作的流程图。
[0020]图8是示出了LSP的出口路由器在用于MBB流程的标签分配的标签重用模式下的示例性操作的流程图。
[0021]图9是示出了LSP的转接路由器在用于MBB流程的标签分配的标签重用模式下的示例操作的流程图。
【具体实施方式】
[0022]图1是示出了示例性网络系统10的框图,其中,网络12的入口路由器14、转接路由器16A-16E( “转接路由器16”)、和出口路由器18被配置为根据本公开内容的技术转发网络流量(例如,网络数据包)。在图1的示例中,入口路由器14是标签交换路径(LSP)24的入口路由器和出口路由器18是LSP 24的出口路由器。转接路由器16A、16B和16C是沿着LSP 24的第一LSP实例25(表示为实线)的第一路径的中间路由器或者转接路由器。
[0023]路由器14、16和18表示通过网络12路由或以不同方式转发流量的任何网络设备。通常,路由器14、16、18表示在L3操作的L3分组交换设备,L3分组交换设备交换使用路由协议(诸如内部网关协议(IGP)或者边界网关协议(BGP))描述网络12的当前拓扑的路由信息。路由器14、16、18然后处理该路由信息,通过其网络12的拓扑的表示选择路径以到达全部可利用的目的地以生成转发信息。换言之,路由器14、16、18将这些路径减小至的所谓的“下一跳”,其识别将去往特定的目的地的数据包所转发至的接口,其中转发信息包括下一跳的该列表。路由器14、16、18随后将该转发信息安装在路由器的转发平面中,因此,转发平面根据转发信息转发接收的流量。
[0024]网络12可以包括互联网协议(IP)网络,其使用多协议标签交换(MPLS)协议来引导通过IP网络的MPLS核心的流量模式。通过利用MPLS,入口路由器14和出口路由器18可以请求通过网络12的不同的路径,即,标签交换路径(LSP),以在远程网络站点22A至22B( “网络站点22”)的消费者或者用户之间传送数据包。使与特定的LSP(例如,LSP 24)相关联的短标签附于经由LSP 24通过网络12传递的数据包。沿着该路径的转接路由器16协作执行MPLS操作,以沿着所建立的LSP 24转发数据包。存在用于建立LSP的各种协议,例如,标签分发协议(LDP)和基于流量工程扩展的资源预留协议(RSVP-TE)。
[0025]在一些实例中,网络12可以是服务提供商网络。例如,网络12可以表示服务提供商(通常是私人实体)拥有并操作的一个或多个网络,服务提供商提供用于网络站点22中的消费者或者用户消费的一种或多种服务。在该背景中,网络12通常是在公共网络(诸如互联网)与一个或多个网络站点22之间提供L3连接的三层(L3)分组交换网络。常常,由服务提供商网络12提供的该L3连接在市场上销售为数据服务或者互联网服务,并且网络站点22中的用户可以预订该数据服务。网络12可以表示L3分组交换网络,该L3分组交换网络提供用于用户购买和网络站点22中的用户随后消费的数据、语音、电视和任何其他业务类型。
[0026]网络站点22可以是局域网(LAN)、广域网(WAN)、或者包括多个用户设备(未示出)的其他专用网。在一些实例中,网络站点22可以包括相同的顾客公司的分布式网络。在其他实例中,网络站点22可以属于不同的实体。网络站点22内的用户设备可包括个人电脑、膝上型电脑、工作站、个人数字助理(PDA)、无线电设备、网络就绪电器、文件服务器、打印服务器、或者能够通过网络12请求并接收数据的其他设备。虽然在图1的实例中未示出,网络系统10可包括附加服务提供商网络、用户网络及其他类型的网络,诸如接入网络、专用网、或者任何其他类型的网络。
[0027]根据本公开内容的技术,路由器14、16、18使用RSVP-TE来建立LSP 24的实例。例如,入口路由器14向出口路由器18发送请求建立LSP24的第一 LSP实例25的RSVP路径消息。RSVP路径消息包括请求转接路由器16和出口路由器18提供用于LSP 24的第一LSP实例25的下游分配标签的标签请求对象。RSVP路径消息还包括与在会话识别和诊断中辅助的LSP 24相关联的会话对象。在一些情况下,RSVP路径消息可包括在入口路由器14与出口路由器18之间指定第一LSP实例25的第一个路径的显式路由对象(ERO)。如果转接路由器16的其中一个接收到从入口路由器14向下游传播的RSVP路径消息并且不能提供请求的标签(例如,不能满足第一LSP实例25的准入控制要求),那么转接路由器向入口路由器14发送PathErr消息。如果包括在RSVP路径消息中的标签请求对象不支持沿着LSP 24的第一LSP实例25的第一路径的端对端,那么第一个转接路由器16将通知入口路由器14不提供支持。
[0028]LSP 24的出口路由器18接收用于第一LSP实例25的RSVP路径消息并且通过将标签对象包括在其响应RSVP Resv消息中来对RSVP路径消息中的标签请求对象做出响应。出口路由器18在向上游入口路由器14发回RSVP Resv消息,倒序遵循RSVP路径消息创建的路径状态。沿着第一 LSP实例25的第一路径的每个转接路由器16从下一跳路由器接收包括标签对象的RSVP Resv消息,并使用所接收的下游标签来识别与第一LSP实例25相关联的发出流量。沿着第一 LSP实例25的第一路径的每个转接路由器16于是分配新标签,将标签放置在RSVP Resv消息的对应的标签对象中,并且向上游向入口路由器14发送RSVP Resv消息。在来自给定的其中一个转接路由器16,例如,在转接路由器16B的RSVP ResV消息的标签对象中向上游发送的标签是转接路由器16B将用于识别与第一 LSP实例25相关联的进入流量的标签。转接路由器16B然后可以基于所接收的下游标签和分配的用于第一 LSP实例25的标签编程其转发平面以将进入的标注的数据包映射至下一跳标签转发条目。当RSVP Resv消息到达入口路由器14时,有效地建立LSP 24的第一LSP实例25。
[0029]流量工程的要求之一是基于管理策略在多个条件下重新路由建立的LSP的能力。例如,在一些情况下,管理策略可以规定当更多最佳路由可利用时重新路由给定的LSP。在另一情况中,当用于LSP的准入控制要求改变时,可以重新路由给定的LSP。通常的准入控制要求变化是带宽要求变化,尤其具有基于来自流量监控的反馈自动调节LSP带宽的广泛实施的自动带宽特征。在另外的情况下,依据资源(例如,节点或者链路)的失败,可以沿着建立的LSP路径重新路由给定的LSP。
[0030]通常,在重新路由现有LSP的同时不打断流量或者不利地影响网络操作是非常理想的。因为如此,RSVP协议支持先接后断(MBB)流程以允许LSP重新路由至新路径,而不会在旧路径停用之前中断用户流量。该重新路由要求需要建立新LSP实例并且在拆除现有LSP实例之前将流量从现有LSP实例转移至新LSP实例上。为了实现这,入口路由器14计算新的路径(基于最新的流量要求、网络拓扑、和网络资源)、告知新LSP、将流量从旧LSP切换至新LSP、并且最后拆除旧LSP。
[0031]在一些实例中,为了执行LSP 24的重新路由,入口路由器14选择新LSP ID并且使用最初的会话对象和新的显式路由对象(ERO)向出口路由器18发送新的RSVP路径消息以定义LSP 24的第二LSP实例26或者28的第二路径(表示为虚线)。在第二LSP实例26或者28的建立期间,入口路由器14继续使用第一LSP实例25并且更新用于LSP 24的第一LSP实例25的RSVP路径消息。在第一 LSP实例25与第二 LSP实例26或者28之间未重叠的链路上,新RSVP路径消息被作为惯用的新LSP实例设置处理。在第一 LSP实例25与第二 LSP实例26或者28之间重叠的链路上,共享的会话对象允许使用与第一 LSP实例25共享的资源建立第二 LSP实例26或者28ο一旦入口节点14接收到用于第二LSP实例26或者28的RSVP Resv消息,则建立第二LSP实例26或者28。入口路由器14随后将流量转移至第二 LSP实例26或者28,并且使用RSVPMBB流程拆除第一LSP实例25。对于RSVP MBB流程的补充细节,参见D.Awduche,“RSVP-TE:Extens1ns to RSVP for LSP Tunnels/'Network Working Group RFC 3209,2001.12,其整个内容通过引用结合与此。
[0032]作为普通实践,沿着新LSP实例的路径的每个非入口路由器为新LSP实例分配新的并且不同的标签。在该情况下,存在用于新LSP实例端对端的完全分开的LSP,除倒数第二跳弹出(PHP)之外,其中,新LSP实例与用于LSP的最后段的现有LSP实例共享隐式/显式无效标签。用于每个LSP实例的新的并且不同的标签允许每个LSP实例独立地端对端路径校验。然而,用于每个LSP实例的新的并且不同的标签还要求沿着新LSP实例的路径的每个非入口路由器在其转发平面内执行标签路径添加以使最新分配的标签与LSP关联,并且随后在其转发平面内执行标签路径删除以去除与LSP相关联的现有标签。另外,LSP的入口路由器在切换至新LSP实例时在其转发平面内执行入口路由器更新。例如,入口路由器更新使用LSP的应用以根据使不同的流出标签与新LSP实例相关联的新入口路由器传输流量。由入口路由器执行的入口路由器更新也可以引起网络的其他元件(取决于LSP)执行更新。
[0033]根据网络拓扑,新的LSP可以共享与旧的LSP相同的一些链路。通常,尽管两个LSP共享共同的链路,但是链路的下游路由器将一直向新的LSP分配新标签(除了当路由器是LSP的出口路由器并且向两个LSP分配隐式/显式NULL时)。这意味着链路的上游路由器将一直接收用于新的LSP的不同的标签,虽然两个LSP穿过共同的链路至共同的下游路由器。这还应用至两个LSP在入口路由器与第一跳转接路由器之间共享共同的链路的情况。
[0034]在先接后断转换期间共同链路上的标签改变是不必要的。这是因为,在任何时间,入口路由器14应该仅使用新LSP标签和旧LSP标签的一个来携带流量。换言之,在该共同链路利用两个LSP标签的流量流动的是不能共存的。因此,新LSP在共同链路上重用旧LSP标签在技术上是可行的。这将使共同链路的上游路由器免于在数据或者转发平面内编程新标签和解除旧标签。
[0035]在可能的情况下,本公开内容的技术允许现有LSP的路由器跨不同的LSP实例保持或者重用相同的标签,而不影响每个LSP实例的路由功能或者数据路径校验,以避免或者减小在RSVP MBB流程期间由标签路由更新所引起的网络波动。另外,由于不需要等待沿着新的LSP实例的路径的每个路由器的标签路径和入口路由器更新和转发平面编程,根据公开的技术保持或者重用标签可以加速建立新的LSP实例。
[0036]在MBB中重用标签还可以为入口路由器14提供额外益处。在入口路由器14上,在MBB期间的标签变化要求LSP携带的全部应用路径和服务(例如,2/3层VPN)更新它们的路径和转发状态以切换至新标签。在大规模设置中,入口路由器14执行这种路径更新的工作负荷通常不是微不足道的,并且可能导致系统波动。完成更新的时间可能是不可预知的。如果入口路由器在路径更新依然进行中的同时过早拆除旧LSP,流量可能被打断。这被视为RSVP的可量测性(scalabi I i ty)的极大挑战。
[0037]在RSVPLSP先接后断的情况下,诸如自动带宽、整体维护、和路径重新优化,旧LSP与新LSP之间的链路可以保持不变,或者可以强制(例如,通过严格的跳约束)为保持不变。对于这些情况,链路的下游路由器,在可能的情况下为新LSP重用旧LSP的标签。因此,链路的上游路由器能够避免跨MBB的转发状态更新。特别在上游路由器是入口路由器的情况下,这允许路由器避免用于LSP携带的应用和服务的路由和转发状态更新,并且改善MBB的汇聚时间(convergence time)和RSVP的可量测性。
[0038]根据本公开内容中描述的技术,LSP的路由器可以被配置为在现有LSP实例和新LSP实例的主路径至少部分重叠时在RSVP MBB流程期间重用标签。例如,沿着第二LSP实例26或者28的路径的任何非入口路由器(例如,转接路由器16或者出口路由器18的任一个)的路由引擎可以被配置为当第一 LSP实例和第二 LSP实例在非入口路由器重叠时将先前为第一LSP实例25分配的第一标签重用为用于第二LSP实例26或者28的第二标签。以这种方法,非入口路由器不需要为重用标签在存储在其转发平面中的标签转发信息库(LFIB)中更新标签路由条目。在部分或者全部重叠条件下的标签重用减少不必要的LFIB更新,这进一步减少错误的可能性并且改善网络汇聚延迟。
[0039]图2是示出了包括LSP的入口路由器和LSP的至少一个下游路由器系统的在建议的用于MBB流程的标签分配的标签模式下的示例性操作的流程图。在图2的实例中,入口路由器14(路由器A)通过转接路由器16(路由器B)连接至其他两个转接路由器(路由器C和D)。路由器C和D随后连接至出口路由器18(路由器E)。
[0040]在图2的实例中,LSP30被定义为通过路由器B和C将数据传递至出口路由器E。标签100定义路由器A和路由器B之间的链路。在定义LSP 30之后某时,路由器A发起新的路径(LSP 32)。当LSP 32的路径计算指示从路由器A至路由器B的路径保持不变时,路由器A发送具有现有的标签(标签100)作为建议的新标签的路径消息(36)。在一个这种实例中,标签100作为建议标签对象的一部分被发送。
[0041]当路由器B接收到具有其建议标签对象的路径消息时,其存储标签并且将新路径消息发送至路由器D(在LSP 32的新路径上由路由器A计算的下一个路由)(38)。在图2中示出的实例中,从路由器B至路由器D的路径未与LSP 30的路径共享链路。因此,在这个实例中,从B至D的路径消息不包括建议的标签。
[0042]最终,路由器B在40从D接收到具有定义从路由器B至路由器D的流量的标签的Resv消息。路由器B在40安装至D的未激活的下一跳并且在Resv消息中将建议的标签发送回至路由器A。路由器B继续根据LSP30向路由器C转发接收的用于LSP 30的流量。路由器A在42从路由器B接收Resv消息并且保存建议的标签。LSP 32现在是向上。路由器A在44向路由器B发送用于LSP 30的PathTear消息。在44的PathTear消息不仅拆除LSP 30,而且担当将路由器B切换至LSP 32的“移交”信号。
[0043]B在46激活至D的新下一跳并且删除至路由器C的下一跳,使得流量开始流向路由器D。B在48还向路由器C发送PathTear消息以拆除LSP30。
[0044]返回至图1,在一个实例中,如在图1中示出的,LSP 24的第一LSP实例25的主路径在入口路由器14与出口路由器18之间从头到尾完全与第二LSP实例26的主路径重叠。例如,当服务提供商网络12想要增加LSP 24通道的带宽时会发生该情形。
[0045]在这个实例中,出口路由器18或者转接路由器16A、16B或者16C的任一个没必要分配任何新标签或者执行任何标签路由更新以建立第二 LSP实例26。替代地,沿着第一 LSP实例25和第二 LSP实例26的共享路径的每个非入口路由器可以通过该建议的标签机构将先前分配用于第一 LSP实例25的标签重用为用于第二 LSP实例26的标签。当第一实例25和第二实例26的路径全部重叠并且完成标签重用,该技术还消除执行第二LSP实例26的数据平面校验的需要,这进一步简化了RSVP MBB流程。另外,当第一LSP实例25和第二LSP实例26的路径全部重叠时,LSP 24的入口路由器14可以避免使用LSP 24执行应用的入口路由器更新。
[0046]在另一实例中,如在图1中示出的,LSP24的第一LSP实例25的主路径从转接路由器16B至出口路由器18与第二 LSP实例28的主路径部分重叠。在这个实例中,可以在转接路由器16C开始标签重用并且一直继续至出口路由器18使得出口路由器18或者转接路由器16C不需要分配任何新标签或者执行任何标签路由更新来建立第二 LSP实例28。替代地,出口路由器18和转接路由器16C可以通过建议的标签机构将先前分配用于第一 LSP实例25的标签重用为用于第二 LSP实例28的标签,但是转接路由器16B和16D将分配新标签用于第二LSP实例28。转接路由器16B和16D将执行第二 LSP实例28的标签路由更新,和入口路由器14将执行使用LSP 24的应用的入口路由更新。因为第二LSP实例28的路径与第一LSP实例25的路径未完全重叠,所以惯用的数据平面验证方法可以用于验证第二 LSP实例28。在一些实例中,穿过第一LSP实例25或者第二LSP实例28的任一种的数据从入口路由器14直至到达转接路由器16B采用不同的标签路径,这使两个实例的流量合并为朝向LSP 24的出口路由器18的共同的LSP。
[0047]本公开内容中描述的用于RSVPMBB流程的标签重用技术可以应用于点对点(P2P)LSP和点对多点(P2MP)LSP。为了清楚的目的,本公开内容以P2P LSP为重点,但是应当理解相似的技术可以适应并且应用于P2MP LSP0
[0048]返回至图2,在RSVP MBB流程期间,标签重用技术可以不同地应用于沿着LSP 24重新路由的每种路由器,即,入口路由器、中间或者转接路由器、和出口路由器。标签重用技术在LSP 24的入口路由器14发起并且要求机构将现有的标签从入口路由器14发送至其第一跳转接路由器16。在一些示例性机构中,RSVP路径消息被修改为包括用于存储标签的标签对象。在一种这样的机构中,标签对象是在RFC 3473中定义的建议的标签对象,但是目前局限于在GMPLS中使用。对于GMPLS中建议的标签对象的使用的补充细节,参见L.Berger,“Generalized Mult1-Protocol Label Switching(GMPLS)Signaling Reservat1nProtocol-Traffic Engineering (RSVP-TE)Extens1ns /'Network Working Group RFC3473,2003.1,其全部内容通过引用结合于此。
[0049]返回至图1,入口路由器14计算LSP 24的第二路径(例如,LSP 26或者LSP 28)并且将其与旧LSP(LSP 25)进行比较。如果两个LSP共享至共同第一跳转接路由器(在此,转接路由器16A)的共同链路,那么入口路由器利用RSVP路径消息告知新的LSP携带具有用于LSP25的相同的标签的建议的标签对象。在这个实例中,图1的LSP 26满足该标准,因此,在图1的一个实例中,入口路由器14使用从路由器14发送至转接路由器16A的RSVP路径消息中建议的标签对象在入口路由器14与转接路由器16A之间发送与LSP 25相关联的当前标签。
[0050]在图丨的实例中,第一跳转接路由器(在此,转接路由器16A)将建议的标签对象解释为为LSP 26重用LSP 25的标签的请求。路由器照常向出口路由器18发送新LSP的信号。然而,当转接路由器16A从下游接收与LSP 26相关联的Resv消息时,转接路由器16A通过在LSP26的Resv消息中将用于LSP 25的标签发送至入口路由器14交回(redeem)入口路由器14在建议的标签对象中建议的标签。同时,转接路由器16A在与LSP25相关联的标签的标签信息库(LIB)条目中安装用于LSP 26(新LSP)的未激活的下一跳。此时,用于LSP 25的标签的LIB条目的激活的下一跳依然是LSP 25(旧LSP),因此,流量依然沿着旧LSP流动。
[0051 ]当入口路由器14接收到携带与LSP 25相关联的标签的新LSP的RSVP Resv消息时,入口路由器14认识到没有必要更新LSP携带的任何应用或者服务的路由或者转发其状态,因为流出接口和流出标签都保持不变。因此,入口路由器14可以通过用于LSP 25的PathTear消息立即拆除LSP 25。
[0052]在收到旧LSP的PathTear消息后,第一跳转接路由器(在此,转接路由器16A)将其解释为用于流量的”移交”信号。第一跳转接路由器在与LSP 25相关联的标签的转发信息库(FIB)条目中激活新LSP(LSP 26)的未激活的下一跳,并删除LSP 25的下一跳。流量现在开始流过新LSP(LSP 26) ο
[0053]路由器于是沿着旧LSP在下游传播PathTear消息。现在完成先接后断。在入口路由器14上,从LSP 25至LSP 26的切换对LSP 26携带的全部应用和服务是透明的。
[0054]在一个实例中,对于LSP 25和LSP 28共同转接路由器16,在路由器16接收新LSP的路径消息之后,路由器16首先基于两个LSP的共同的会话对象检测其还是旧LSP的转接路由器(诸如,例如,图1的路由器16B或者16C)。路由器16然后基于两个LSP在路径消息中的ERO检测它们共享至下一跳路由器的共同的链路。如果是这样的话,转接路由器通过发送具有旧LSP的标签(例如,Y)的建议的标签对象的路径消息向新LSP发送信号。
[0055]下一跳路由器(S卩,共同链路的下游路由器)将建议的标签对象解释成为新LSP重用旧LSP的标签的请求。路由器照常向出口路由器18发送新LSP的信号。然而,在路由器从下游接收新LSP的Resv消息之后,其通过在新LSP的Resv消息中将标签Y发送至(共同链路的)上游路由器交回建议的标签。同时,其在标签Y的LIB条目中将新LSP安装为未激活的下一跳。此时,标签Y的LIB条目的激活的下一跳依然是旧LSP,因此,流量依然沿着旧LSP流动。
[0056]当(共同链路的)上游路由器接收到携带Y的新LSP的RSVPResv消息时,上游路由器认识到没有必要为新LSP更新路由或者转发状态,因为输出接口和输出标签都保持不变。路由仅进一步向上游发送新LSP的Res V消息的信号。
[0057]在收到旧LSP的PathTear消息(作为入口路由器拆除旧LSP的结果)后,链路的下游处的路由器将其解释为流量的”移交”信号。路由器激活标签Y的FIB条目中的新LSP的下一跳,并且删除旧LSP的下一跳。流量现在开始流过新LSP。路由器然后沿着旧LSP在下游传播PathTear消息。
[0058]作为另一实例,LSP24的转接路由器16可以被配置为基于一个或多个条件将先前分配用于LSP 24的现有实例的标签重用为用于LSP 24的新实例的标签。例如,如果沿着新LSP实例的路径的下一跳路由器与沿着用于该会话和用于该路由器的现有LSP实例的路径的下一跳路由器相同,LSP 24的转接路由器16可以重用标签。
[0059]例如,LSP26中的每个转接路由器16接收包括会话对象的RSVP路径消息。在一些实例中,RSVP路径消息还包括转接路由器用于识别从沿着第二 LSP实例26或者28的路径的上游下一跳路由器与第二LSP实例相关联的进入流量的(比如,建议的标签对象中的)建议的标签。在一些这种实例中,转接路由器16于是要么分配新标签要么使用建议的标签对象中的标签来识别与第二 LSP实例26或者28相关联的进入流量。依据分配新标签或者使用存储在用于第二 LSP实例26或者28的建议的标签对象中的标签,每个转接路由器16依据接收RSVP Resv消息将包括用于第二LSP实例26或者28的标签的RSVP Resv消息沿着第二LSP实例26或者28的路径发送至上游路由器。
[0060]在具有与第一LSP实例25的路径完全重叠的路径的第二 LSP实例26的一个实例中,转接路由器16A、16B和16C的任一个可以从沿着共享路径的下一跳路由器接收包括用于第二LSP实例26的那个转接路由器16先前建议的下游标签的RSVP Resv消息。因为接收的用于第二 LSP实例26的下游标签与先前从相同的下一跳路由器接收的用于第一 LSP实例25的下游标签相同,所以转接路由器16A、16B和16C的任一个可以将第一LSP实例25的转接路由器先前分配的第一标签重用为转接路由器使用的第二标签以识别与第二 LSP实例26相关联的进入流量。通过重用标签,转接路由器16A、16B和16C的任一个无需执行其转发平面的标签路由更新也重用先前安装在其转发平面的重用的标签的标签路由条目。
[0061]在图1的实例中,对于具有从转接路由器16B至出口路由器18仅与第一LSP实例25的路径部分重叠的路径的第二 LSP实例28,转接路由器16D接收包括会话对象但是没有建议的标签对象的RSVP路径消息。转接路由器16D分配新标签以识别与第二 LSP实例28相关联的进入流量。转接路由器16D还基于第二 LSP实例28的新标签在其转发平面安装新标签路由。
[0062]作为另外的实例,LSP24的入口路由器14可以被配置为基于一种或多种条件重用LSP 24的现有实例的入口路由用于LSP 24的新实例。例如,如果入口路由器14基于LSP 24的新路径计算检测到LSP 24的两个实例共享至下一跳路由器的共同的链路,LSP 24的入口路由器14可以重用入口路由。如果是这样的话,入口路由器14通过发送具有旧LSP的标签(例如,Y)的建议的标签对象的路径消息告知新LSP。入口路由器14在从下一跳路由器在Resv消息中收到建议的标签时可以重用标签路由。
[0063]图3是示出了被配置为执行RSVPMBB标签重用的公开的技术的示例性路由器50的框图。路由器50可以操作作为沿着图1的LSP 24的路径或者沿着图2的路径30或者32的入口路由器14、转接路由器16和出口路由器18的任一种。在图3的示出的实例中,路由器50包括控制单元52,控制单元52具有路由引擎54和转发引擎56,路由引擎54提供网络设备的控制平面功能而转发引擎56提供网络设备的转发或者数据平面功能以通过通常具有一种或多种物理网络接口端的一组接口卡84A至84N( “IFC 84”)发送并且接收流量。控制单元52可包括一种或多个后台程序(未示出),一种或多个后台程序包括用户级处理,用户级处理运行网络管理软件、执行路由协议以与同级路由器通信或切换、维持并且更新路由引擎54中的一种或多种路由表格,并且生成用于安装在转发引擎56中的一种或多种转发表格,以及其他功能。
[0064]转发引擎56执行进入数据数据包的分组交换和转发以通过网络进行传输。如图3中所示,转发引擎56包括存储转发数据结构使网络目的地与下一跳和输出接口关联的转发信息库(FIB)80。转发引擎56还包括存储使用于给定的LSP的进入标签与流出标签和下一跳路由器关联的标签路由的标签FIB(LFIB)82。虽然图3中未示出,转发引擎56可以包括中央处理单元(CPU)、存储器和一种或多种可编程的分组转发专用集成电路(ASIC)。
[0065]路由引擎54包括执行路由器50的路由功能的各种协议66。在图3所示出的实例中,路由引擎54包括BGP 70和IGP 72作为路由协议用于与网络中的其他路由设备交换路由信息以发现网络拓扑并且更新路由信息库(RIB)74。在本公开内容中描述的实例中,IGP 72可能是链路状态路由协议,诸如开放最短路径优先(OSPF)或者中间系统-中间系统(IS-1S)。另外,路由引擎54包括RSVP 68,并且具体地RSVP-TE,作为用于使用RIB 74建立与网络中的其他网络设备的流量工程路径,即,LSP的路由协议。路由引擎54使用RSVP 68与沿着LSP的其他路由设备交换标签映射消息并且更新标签信息库(LIB)76。
[0066]RIB 74可以描绘其中存留路由器50的网路的拓扑,并且还可以描绘网络内的各种路由和每一路由的适当的下一跳,即,沿着每个路由的相邻的路由设备。路由引擎54分析存储在RIB 74中的信息以生成转发信息。路由引擎54于是将转发数据结构安装到转发引擎56内的FIB 80oFIB 80使网络目的地与具体的下一跳和转发平面内的对应的接口端关联。LIB76维持下一跳标签至来自RIB 74的网络内的每个路径的下一跳的映射。路由引擎54选择通过网络的具体路径并且为沿着转发引擎56内的LFIB 82中的那些具体的路径的下一跳安装下一跳标签映射。
[0067]在一些示例中,路由引擎54使用RSVP 68生成并且维持包括网络中参与流量工程的节点和链路的完整的列表和每个链路的一组属性的流量工程数据库(TED) 78 ο例如,TED78可包括用于通过网络与LSP相关联的链路的带宽预留。路由引擎54可以使用IGP 72向网络中的其他路由设备宣传存储在TED 78中的流量工程属性。路由引擎54还可以从网络中的其他路由设备接收包括流量工程属性的IGP广告并且更新TED 78。
[0068]根据本公开内容中描述的技术,当使用RSVPMBB流程建立相同LSP的新实例时,路由器50的路由引擎54可以被配置为重用先前由RSVP 68分配用于LSP的现有实例的标签。在一些情况下,可以通过改变LSP的特性(例如,带宽要求或者其他准入控制要求的变化),或者通过中断沿着LSP的资源(例如,失败的链路和/或节点)改变触发MBB流程。路由引擎54中的MBB单元62可以执行RSVP MBB流程以在拆除现有LSP实例之前建立新LSP实例。MBB单元62还可以执行本公开内容中描述的标签重用技术。
[0069]例如,在路由器50操作为沿着新LSP实例的路径的非入口(例如,出口路由器或者转接路由器)的情况下,路由引擎54的MBB单元62可以基于现有LSP实例的路径是否与新LSP实例的路径重叠确定是否将先前分配用于现有的LSP实例的标签重用为用于新的LSP实例的下游分配的标签。在路由器50操作作为出口路由器的情况下,在从其沿着在第一和第二LSP实例之间共享的路径的上游转接路由器接收到重用的标签作为建议的标签时,MBB单元62可以被配置为将现有LSP实例的标签重用用于新LSP实例。在路由器50操作为转接路由器的情况下,在从沿着至该上游路由器的共同链路的上游转接路由器或者入口路由器接收到重用的标签作为建议的标签是,MBB单元62可以被配置为将现有LSP实例的标签重用用于新LSP实例。当路由引擎54为新LSP实例重用标签时,路由引擎54不需要在转发引擎56中的LFIB 82中为重用的标签更新标签路由条目。
[0070]在路由器50操作作为LSP的入口路由器或者转接路由器的情况下,路由器50可以发现其不能重用标签。比如,当至下一跳路由器的链路与用于LSP的第一 LSP实例和第二 LSP实例的链路不同时,这可能发生。在一些实例中,当这发生时,将发送没有建议的标签的RSVP路径消息,并且来自下一跳路由器的RSVP Resv消息将包括下一跳路由器选择的标签。在一个实例中,路由引擎54在继续发送流量至指定用于LSP的第一LSP实例的下一跳路由器的同时将标签存储在LIB 76中与LSP的第二LSP实例相关联的未激活的下一跳条目中。
[0071]当路由器50从其上游路由器接收到RSVPPathTear消息时,其在FIB80中激活新LSP的未激活的下一跳,并删除旧LSP的下一跳。
[0072]在路由器50操作为LSP的入口路由器的情况下,路由器50可以基于通过路由器50发送至下一跳路由器的建议的标签从下一跳路由器接收重用的标签。当用于发送流量至下一跳路由器的链路与LSP的现有LSP实例和新LSP实例相同时,这可能发生。在该情况下,MBB单元62可以被配置成为使用LSP的应用重用入口路由器。当重用入口路由器时,路由引擎54不需要在转发引擎56中的LFIB 82中更新LSP的入口路由器。
[0073]在路由器50操作为LSP的入口路由器的情况下,路由引擎54使用路径计算单元60选择用于LSP的入口路由器与出口之间的新LSP实例的路径。例如,路径计算单元60可以基于包括在RIB 74和TED 78中的信息使用约束最短路径优先(CSPF)处理来计算LSP的最短路径以满足与LSP相关联的准入控制要求,例如,带宽要求及其他约束。在MBB流程由于改变准入控制要求被触发的情况下,当CSPF被用于计算用于满足改变的要求的新LSP实例的路径时,现有LSP实例的路径可能依然是满足改变的要求的最佳路径之一。该出现提供如本公开内容中描述的重用标签的机会。
[0074]根据公开的技术,路径计算单元60可以被修改为计算新LSP实例的路径,尽可能重用现有LSP实例的相同的路径以从用于RSVP MBB流程的标签重用技术得到最大的益处。例如,在RSVP MBB流程期间,路由引擎54可以基于与LSP的第一LSP实例的路径重叠的量使用路径计算单元60选择新LSP实例的路径。在一个实例中,路径计算单元60可以执行修改的CSPF计算以从LSP的入口路由器和出口路由器之间的的多个“最佳”路径中选择具有与现有LSP实例的路径重叠最多的最佳路径之一作为新LSP实例的路径。在另一实例中,只要现有LSP实例的路径满足第二 LSP实例的准入控制要求,路径计算单元60可以被修改为选择与现有LSP实例的路径相同的新LSP实例的路径。通过路由引擎54应用的修改的路径计算技术的选择可以是路径计算单元60的本地配置政策。用于在MBB流程期间使新LSP实例与现有LSP实例之间的路径重叠最大化的修改的路径计算技术可以应用于主路径计算和FRR后备路径计算。
[0075]在一些实例中,可以允许路由器50在RSVPMBB流程期间默认以标签分配的标签重用模式操作。在这个实例中,管理员需要执行路由器50的本地配置变化以将用于MBB流程的标签分配模式改变为不同于标签重用模式。在其他实例中,路由器50可改为在RSVP MBB流程期间在标签分配的“正常”模式下操作,并且可以在路由器50与网络中的其他路由设备之间协商改变为标签重用模式。例如,路由器50可以宣传其使用路由协议之一,诸如IGP 72、BGP 70或者RSVP 68支持标签重用模式的能力。在这个实例中,如果标签重用模式得到支持,管理员需要执行路由器50的本地配置变化以将标签分配模式改变为标签重用模式。
[0076]图4是示出了LSP的路由器50在RSVPMBB流程的标签分配的标签重用模式下的示例性操作的流程图。当操作为LSP的路由器时,相对于来自图3的路由器50对图4的示例性操作进行描述。
[0077]如上所述,在拆除第一 LSP实例之前的第二 LSP实例的建立是RSVPMBB流程的一部分。在RSVP MBB流程期间,LSP的路由器50从LSP的上游路由器接收请求建立LSP的第二LSP实例的RSVP路径消息(90)。用于第二LSP实例的RSVP路径消息可以明确地指示第二LSP实例在LSP的入口路由器与出口路由器50之间的第二路径。用于第二 LSP实例的RSVP路径消息根据第二LSP实例的第二路径通过网络传播直至其到达LSP的出口路由器50。
[0078]在图4中示出的实例中,如果在用于LSP的第一LSP实例和第二LSP实例的上游路由器和路由器50之间存在共同链路,那么RSVP路径消息包括具有建议标签的建议标签对象(90)。路由器50将建议的标签存储为用于来自上游路由器的进入流量的标签(92)。
[0079]在一些实例中,在接收到请求第二LSP实例的RSVP路径消息时,出口路由器50的路由引擎54中的MBB单元62将先前由出口路由器50分配用于第一 LSP实例的第一标签重用为由出口路由器50使用的第二标签以识别与第二 LSP实例相关联的进入流量。通过将先前分配的第一标签重用为用于第二LSP实例的第二标签,路由引擎54通过LFIB 82中执行第二标签的标签路由添加并且随后在LFIB 82中执行第一标签的标签路由删除不需要更新出口路由器50的转发引擎56。替代地,转发引擎56将重用安装在LFIB 82中用于第一LSP实例的标签路由以向LSP的目的地转发通过第二标签识别的进入流量。
[0080]响应于请求第二LSP实例并且包括建议的标签的RSVP路径消息,出口路由器50沿着第二LSP实例的路径向上游路由器发送包括用于第二LSP实例的第二标签,S卩,建议的标签的RSVP Resv消息(94) oRSVP Resv消息将根据第二LSP实例的第二路径的反向路由逐跳向上游传播直至最后的RSVP Resv消息到达LSP的入口路由器。于是在网络中建立LSP的第二LSP实例。作为部分MBB流程,入口路由器14可以拆除第一LSP实例并且开始使用,S卩,切换至建立的第二LSP实例以向LSP的出口路由器50发送流量。
[0081 ] 在通过入口路由器建立第二 LSP实例并且拆除第一 LSP实例时,出口路由器50的转发引擎56可以从沿着第二LSP实例的第二路径的上游路由器接收包括建议的第二标签(SP,重用的标签)的进入流量(96)。出口路由器50的转发引擎56查阅LFIB 82中的第二标签并且基于第二标签的重用的标签路由向LSP的目的地转发通过第二标签识别的进入流量(98)。
[0082]图5是示出了LSP的转接路由器在RSVPMBB流程的标签分配的标签重用模式下的示例性操作的流程图。当操作为LSP的转接路由器时,关于来自图3的路由器50对图5的示例性操作进行描述。在其他实例中,图5的操作还可以通过来自图1的LSP 24的任何转接路由器16执行。
[0083]如上所述,在拆除第一 LSP实例之前的第二 LSP实例的建立是RSVPMBB流程的一部分。在RSVP MBB流程期间,LSP的转接路由器50从LSP的上游路由器接收请求建立LSP的第二LSP实例的RSVP路径消息(100)。用于第二LSP实例的RSVP路径消息可以明确地指示第二LSP实例在LSP的入口路由器与出口路由器之间的第二路径。转接路由器50根据第二LSP实例的第二路径向LSP的出口路由器转发RSVP路径消息。用于第二LSP实例的RSVP路径消息根据第二LSP实例的第二路径通过网络传播直至其到达LSP的出口路由器。
[0084]在图5中示出的实例中,如果用于LSP的第一和第二LSP实例的上游路由器和路由器50之间存在共同的链路,那么RSVP路径消息包括具有建议标签的建议标签对象(100)。路由器50将建议标签存储为用于来自上游路由器的进入流量的标签(102)。在(104)进行检查以确定路由器50对第二 LSP实例的相同的下一跳路由器是否使用与用于LSP的第一 LSP实例相同的链路。如果否(104的否分支),那么将没有建议标签的RSVP路径消息发送至下一跳路由器(106)。然而,如果路由器50对第二 LSP实例的相同的下一跳路由器使用与用于LSP的第一LSP实例相同的链路(104的是分支),那么将具有用于第一 LSP实例的标签作为建议标签的RSVP路径消息发送至下一跳路由器(108)。在一些实例中,当第一和第二LSP实例在路由器50与其下一跳路由器之间共享共同的链路时,至下一跳路由器的RSVP路径消息包括具有建议标签的建议标签对象。然而,在该情形中,标签是先前针对第一LSP实例用于转发流量至的下一跳路由器的标签。
[0085]响应于请求第二LSP实例的RSVP路径消息,LSP的出口路由器沿着第二LSP实例的第二路径向上游路由器(即,转接路由器)发送包括用于第二LSP实例的标签的RSVP Resv消息。RSVP Resv消息将根据第二LSP实例的第二路径的反向路由向上游逐跳传播。在某一时亥IJ,转接路由器50从沿着第二 LSP实例的第二路径的下一跳路由器接收包括第二 LSP实例的第二下游标签的RSVP Resv消息。转接路由器50使用第二下游标签来识别与第二LSP实例相关联的转发至沿着第二 LSP实例的第二路径的下一跳路由器的流出流量。
[0086]无论转接路由器50是否建议至第二LSP实例的下一跳路由器的标签,在从下一跳路由器接收到RSVP Resv消息时,转接路由器50沿着第二LSP实例的第二路径将包括用于第二LSP实例的建议的标签的RSVP Resv消息发送至上游路由器,例如,转接路由器或者入口路由器(I 1)。RSVP Res V消息将根据第二 LSP实例的第二路径的反向路由向上游逐跳传播直至最后的RSVP Resv消息到达LSP的入口路由器。于是在网络中建立LSP的第二LSP实例。作为部分MBB流程,入口路由器可以拆除第一LSP实例并且开始使用,S卩,切换至建立的第二LSP实例以向LSP的出口路由器发送流量。
[0087]在通过入口路由器建立第二LSP实例并且拆除第一 LSP实例后,转接路由器50的转发引擎56可以沿着第二 LSP实例的第二路径从上游路由器接收包括建议标签的进入流量
(112)。转接路由器50的转发引擎56查阅LFIB 82中的建议标签并且基于建议标签的标签路沿着第二LSP实例的第二路径向LSP的出口路由器转发通过建议标签识别的进入流量
(114)。在转接路由器50的路由引擎54将先前分配的第一标签重用为用于第二LSP实例的第二标签并且转发引擎56重用第一LSP实例的标签路由用于第二LSP实例的情况下,转发引擎56基于第二标签的重用的标签路由转发通过建议标签识别的进入流量。
[0088]图6是示出了包括LSP的入口路由器和LSP的至少一个下游路由器的系统在RSVPMBB流程的标签分配的标签重用模式下的示例性操作的流程图。关于来自图1的LSP 24的入口路由器14、转接路由器16、和出口路由器18对图6的示例性操作进行描述。在其他实例中,图5的操作在操作作为LSP的入口路由器、转接路由器、和出口路由器的任一种时还可以通过来自图3的路由器50执行。
[0089]作为RSVP MBB流程的一部分,为了在拆除LSP 24的现有实例25之前建立LSP 24的新实例,LSP 24的入口路由器14发送请求建立LSP 24的第二LSP实例26的RSVP路径消息并且,如果LSP的第一和第二 LSP实例存在从入口路由器14至下一跳路由器的共同的链路,那么基于第一 LSP实例的标签建议的标签#1被发送至下一跳路由器(如在LSP实例25和26中)(120)。用于第二LSP实例的RSVP路径消息可以指示第二LSP实例26、28在LSP 24的入口路由器14与出口路由器18之间的显式第二路径。根据本公开内容中描述的技术,入口路由器14可以基于与LSP 24的第一LSP实例25的第一路径重叠的量选择第二LSP实例26、28的第二路径。在一个实例中,入口路由器14可以执行修改的CSPF计算以从入口路由器14和出口路由器18之间的多个最佳路径中选择具有与第一 LSP实例的第一路径重叠最多的多个最佳路径之一作为第二路径。在另一实例中,只要第一路径满足第二LSP实例的准入控制要求,入口路由器14可以选择与第一 LSP实例的第一路径相同的第二路径。
[0090]用于第二LSP实例的RSVP路径消息根据第二 LSP实例26的第二路径沿着转接路由器16从入口路由器14传播直至其到达LSP 24的出口路由器18。沿着第二LSP实例的路径,如果LSP的第一和第二 LSP实例再一次存在从转接路由器16至下一跳路由器的共同的链路,那么向下一跳路由器发送基于第一 LSP实例的标签的建议的标签#2(121)。根据公开的技术,在接收到请求具有标签#2的建议的标签的第二LSP实例的RSVP路径消息,出口路由器18为第二 LSP实例重用先前分配的第一 LSP实例的标签#2,无需利用新标签路由更新其转发平面
(122)。出口路由器18沿着第二LSP实例26的第二路径向转接路由器16C发送包括第二LSP实例上游重用的标签,标签#2的RSVP Resv消息(124)。以上关于图4对出口路由器18的操作进行更详细地描述。[0091 ] RSVP Res V消息根据第二 LSP实例26的第二路径的反向路由沿着转接路由器16向上游逐跳传播直至最后RSVP Resv消息到达LSP 24的入口路由器H13LSP 24的每个转接路由器16执行步骤126、128和130。作为一个实例,从出口路由器18直接向上游的转接路由器从出口路由器18接收包括用于第二LSP实例的标签#2的RSVP Resv消息(126)。转接路由器使用标签#2来沿着第二 LSP实例26的第二路径识别与转发至的出口路由器18的第二 LSP实例相关联的流出流量。基于先前接收的建议的标签#1,从入口路由器14直接向下游的转接路由器确定重用先前分配的第一 LSP实例的标签#1以识别第二 LSP实例的进入流量(128)。转接路由器沿着第二LSP实例26的第二路径将包括用于第二LSP实例的标签#1的RSVP Resv消息发送至上游路由器,例如,入口路由器14(130)。
[0092]在来自图1的一个实例中,第一LSP实例25的第一路径和第二LSP实例26的第二路径从入口路由器14至出口路由器18重叠。在这个实例中,根据公开的技术,转接路由器16A、16B和16C的每个可以重用先前分配的第一 LSP实例25的标签用于第二 LSP实例26,如通过各自的上游路由器建议的,无需利用新标签路由更新其转发平面。以上关于图5对转接路由器16的每个的操作进行更详细地描述。
[0093 ] 入口路由器14接收包括用于识别第二LSP实例的流出流量的标签(标签# I)的RSVPResv消息(132)。基于收到建议的标签#1,入口路由器14为第二 LSP实例26重用第一 LSP实例25的入口路由器(134)。在来自图1的第二 LSP实例26的第二路径与第一 LSP实例25的第一路径从入口路由器14至出口路由器18完全重叠的实例中,入口路由器14根据在120提供的建议的标签#1从下一跳转接路由器16A接收用于第二 LSP实例26的重用的标签#1,并且为第二LSP实例26重用第一 LSP实例25的入口路由器,无需更新其转发平面中的入口路由器。在该情况下,入口路由器14不需要更新使用LSP 24的应用以使用新标签识别用于第二LSP实例26的流出流量。
[0094]当在入口路由器14接收到用于第二LSP实例26的RSVP Resv消息时,建立LSP 24的第二LSP实例26。作为部分MBB流程,入口路由器14拆除LSP 24的第一LSP实例25(136)。入口路由器14然后使用用于第二 LSP实例的标签#1沿着第二 LSP实例26的第二路径发送应用的流量(138)。流量沿着第二 LSP实例26的第二路径从入口路由器14至每个转接路由器16逐跳传播直至其到达LSP 24的出口路由器18。作为一个实例,从出口路由器18直接向上游的转接路由器沿着第二LSP实例26的第二路径使用标签#2向出口路由器18转发通过第二LSP实例的标签识别的进入的流量(140)。出口路由器18然后向LSP 24的目的地转发通过标签#2识别的进入流量(142)。
[0095]图7是示出了包括LSP的入口路由器和LSP的至少一个下游路由器的系统在MBB流程的标签分配的标签重用模式下的示例性操作的流程图。在图2的实例中,入口路由器14(路由器A)通过转接路由器16(路由器B)连接至两个其他转接路由器(路由器C和D)。路由器C和D反过来连接至出口路由器18 (路由器E)。
[0096]在图2的实例中,LSP30被定义为通过路由器B和C传递数据至出口路由器E。标签100定义路由器A与路由器B之间的链路。在LSP 30被定义之后的某时,路由器A发起新路径(LSP 32)并且在标签重用模式下将RSVP路径消息发送至出口路由器18。在标签重用模式的一个实例中,RSVP路径消息包括当入口路由器14期望标签重用时设置的“MBB标签重用期望(MLRD)”标记。当在每个转接路由器16和出口路由器18接收时,进行检查以确定至下一个上游路由器的链路是否通过与该LSP的先前LSP实例共同的链路。将在图7的背景中描述一个示例性过程。
[0097]在图7中示出的实例中,入口路由器14发送具有MLRD标记设置的RSVP路径消息(236)。当路由器B接收具有其MLRD标记设置的路径消息时,路由器B将具有MLRD位设置的RSVP路径消息发送至路由器D(LSP 32的新路径上由路由器A计算的下一个路由)(238)。在图7中示出的实例中,从路由器B至路由器D的路径未与LSP 30的路径共享链路。因此,路由器D未重用从节点B接收的第二 LSP实例的流量上的标签。
[0098]最终,路由器B从D接收具有定义从路由器B至路由器D的流量的标签的RSVPResv消息并且向D安装未激活的下一跳(240)。节点B然后通过共同的链路将标签从第一 LSP实例发送回至RSVP Resv消息中的路由器A。路由器B继续根据LSP 30向路由器C转发接收的用于LSP 30的流量。路由器A从路由器B接收ResV消息并且保存标签(242)。LSP 32现在是向上。路由器A向路由器B发送用于LSP 30的PathTear消息(244) C3PathTear消息不仅用于拆除LSP30,而且担当路由器B的”移交”信号以转换至LSP 32。
[0099]B激活至D的新下一跳并且删除至路由器C的下一跳(246),使得流量开始流向路由器D。B还向路由器C发送PathTear消息以拆除LSP 30(248)。
[0100]图8是示出了LSP的路由器50在RSVPMBB流程的标签分配的标签重用模式下的另一示例性操作的流程图。当操作为LSP的路由器时,关于来自图3的路由器50对图8的示例性操作进行描述。
[0101]如上所述,在拆除第一LSP实例之前的第二 LSP实例的建立是RSVPMBB流程的一部分。在RSVP MBB流程期间,LSP的路由器50从LSP的上游路由器接收请求建立LSP的第二LSP实例的RSVP路径消息(260)。用于第二LSP实例的RSVP路径消息可以明确地指示第二LSP实例在LSP的入口路由器与出口路由器50之间的第二路径。用于第二LSP实例的RSVP路径消息根据第二 LSP实例的第二路径通过网络传播直至其到达LSP的出口路由器(诸如图1或者图2的出口路由器18)。
[0102]在图8中示出的实例中,入口路由器14通过发射具有指示标签重用的MLRD位设置的RSVP路径消息发起标签重用。RSVP路径消息由路由器50接收(260)。进行检查以确定在路由器与其上游路由器之间是否存在用于LSP的与RSVP路径消息相关联的第一和第二 LSP实例的共同的链路并且,如果是这样的话,路由器50将LSP的第一实例的标签使用为LSP的第二实例的标签(262)。
[0103]在一些实例中,在接收到具有请求第二LSP实例的MLRD位设置的RSVP路径消息时,路由器50的路由引擎54中的MBB单元62将先前由出口路由器50分配用于第一 LSP实例的第一标签重用为由出口路由器50使用的第二标签以识别与第二 LSP实例相关联的进入流量。通过将先前分配的第一标签重用为用于第二 LSP实例的第二标签,路由引擎54通过执行LFIB 82中的用于第二标签的标签路由添加并且随后在LFIB 82中执行用于第一标签的标签路由删除不需要更新路由器50的转发引擎56。替代地,上游路由器的转发引擎56重用安装在LFIB 82中用于第一LSP实例的标签路由以向LSP的目的地转发通过第二标签识别的进入流量。
[0104]响应于请求第二LSP实例的RSVP路径消息,路由器50沿着第二 LSP实例的路径向上游路由器发送包括用于第二LSP实例的第二标签,S卩,用于第一实例的标签的RSVP Resv消息(264) oRSVP Resv消息将根据第二LSP实例的第二路径的反向路由向上游逐跳传播直至最后的RSVP Resv消息到达LSP的入口路由器14。于是在网络中建立LSP的第二LSP实例。作为部分MBB流程,入口路由器14可以拆除第一LSP实例并且开始使用,S卩,切换至建立的第二LSP实例以向LSP的出口路由器50发送流量。
[0105]在通过入口路由器建立第二 LSP实例并且拆除第一 LSP实例后,路由器50的转发引擎56沿着第二 LSP实例的第二路径可以从上游路由器接收包括重用的标签的进入流量(266)。路由器50的转发引擎56查阅LFIB82中的重用的标签并且基于第二标签的重用的标签路由向LSP的目的地转发通过重用的标签识别的进入流量(268)。
[0106]图9是示出了LSP的转接路由器在RSVPMBB流程的标签分配的标签重用模式下的示例性操作的流程图。当操作为LSP的转接路由器时,关于来自图3的路由器50对图9的示例性操作进行描述。在其他实例中,图9的操作还可以通过来自图1的LSP 24的任何转接路由器16执行。
[0107]如上所述,在拆除第一 LSP实例之前的第二 LSP实例的建立是RSVPMBB流程的一部分。在RSVP MBB流程期间,LSP的转接路由器50从LSP的上游路由器接收请求建立LSP的第二LSP实例的具有MLRD标记设置的RSVP路径消息(280)。用于第二 LSP实例的RSVP路径消息可以明确地指示第二 LSP实例在LSP的入口路由器与出口路由器之间的第二路径。转接路由器50根据第二LSP实例的第二路径向LSP的出口路由器转发RSVP路径消息。用于第二LSP实例的RSVP路径消息根据第二 LSP实例的第二路径通过网络传播直至其到达LSP的出口路由器。
[0108]在图9中示出的实例中,如果在进入RSVP路径消息中设置MLRD位并且在用于LSP的第一 LSP实例和第二 LSP实例的路由器50与其上游路由器之间存在共同的链路,那么路由器50将来自第一 LSP实例的标签重用为用于第二 LSP的标签。在一个这样实例中,RSVP路径消息被接收(280)并且被传输到下一跳路由器(282)。在一个实例中,RSVP路径消息包括当入口路由器14期望标签重用时设置的MBB标签重用标记。
[0109]响应于请求第二LSP实例的RSVP路径消息,LSP的出口路由器沿着第二LSP实例的第二路径向上游路由器,即,转接路由器发送包括用于第二LSP实例的标签的RSVP Resv消息。RSVP Resv消息根据第二LSP实例的第二路径的反向路由向上游逐跳传播。在某一时刻,转接路由器50从沿着第二 LSP实例的第二路径的下一跳路由器接收包括用于第二 LSP实例的标签的RSVP Resv消息。转接路由器50使用标签来识别与沿着第二LSP实例的第二路径转发至下一跳路由器的第二 LSP实例相关联的的流出流量。
[0110]如图9中所示,当路由器50接收RSVPResv消息时,进行检查以确定是否存在至上游路由器的共同的链路(284)。如果没有(284的否分支),RSVP Resv消息被传输到具有用于LSP的第二LSP实例的新标签的上游路由器(286)。然而,如果路由器50对第二LSP实例的相同的上游路由器使用与用于LSP的第一LSP实例相同的链路(284的是分支),那么RSVP Resv消息被传输至具有用于LSP的第一 LSP实例的标签的上游路由器(288)。
[0111]RSVP Resv消息继续根据第二LSP实例的第二路径的反向路由向上游逐跳传播直至最后的RSVP Resv消息到达LSP的入口路由器。于是在网络中建立LSP的第二LSP实例。作为部分MBB流程,入口路由器于是拆除第一LSP实例(290)并且开始使用,S卩,切换至建立的第二LSP实例以向LSP的出口路由器发送流量(292)。
[0112]应注意,上述技术可以应用于其他执行MBB的MPLS协议。在以上图7至图9描述的方法的一些实例中,使用从上游接收的消息中的标签重用指示符的方法(诸如使用上述RSVP路径消息中的MLRD位)被用于不考虑在路由层可以设置的标签重用政策以迫使LSP的共享的路由器的标签重用。
[0113]描述了用于建立具有第一LSP实例的LSP的第二标签交换路径(LSP)实例的技术。在一个实例中,对于指定用于LSP的第二LSP实例的每个下游路由器,路由器确定路由器是否是LSP的第一实例的部分并且,如果是这样的话,则确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路。如果第一 LSP实例和第二 LSP实例共享至下一跳路由器的共同的链路,则下游路由器发送第一消息至下一跳路由器,其中,第一消息包括建议的标签。下游路由器从下一跳路由器接收第二消息,其中,第二消息包括建议的标签。在另一实例中,当LSP实例的上游路由器使用相同的链路时,来自入口路由器的消息中的标签重用指示符标记使第二 LSP实例上的路由器重用第一 LSP实例的标签。
[0114]实例1:一种用于建立具有第一 LSP实例的LSP的第二标签交换路径(LSP)实例的方法,包括:通过指定用于LSP的第二 LSP实例的每个下游路由器确定下游路由器是否是LSP的第一 LSP实例的一部分,并且如果是这样的话,则确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路;如果第一 LSP实例和第二 LSP实例共享至下一跳路由器的共同的链路,将第一消息发送至下一跳路由器,其中,第一消息包括建议标签;并且从下一跳路由器接收第二消息,其中,第二消息包括建议标签。
[0115]实例2:根据实例I的方法,其中,该方法进一步包括:如果LSP的第一LSP实例和第二LSP实例未共享至下一跳路由器的共同的链路,则安装用于第二 LSP实例的未激活的下一跳条目;并且拆除第一LSP的第一LSP实例,其中,拆除包括删除与第一LSP实例相关联的下一跳条目并且激活用于第二LSP实例的未激活的下一跳条目。
[0116]实例3:根据实例I的方法,其中,第一消息是RSVP路径消息并且第二消息是资源预留协议(RSVP)Resv消息,其中,RSVP路径消息包括建议标签。
[0117]实例4:根据实例I的方法,其中,确定下游路由器是否是LSP的第一实例的一部分包括比较与第一LSP实例和第二LSP实例相关联的会话对象,并且其中,确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路包括比较与每个LSP实例相关联的显式路由器对象中的信息。
[0118]实例5:根据实例I的方法,其中,每个下游路由器跨越第一链路连接至上游路由器并且跨越第二链路至下一跳路由器,该方法进一步包括:如果第一LSP实例和第二LSP实例未共享至下一跳路由器的共同链路,则将RSVP路径消息发送至通过LSP的第二 LSP实例指定的下一跳路由器,其中,RSVP路径消息包括建议标签;从通过LSP的第二 LSP实例指定的下一跳路由器接收RSVP Resv消息,其中,RSVP Resv消息包括建议标签;并且如果用于下游路由器的第一 LSP实例和第二 LSP实例未共享至通过LSP的第二 LSP实例指定的下一跳路由器,则在下游路由器中安装用于第二LSP实例的未激活的下一跳条目,同时继续使用激活的下一跳条目向指定用于LSP的第一LSP实例的下一跳路由器发送流量,其中,未激活的下一跳条目包括利用RSVP Resv消息从下一跳路由器接收的建议标签。
[0119]实例6:根据实例5的方法,其中,该方法进一步包括:在下游路由器处从上游路由器接收包括建议标签对象的RSVP路径消息,其中,建议标签对象包括建议标签;将建议标签存储为与和第二LSP实例相关联的流量相关联的标签;并且通过将RSVP Resv消息中的建议标签发送至上游路由器交回建议标签。
[0120]实例7:根据实例5的方法,其中,该方法进一步包括拆除第一LSP的第一LSP实例,其中,拆除包括在下游路由器中删除与第一LSP实例相关联的激活的下一跳条目并且在下游路由器中激活与第二 LSP实例相关联的未激活的下一跳条目。
[0121 ]实例8:根据实例5的方法,其中,该方法进一步包括:针对与第一 LSP实例相关联的标签启用标签重用,其中,启用标签重用包括确定与LSP相关联的RSVP路径消息是否包括标签重用指示符;为每个下游路由器确定是否允许为第二 LSP实例启用标签重用;如果为第二LSP实例启用标签重用,则确定用于该下游路由器的第一LSP实例和第二LSP实例是否共享至上游路由器的共同的链路;如果第一 LSP实例和第二 LSP实例共享下游路由器与上游路由器之间的共同的链路,则将上游路由器消息发送至上游路由器,其中,上游路由器消息包括与从上游路由器至下游路由器与第一 LSP实例流量相关联的标签;并且从上游路由器接收与第二LSP实例相关联的流量,其中,利用与从上游路由器至下游路由器与第一LSP实例流量相关联的标签标注与第二 LSP实例相关联的流量。
[0122]实例9:一种非瞬时性计算机可读介质,包括指令,当执行指令时,使路由器的一种或多种可编程处理器执行实例I至实例8的任一项的方法的任一种。
[0123]实例10: —种路由器,包括:包括一个或多个处理器的路由引擎,其中,一个或多个处理器被配置为:建立具有第一LSP实例的LSP的第二LSP实例,其中,第二LSP实例包括第二路径上的指定路由器;确定路由器是否是LSP的第一实例的一部分,并且如果是这样的话,确定用于路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路;如果LSP的第一 LSP实例和第二 LSP实例共享至下一跳路由器的共同的链路,将第一消息发送至下一跳路由器,其中,第一消息包括建议标签并且从下一跳路由器接收第二消息,其中,第二消息包括建议标签;并且如果LSP的第一 LSP实例和第二 LSP实例未共享至下一跳路由器的共同的链路,则安装用于第二LSP实例的未激活的下一跳条目;以及连接至路由引擎的转发引擎,其中,转发引擎包括一个或多个处理器,一个或多个处理器被配置为在建立第二LSP实例并拆除第一 LSP实例后沿着第二 LSP实例的路径转发流量。
[0124]实例11:根据实例10的路由器,其中,当路由引擎使用建议标签时,路由器进一步被配置为沿着第二LSP实例的第二路径转发流量,无需更新转发状态,并且其中,路由引擎进一步被配置为拆除第一个LSP的第一LSP实例,其中,当LSP的第一LSP实例和第二LSP实例未共享至下一跳路由器的共同的链路,拆除包括删除与第一 LSP实例相关联的下一跳条目并且激活用于第二 LSP实例的未激活的下一跳条目。
[0125]实例12:根据实例10的路由器,其中,确定下游路由器是否是LSP的第一实例的一部分包括比较与第一 LSP实例和第二 LSP实例相关联的会话对象,并且其中,确定用于该下游路由器的第一 LSP实例和第二 LSP实例是否共享至下一跳路由器的共同的链路包括比较与每个LSP实例相关联的显式路由器对象中的信息。
[0126]实例13: —种系统包括:出口路由器;在入口路由器与出口路由器之间建立的标签交换路径(LSP)的入口路由器,入口路由器被配置为沿着通过LSP的第一 LSP实例的第一路径发送流量并且发送请求建立LSP的第二LSP实例的第一消息,第一消息指示用于第二LSP实例的第二路径;以及LSP的第二LSP实例的至少一个下游路由器,其中,指定用于第二LSP实例的每个下游路由器接收第一消息并且沿着第一消息中指定的第二路径将第一消息发送至下一跳路由器,其中,当用于至少一个下游路由器的第一LSP实例和第二LSP实例共享至指定的下一跳路由器的共同的链路时,发送至下一跳路由器的第一消息包括用于共同的链路的建议标签。
[0127]实例14:根据实例13的系统,其中,至少一个下游路由器从其指定的下一跳路由器接收下一跳消息,其中,当LSP的第一LSP实例和第二LSP实例未共享至下一跳路由器的共同的链路时,下游路由器安装用于第二LSP实例的未激活的下一跳条目,其中,下一跳条目包括通过下一跳路由器提供的标签,并且其中,入口路由器进一步被配置为拆除LSP的第一LSP实例,并且沿着第二LSP实例的第二路径向LSP的出口路由器发送流量。
[0128]实例15:根据实例13的系统,其中,入口路由器进一步被配置为通过选择以下路径中的一个来选择第二LSP实例的第二路径:如果第一路径满足第二LSP实例的准入控制要求,则选择第一路径;或者根据第一路径与潜在的第二路径之间的重叠从两个或更多个潜在的第二路径中选择路径。
[0129]本公开内容中所描述的技术可至少部分以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各方面可在一个或多个处理器中(包括一个或多个微型处理器)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或离散逻辑电路、以及这些部件的任意组合中实施。术语“处理器”或“处理电路”通常可表示单独的或与其他逻辑电路结合的上述逻辑电路中的任一个或任何其他等效电路。包括硬件的控制单元也可执行本公开内容的一种或多种技术。
[0130]这种硬件、软件和固件可以在相同设备内或可以在单独设备内实现以支持本公开内容中描述的各种操作和功能。此外,所描述的单元、模块或部件中的任一个可作为离散但可互操作的逻辑设备一起或单独使用。以模块或单元的形式描述不同特征的目的是突出不同功能方面且不一定暗示这些模块或单元必须通过单独硬件或软件组件来实现。确切地说,与一个或多个模块或单元相关联的功能可由单独的硬件或软件部件执行或者集成在共同的或单独的硬件或软件部件内。
[0131]本公开内容中所描述的技术也可在数据包含指令的计算机可读介质(例如,计算机可读储存介质)内实现或编码。在计算机可读介质内嵌入或编码的指令在例如执行这些指令时可使可编程处理器或其他处理器执行该方法。计算机可读介质可包括非瞬时计算机可读存储介质和瞬时传播介质。计算机可读存储介质(其为有形的和非瞬时的)可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、⑶-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波、或者其他瞬时的介质。
[0132]已经描述了本公开内容的各方面。这些和其他方面落在所附权利要求的范围内。
【主权项】
1.一种用于建立具有第一标签交换路径实例的标签交换路径的第二标签交换路径实例的方法,所述方法包括: 通过指定用于所述标签交换路径的所述第二标签交换路径实例的每个下游路由器确定所述下游路由器是否是所述标签交换路径的所述第一标签交换路径实例的一部分,并且如果是的话,则确定用于所述下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至下一跳路由器的共同链路; 如果所述第一标签交换路径实例和所述第二标签交换路径实例共享至所述下一跳路由器的共同链路,则将第一消息发送至所述下一跳路由器,其中,所述第一消息包括建议标签;并且 从所述下一跳路由器接收第二消息,其中,所述第二消息包括所述建议标签。2.根据权利要求1所述的方法,其中,所述第二消息是资源预留协议Resv消息。3.根据权利要求1所述的方法,其中,所述方法进一步包括: 如果所述标签交换路径的所述第一标签交换路径实例和所述第二标签交换路径实例未共享至所述下一跳路由器的共同链路,则安装用于所述第二标签交换路径实例的未激活的下一跳条目;并且 拆除所述第一标签交换路径的所述第一标签交换路径实例,其中,拆除包括删除与所述第一标签交换路径实例相关联的下一跳条目并且激活用于所述第二标签交换路径实例的所述未激活的下一跳条目。4.根据权利要求2所述的方法,其中,所述第一消息是包括所述建议标签的资源预留协议路径消息。5.根据权利要求2所述的方法,其中,所述第一消息是包括建议标签对象的资源预留协议路径消息,其中,所述建议标签对象包括所述建议标签。6.根据权利要求1所述的方法,其中,确定所述下游路由器是否是所述标签交换路径的所述第一标签交换路径实例的一部分包括比较与所述第一标签交换路径实例和所述第二标签交换路径实例相关联的会话对象。7.根据权利要求1所述的方法,其中,确定用于所述下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至所述下一跳路由器的共同链路包括比较在与每个标签交换路径实例相关联的显式路由对象中的信息。8.根据权利要求1所述的方法,其中,所述方法进一步包括: 在所述下游路由器处接收来自上游路由器的资源预留协议路径消息,其中,所述资源预留协议路径消息包括所述建议标签;并且 将包括所述建议标签的资源预留协议Resv消息发送至所述上游路由器。9.根据权利要求8所述的方法,其中,所述资源预留协议路径消息包括建议标签对象,其中,所述建议标签对象包括所述建议标签。10.—种路由器,包括: 包括一个或多个处理器的路由引擎,其中,所述一个或多个处理器被配置为: 建立具有第一标签交换路径实例的标签交换路径的第二标签交换路径实例,其中,所述第二标签交换路径实例包括第二路径上的指定的路由器; 确定所述路由器是否是所述标签交换路径的所述第一标签交换路径实例的一部分,并且如果是的话,则确定用于所述路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至下一跳路由器的共同链路; 如果所述标签交换路径的所述第一标签交换路径实例和所述第二标签交换路径实例共享至所述下一跳路由器的共同链路,则将第一消息发送至所述下一跳路由器并且从所述下一跳路由器接收第二消息,其中,所述第一消息包括建议标签,并且所述第二消息包括所述建议标签;并且 如果所述标签交换路径的所述第一标签交换路径实例和所述第二标签交换路径实例未共享至所述下一跳路由器的共同链路,则安装用于所述第二标签交换路径实例的的未激活的下一跳条目;以及 连接至所述路由引擎的转发引擎,其中,所述转发引擎包括一个或多个处理器,所述转发引擎的一个或多个处理器被配置为在建立所述第二标签交换路径实例并拆除所述第一标签交换路径实例后沿着所述第二标签交换路径实例的路径转发流量。11.根据权利要求10所述的路由器,其中,当所述路由引擎使用所述建议标签时,所述路由器进一步被配置为沿着所述第二标签交换路径实例的所述第二路径转发所述流量而无需更新转发状态。12.根据权利要求10所述的路由器,其中,所述第二消息是资源预留协议Resv消息。13.根据权利要求10所述的路由器,其中,所述路由器进一步被配置为拆除所述第一标签交换路径的所述第一标签交换路径实例,其中,当所述标签交换路径的所述第一标签交换路径实例和第二标签交换路径实例未共享至所述下一跳路由器的共同链路时,拆除包括删除与所述第一标签交换路径实例相关联的下一跳条目并且激活用于所述第二标签交换路径实例的所述未激活的下一跳条目。14.根据权利要求12所述的路由器,其中,所述第一消息是包括建议标签对象的资源预留协议路径消息,其中,所述建议标签对象包括所述建议标签。15.根据权利要求10所述的路由器,其中,确定下游路由器是否是所述标签交换路径的所述第一标签交换路径实例的一部分包括比较与所述第一标签交换路径实例和所述第二标签交换路径实例相关联的会话对象。16.根据权利要求10所述的路由器,其中,确定用于下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至下一跳路由器的共同链路包括比较在与每个标签交换路径实例相关联的显式路由对象中的信息。17.—种用于建立具有第一标签交换路径实例的标签交换路径的第二标签交换路径实例的系统,包括: 出口路由器; 标签交换路径的入口路由器,所述标签交换路径建立在所述入口路由器与所述出口路由器之间,所述入口路由器被配置为沿着通过所述标签交换路径的第一标签交换路径实例的第一路径发送流量并且发送请求建立所述标签交换路径的第二标签交换路径实例的第一消息,所述第一消息指示用于所述第二标签交换路径实例的第二路径;并且 所述标签交换路径的所述第二标签交换路径实例的至少一个下游路由器,其中,指定用于所述第二标签交换路径实例的每个下游路由器接收所述第一消息并且沿着所述第一消息中指定的所述第二路径将所述第一消息发送至下一跳路由器; 其中,当用于所述至少一个下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例共享至指定的所述下一跳路由器的共同链路时,发送至所述下一跳路由器的所述第一消息包括用于所述共同链路的建议标签。18.根据权利要求17所述的系统,其中,所述至少一个下游路由器从其指定的下一跳路由器接收下一跳消息,其中,当所述标签交换路径的所述第一标签交换路径实例和所述第二标签交换路径实例未共享至所述下一跳路由器的共同链路时,所述下游路由器安装用于所述第二标签交换路径实例的未激活的下一跳条目,其中,所述下一跳条目包括由所述下一跳路由器提供的标签。19.根据权利要求18所述的系统,其中,所述入口路由器进一步被配置为拆除所述标签交换路径的所述第一标签交换路径实例、并且沿着所述第二标签交换路径实例的所述第二路径向所述标签交换路径的所述出口路由器发送流量。20.根据权利要求18所述的系统,其中,所述入口路由器进一步被配置为基于与所述第一标签交换路径实例的所述第一路径重叠的量选择所述第二标签交换路径实例的所述第二路径。21.根据权利要求20所述的系统,其中,为了选择所述第二标签交换路径实例的所述第二路径,所述入口路由器被配置为从所述入口路由器与所述出口路由器之间的多个最佳路径中选择所述第二路径作为与所述第一标签交换路径实例的所述第一路径重叠最多的路径。22.根据权利要求20所述的系统,其中,为了选择所述第二标签交换路径实例的所述第二路径,所述入口路由器被配置为如果所述第一路径满足所述第二标签交换路径实例的准入控制要求则将所述第二路径选择为与所述第一标签交换路径实例的所述第一路径相同。23.根据权利要求17所述的系统,其中,所述入口路由器进一步被配置为通过选择以下中的一个来选择所述第二标签交换路径实例的所述第二路径: 如果所述第一路径满足所述第二标签交换路径实例的准入控制要求,则选择所述第一路径;或者 根据所述第一路径与潜在第二路径之间的重叠,从所述两个或更多个潜在第二路径之中选择一路径。24.—种用于在每个下游路由器跨越第一链路连接至上游路由器并且跨跨越第二链路连接至下一跳路由器的系统中建立具有第一标签交换路径实例的标签交换路径的第二标签交换路径实例的方法,所述方法包括: 通过指定用于所述标签交换路径的所述第二标签交换路径实例的下游路由器确定所述下游路由器是否是所述标签交换路径的所述第一标签交换路径实例的一部分; 如果所述下游路由器是所述标签交换路径的所述第一标签交换路径实例的一部分,则为所述下游路由器确定用于所述下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至由所述标签交换路径的所述第二标签交换路径实例指定的下一跳路由器的共同链路; 将资源预留协议路径消息发送至由所述标签交换路径的所述第二标签交换路径实例指定的所述下一跳路由器; 从由所述标签交换路径的所述第二标签交换路径实例指定的所述下一跳路由器接收资源预留协议Resv消息,其中,所述资源预留协议Resv消息包括标签;并且 如果用于所述下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例未共享至由所述标签交换路径的所述第二标签交换路径实例指定的所述下一跳路由器的共同链路,则在所述下游路由器中安装用于所述第二标签交换路径实例的未激活的下一跳条目同时继续使用激活的下一跳条目以向指定用于所述标签交换路径的所述第一标签交换路径实例的所述下一跳路由器发送流量,其中,所述未激活的下一跳条目包括利用所述资源预留协议Resv消息从所述下一跳路由器接收的标签。25.根据权利要求24所述的方法,其中,所述方法进一步包括: 在所述下游路由器处接收来自所述上游路由器的包括建议标签的资源预留协议路径消息; 将所述建议标签存储为与和所述第二标签交换路径实例相关联的流量相关联的标签;并且 通过将资源预留协议Resv消息中的所述建议标签发送至所述上游路由器来交回所述建议标签。26.根据权利要求25所述的方法,其中,所述资源预留协议路径消息包括建议标签对象,其中,所述建议标签对象包括所述建议标签。27.根据权利要求25所述的方法,其中,所述方法进一步包括: 拆除所述第一标签交换路径的所述第一标签交换路径实例,其中,拆除包括在所述下游路由器中删除与所述第一标签交换路径实例相关联的所述激活的下一跳条目并且在所述下游路由器中激活与所述第二标签交换路径实例相关联的所述未激活的下一跳条目。28.—种用于建立具有第一标签交换路径实例的标签交换路径的第二标签交换路径实例的方法,所述方法包括: 针对与所述第一标签交换路径实例相关联的标签启用标签重用,其中,启用包括确定与所述标签交换路径相关联的第一消息是否包括标签重用指示符; 为每个下游路由器确定是否为所述第二标签交换路径实例启用所述标签重用; 如果为所述第二标签交换路径实例启用所述标签重用,则确定用于所述下游路由器的所述第一标签交换路径实例和所述第二标签交换路径实例是否共享至上游路由器的共同链路; 如果所述第一标签交换路径实例和所述第二标签交换路径实例共享所述下游路由器与所述上游路由器之间的共同链路,则将上游路由器消息发送至所述上游路由器,其中,所述上游路由器消息包括与从所述上游路由器至所述下游路由器的第一标签交换路径实例流量相关联的标签;并且 从所述上游路由器接收与所述第二标签交换路径实例相关联的流量,其中,利用与从所述上游路由器至所述下游路由器的所述第一标签交换路径实例流量相关联的标签标注与所述第二标签交换路径实例相关联的流量。29.根据权利要求28所述的方法,其中,所述第一消息是资源预留协议路径消息并且所述标签重用指示符是MBB标签重用期望(MLRD)标记。
【文档编号】H04L12/723GK106027394SQ201610193198
【公开日】2016年10月12日
【申请日】2016年3月30日
【发明人】沈毅民, 拉文德拉·托维, 罗斯·W·卡隆
【申请人】丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1