路由器方法、路由器以及路由器系统的制作方法

文档序号:10578077阅读:228来源:国知局
路由器方法、路由器以及路由器系统的制作方法
【专利摘要】本公开提供路由器方法、路由器以及路由器系统,描述使用RSVP的先通后断(MBB)过程在拆除标签交换路径(LSP)的现有的实例之前在建立LSP的新的实例时再利用下游分配标签的技术。该技术使得沿着新的LSP实例的路径的任何非入口路由器的路由引擎能够在现有的LSP实例和新的LSP实例的路径重叠时将先前为现有的LSP实例分配的标签再利用为新的LSP实例的下游分配标签。以这种方法,非入口路由器由于再利用的标签,不需要更新其转发平面中的标签路由(label route)。在新的LSP实例与现有的LSP实例完全重叠时,LSP的入口路由器可以避免为使用该LSP的应用更新其转发平面中的入口路由。
【专利说明】路由器方法、路由器以及路由器系统
[0001]相关申请的交叉参照
[0002]本申请要求于2015年3月6日提交的印度专利申请N0.1116/CHE/2015的权益,其全部内容结合于本文中作为参照。
技术领域
[0003]本公开涉及计算机网络并且,更具体地涉及在计算机网络以内转发数据包。
【背景技术】
[0004]网络内路由装置(通常称为路由器)维持描述通过网络的可用路由的路由信息。在接收输入的数据包时,路由器检查数据包内的信息并且根据路由信息转发数据包。为了维持网络的精确表示,路由器根据一个或多个已限定的路由协议,诸如边界网关协议(BGP)或内部网关协议(IGP)来交换路由信息。
[0005]多协议标签交换(MPLS)是用于在互联网协议(IP)网络内策划流量模式(engineertraffic pattern)的机制。通过使用MPLS,源装置可请求通过网络的路径,S卩,标签交换路径(LSP) ISP限定通过网络的不同路径,以将MPLS数据包从源装置传送至目标装置中。与特定的LSP相关的短标签被附于经由LSP通过网络传输的数据包。沿着该路径的路由器协作执行MPLS操作,以沿着所建立的路径转发MPLS数据包。LSPs可以用于各种流量工程用途,包括带宽管理和服务质量(QoS)。
[0006]各种协议为建立LSPs而存在。例如,一个这样的协议是标签分配协议(LDP)。另一个类型的协议是资源预留协议,诸如,基于流量工程扩展的资源预留协议(RSVP-TE) ASVP-TE使用约束信息,诸如带宽可用性,以计算路径并且在网络内沿着路径建立LSPs ASVP-TE可以使用通过IGP链接状态路由协议累积的带宽可用性信息,诸如中间系统-中间系统(ISIS)协议或开放式最短路径优先(0SPF)协议。
[0007]LSP的头端路由器通常被称为入口路由器,而在LSP尾端处的路由器通常被称为出口路由器。沿着支持MPLS的LSP的入口路由器和出口路由器,以及中间路由器或中转路由器通常被称为标签交换路由器(LSRs)。入口路由器使用从出口路由器传播的路由信息确定LSP,为LSP分配标签并且将标签附于每个数据包。LSRs使用MPLS协议从下游LSRs接收MPLS标签映射并且将MPLS标签映射广告至上游LSRs。在LSR从上游路由器接收MPLS数据包时,LSR进行查找并根据基于该查找的其转发表格中的信息交换MPLS标签并且将数据包转发至合适的下游LSR。出口路由器从数据包移去标签并且根据基于非标签的数据包转发技术将数据包转发至其目的地。

【发明内容】

[0008]通常,本公开描述使用资源保留协议(RSVP)的先通后断(make-bef or e-break)(MBB)过程在拆除现有的实例的LSP之前在入口路由器和出口路由器之间建立标签交换路径(LSP)的新的实例时再利用下游分配的标签的技术。本公开中描述的技术使得沿着新的LSP实例的路径的任何非入口路由器的路由引擎能够在现有的LSP实例和新的LSP实例的路径重叠时将先前为现有的LSP实例分配的标签再利用为新的LSP实例的下游分配的标签。以这种方法,非入口路由器由于再利用的标签,不需要更新存储在其转发平面中的标签路由(label route)。此外,在新的LSP实例与现有的LSP实例完全重叠时,LSP的入口路由器可以避免为使用该LSP的应用更新存储在其转发平面中的入口路由。公开的技术可以减少或避免由于RSVP MBB过程期间的大量标签路由更新而导致的网络搅动(network churn)。
[0009]在一个实例中,本公开针对以下方法,该方法包括:通过路由器从入口路由器和出口路由器之间建立的标签交换路径(LSP)的入口路由器接收请求建立LSP的第二 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实例的第二路径的上游路由器接收包括第二标签的输入流量。
[0011]在另一实例中,本公开针对包括以下指令的非暂时性计算机可读介质,该指令在被执行时使得路由器的一个或多个可编程处理器执行以下操作:通过路由器从入口路由器和出口路由器之间建立的标签交换路径(LSP)的入口路由器接收请求建立LSP的第二 LSP实例的第一消息,第二LSP实例具有与LSP的第一LSP实例的第一路径至少部分地重叠的第二路径;通过路由器决定是否将由路由器为第一 LSP实例先前分配的第一标签再利用为用于识别与第二 LSP实例相关联的输入流量的第二标签;通过路由器向沿着第二 LSP实例的第二路径的上游路由器发送包括第二LSP实例的第二标签的第二消息,其中,响应于决定再利用第一标签,包括在第二消息中的第二标签与由路由器先前分配的第一标签相同;并且,在入口路由器建立第二 LSP实例并且拆除第一 LSP实例时通过路由器从沿着第二 LSP实例的第二路径的上游路由器接收包括第二标签的输入流量。
[0012]在另一实例中,本公开针对以下系统,该系统包括:在入口路由器和出口路由器之间建立的标签交换路径(LSP)的入口路由器,该入口路由器被配置为发送请求建立LSP的第二 LSP实例的第一消息,该消息指示与LSP的第一 LSP实例的第一路径至少部分地重叠的第二LSP实例的第二路径;以及LSP的至少一个下游路由器,该下游路由器被配置为,响应请求建立第二LSP实例的第一消息,决定是否将由下游路由器为第一LSP实例先前分配的第一标签再利用为下游路由器用于识别与第二 LSP实例相关联的输入流量的第二标签,并且向沿着第二 LSP实例的第二路径的上游路由器发送包括第二 LSP实例的第二标签的第二消息,其中,响应于决定再利用第一标签,包括在第二消息中的第二标签与由下游路由器先前分配的第一标签相同。在建立第二LSP实例时,入口路由器进一步被配置为拆除LSP的第一LSP实例,并且将流量沿着第二LSP实例的第二路径向着LSP的出口路由器发送。
[0013]在以下附图和描述中,阐述了一个或多个实例的细节。通过该描述、附图和权利要求,其它特征、目的和优点将变得显而易见。
【附图说明】
[0014]图1是示出了根据本发明的技术的示例性系统的框图,其中路由器被配置为转发网络流量。
[0015]图2是示出被配置为执行RSVPMBB标签再利用的公开的技术的路由器的实例的框图。
[0016]图3是示出MBB过程的标签分配的标签再利用模式下的LSP的出口路由器的示例性操作的流程图。
[0017]图4是示出MBB过程的标签分配的标签再利用模式下的LSP的中转路由器的示例性操作的流程图。
[0018]图5是示出MBB过程的标签分配的标签再利用模式下的包括LSP的入口路由器和LSP的至少一个下游路由器的系统的示例性操作的流程图。
【具体实施方式】
[0019]图1是示出示例性网络系统10的框图,其中网络12的入口路由器14、中转路由器16Α-16ΕΓ中转路由器16”)和出口路由器18被配置为根据本公开的技术转发网络流量(例如,网络数据包)。在图1的实例中,入口路由器14是标签交换路径(LSP)24的入口路由器并且出口路由器18是LSP 24的出口路由器。中转路由器16A、16B和16C是沿着LSP 24的第一LSP实例25的第一路径(由实线表示)的中间或中转路由器。
[0020]路由器14、16和18代表对通过网络12的流量进行路由或另外转发的任何网络设备。通常,路由器14、16、18代表在L3处操作的L3数据包交换装置以交换使用路由协议,诸如内部网关协议(IGP)或边界网关协议(BGP)描述网络12的当前拓扑的路由信息。路由器14、
16、18然后处理这些路由信息,选择通过其代表的网络12的拓扑的路径以达到所有可用的目的地以产生转发信息。换言之,路由器14、16、18将这些路径减少至所谓的“下一跳”,从而决定将去往特定目的地的数据包转发至的接口,其中转发的信息包括下一跳的这个列表。路由器14、16、18然后将这个转发信息安置在路由器的转发平面(forwarding plane)中,因此转发平面根据转发信息转发所接收的流量。
[0021 ]网络12可包括互联网协议(IP)网络,该互联网协议网络使用多协议标签交换(MPLS)协议以策划通过IP网络的MPLS核心的流量模式。通过利用MPLS,入口路由器14和出口路由器18可以请求通过网络12的截然不同的路径,S卩,标签交换路径(LSPs),以便传送远程网站22Α-22ΒΓ网站22”)中的顾客或用户之间的数据包。与特定LSP例如,LSP 24相关联的短标签附于经由LSP 24通过网络12传输的数据包。沿着路径的中转路由器16协作执行MPLS操作以沿着建立的LSP 24转发数据包。存在用于建立LSPs的各种协议,例如,标签分配协议(LDP)和具有流量工程扩展(RSVP-TE)的资源保留协议。
[0022]在一些实例中,网络12可以是服务供应商网络。例如,网络12可以代表由服务供应商(通常是私人实体)拥有和操作的一个或多个网络,该网络提供网站22中的顾客或用户消费的一个或多个服务。在这方面,网络12通常是层三(L3)分组交换网络,该分组交换网络提供诸如互联网的公共网络和一个或多个网站22之间的L3连接性。通常,由服务供应商网络12提供的L3连接性是作为数据服务或互联网服务销售的,并且网站22中的用户可以预订这个数据服务。网络12可以代表L3分组交换网络,该分组交换网络提供数据、语音、电视和任何其他服务类型以便由用户购买并且由网站22中的用户后续消费。
[0023]网站22可以是局域网(LANs)、广域网(WANs),或者包括多个用户装置(未示出)的其他私人网络。在一些实例中,网站22可包括相同的顾客公司的分布式网站。在其他实例中,网站22可以属于不同的实体。网站22以内的用户装置可以包括个人计算机、笔记本电脑、工作站、个人数字助理(PDAs)、无线装置、具备网络功能的设备(network-readyappliances)、文件服务器、打印服务器或能够经由网络12请求并接收数据的其他装置。虽然在图1的实例中未示出,但网络系统10可以包括额外的服务供应商网络、用户网络和其他类型的网络,诸如接入网络(access networks)、私人网络或任何其他类型的网络。
[0024]根据本公开的技术,路由器14、16、18使用RSVP-TE建立LSP 24实例。例如,入口路由器14向着出口路由器18发送RSVP路径消息请求建立LSP 24的第一LSP实例25ASVP路径消息包括请求中转路由器16和出口路由器18提供LSP 24的第一LSP实例25的下游分配标签的标签请求对象。RSVP路径消息还包括有助于会话识别(identificat1n)和诊断的与LSP24相关联的会话对象。在一些情况下,RSVP路径消息可以包括指定入口路由器14和出口路由器18的第一LSP实例25的第一路径的显式路由对象(ERO)。如果中转路由器16中的一个接收从入口路由器14向下游传播的RSVP路径消息并且没有能力提供所请求的标签(例如,不能满足第一LSP实例25的准入控制(admiss1n control)要求),则中转路由器将PathErr消息发送至入口路由器14。如果包括在RSVP路径消息中的标签请求对象沿着LSP 24的第一LSP实例25的第一路径没有被以端对端方式支持,则中转路由器16中的第一个将通知入口路由器14不提供支持。
[0025]LSP 24的出口路由器18接收第一LSP实例25的RSVP路径消息并且通过将标签对象包括在其的响应RSVP Resv消息中来对RSVP路径消息中的标签请求对象做出响应。出口路由器18在由RSVP路径消息创建路径状态之后次序颠倒地将RSVP ResV消息向着入口路由器14发送回上游。沿着第一 LSP实例25的第一路径的中转路由器16中的每个从下一跳路由器接收包括标签对象的RSVP Resv消息,并且使用所接收的下游标签识别与第一LSP实例25相关联的输输出流量(outgoing traffic)。沿着第一LSP实例25的第一路径的中转路由器16中的每个然后分配新的标签,将那个标签放在RSVP Resv消息的对应的标签对象中,并且将RSVP Resv消息向着入口路由器14发送至上游。在从中转路由器16中的给定的一个(例如,中转路由器16B)的RSVP Resv消息的标签对象中发送至上游的标签是中转路由器16B用于识别与第一 LSP实例25相关联的输入流量的标签。然后中转路由器16B可以基于所接收的下游标签编程其转发平面并且为第一 LSP实例25分配标签以便将输入的被加了标签的数据包映射至下一跳标签转发条目(entry)。在RSVP Resv消息到达入口路由器14时,有效建立LSP24的第一 LSP实例25。
[0026]流量工程的要求中的一个是基于管理方针在许多条件下对建立的LSP改换路由(reroute)的能力。例如,在一些情况下,管理方针可以规定在更多最佳路由变得可用时对给定的LSP改换路由。在另一情况下,在改变LSP的准入控制要求时可以对给定的LSP改换路由。通常的准入控制要要改变是带宽要求改变,尤其是广泛实现的自动带宽特征,该特征基于来自流量监控的反馈自动调整LSP带宽。在又一情况下,在沿着LSP的已建立的路径的资源(例如,节点或链接)失败时可以对给定的LSP改换路由。通常,非常期望在对现有的LSP改换路由的同时不打断流量或者不会不利地影响网络操作。这样的改换路由要要必须建立新的LSP实例并且在拆除现有的LSP实例之前将流量从现有的LSP实例传递至新的LSP实例。这个概念被称为先通后断(MBB)。
[0027]然而,在MBB过程中可能会出现问题,因为现有的LSP实例和新的LSP实例可能会互相竞争实例共有(即,重叠)的网络段上的资源。根据资源可获量,该竞争可能会使准入控制防止建立新的LSP实例。对于支持MBB过程的RSVP,必要的是,在现有和新的LSP实例之间共有的链路上,在流量被转移至新的LSP实例之前,现有LSP实例使用的资源不应当被释放,并且在现有的LSP实例和新的LSP实例之间资源预留不应当被计算两次因为这可能会引起准入控制拒绝新的LSP实例。
[0028]为了执行LSP24的路由改换,入口路由器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与第二实例26或28之间重叠的链路上,共享会话对象允许使用与第一 LSP实例25共享的资源建立第二 LSP实例26或28。一旦入口路由器14接收第二LSP实例26或28的RSVP Resv消息,建立第二LSP实例26或28。入口路由器14然后将流量转移至第二LSP实例26或28,并且使用RSVP MBB过程拆毁第一LSP实例25。对于RSVP MBB过程的更多细节,参见D.Awduche的 “RSVP_TE:Extens1ns to RSVP for LSP Tunnels,” 网络工作组RFC 3209(2001年12月),通过引用将其全部内容结合于此。
[0029]在当前的RSVP MBB过程中,在RFC 3209中更详细地描述,新的LSP实例的非入口路由器的下游标签分配行为意义并不明确。作为一般实践,沿着新的LSP实例的路径的每个非入口路由器为新的LSP实例分配一个新的并且不同的标签。在这种情况下,除了倒数第二跳出栈(PHP)之外,新的LSP实例端对端存在完全分开的LSP,在倒数第二跳出栈中,新的LSP实例将隐式/显式空值标签与LSP的上一个段的现有的LSP实例共享。每个LSP实例的新的并且不同的标签使得能够针对每个LSP实例单独进行端对端路径验证。然而,每个LSP实例的新的并且不同的标签还要求沿着新的LSP实例的路径的每个非入口路由器在其转发平面中执行标签路由添加以使重新分配的标签与LSP相关联,并且然后在其转发平面中进行标签路由删除以移除与LSP相关联的现有标签。此外,当切换至新的LSP实例时,LSP的入口路由器在其转发平面中执行入口路由更新。例如,入口路由器根据使不同的输出标签与新的LSP实例相关联的新的入口路由器更新使用LSP的应用以便发送流量。由入口路由器执行的入口路由更新还能引起取决于LSP的网络的其他元素执行更新。
[0030]本公开内容的技术允许现有的LSP的路由器跨不同的LSP实例保持或者再利用相同的标签,其中,可能不会影响每个LSP实例的路由功能或数据路径验证,以便避免或者减少在RSVP MBB过程期间标签路由更新引起的网络扰动。此外,由于不需要等待标签路由和入口路由更新并且在沿着新的LSP实例的路径的每个路由器处转发平面编程,根据本公开技术保持或再利用标签可以加速新的LSP实例的建立。
[0031]根据本公开描述的技术,LSP的路由器可被配置为当现有的LSP实例和新的LSP实例的主路径至少部分地重叠时在RSVP MBB过程期间再利用标签。例如,当第一和第二LSP实例在非入口路由器重叠时,沿着第二LSP实例26或28的路径的任何非入口路由器的路由引擎(例如,中转路由器16或出口路由器18的任一个)可被配置为再利用先前为第一 LSP实例25分配的第一标签作为第二 LSP实例26或28的第二标签。以这种方法,非入口路由器不需要更新再利用标签存储在其转发平面中的标签转发信息库(LFIB)中的标签路由条目。在部分或总的重叠状态下的标签再利用减少不必要的LFIB更新,其进一步降低错误的可能性并且改善网络汇聚延迟。
[0032]在一个实例中,如在图1中示出的,LSP 24的第一LSP实例25的主路径与第二LSP实例26的主路径在入口路由器14与出口路由器18之间端对端地完全重叠。在这个实例中,不需要任何出口路由器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避免执行应用的入口路由更新。
[0033]在另一实例中,如在图1中示出的,LSP 24的第一LSP实例25的主路径与第二LSP实例28的主路径从中转路由器16B至出口路由器18部分重叠。在该实例中,标签再利用可以起始于中转路由器16B并且一直继续至出口路由器18使得不需要出口路由器18或中转路由器16B或16C分配任何新标签或执行任何标签路由更新来建立第二LSP实例28。反而,出口路由器18、中转路由器16C、以及中转路由器16B可以再利用先前为第一LSP实例25分配的标签作为第二 LSP实例28使用的标签,但是中转路由器16D将会为第二 LSP实例28分配新标签并且入口路由器14将会使用LSP 24执行应用的入口路由更新。由于第二LSP实例28的路径与第一LSP实例25的路径不完全重叠,传统数据平面验证方法可以用于验证第二 LSP实例28。在第一 LSP实例25或第二 LSP实例28上穿越的数据将采用入口路由器14中的不同的标签路径直至到达中转路由器16B,其将两个实例的流量朝向LSP 24的出口路由器18合并到共同的LSP 中。
[0034]在本公开中描述的RSVPMBB过程的标签再利用技术可以应用于点对点(P2P)LSPs和点对多点(P2MP)LSP s两者。为了清楚起见,本公开集中于P2P LSPs,但是应当理解的是类似的技术可以适用于并且应用于P2MP LSPs0
[0035]在RSVP MBB过程期间,标签再利用技术可以沿着要改换路由的LSP24不同应用在路由器的每个类型,即,入口路由器、中间或者中转路由器、以及出口路由器。标签再利用技术源于LSP 24的出口路由器18。根据本公开的技术,响应于请求LSP 24的重路由的新的RSVP路径消息,出口路由器18向LSP 24的入口路由器14逆流发送RSVP Resv消息以建立包括与第一 LSP实例25使用的相同的标签的第二实例26或28。当中转路由器16接收具有相同的标签的RSVP Resv消息时,中转路由器16可以确定是否向也为第二LSP实例26或28再利用与第一LSP实例25使用的相同的标签的入口路由器14发送RSVP Resv消息。标签再利用技术在两个实例向LSP 24的入口路由器14岔开的中转路由器16中的第一个处停止。
[0036]作为一个实例,LSP 24的出口路由器18可被配置为一直再利用先前为LSP 24的现有实例分配的标签作为LSP 24的新实例的标签。出口路由器18可以一直再利用标签因为相同的LSP 24的现有实例和新实例的路径在LSP的出口路由器18处将会一直重叠。例如,当从入口路由器14接收请求建立第二 LSP实例26或28的RSVP路径消息时,出口路由器18再利用由出口路由器18先前为第一 LSP实例25分配的第一标签作为出口路由器18使用的第二标签以识别与第二 LSP实例26或28相关联的输入流量。出口路由器18然后将包括第二 LSP实例26或28的第二标签即再利用标签的RSVP Resv消息发送至沿着第二LSP实例26或28的路径的上游路由器,即中转路由器16C。通过再利用标签,在不执行其转发平面的标签路由更新的情况下,出口路由器18还再利用先前安装在其转发平面中的再利用标签的标签路由条目。
[0037]作为另一实例,LSP24的中转路由器16可被配置为基于一个或多个条件再利用先前为LSP 24的现有实例分配的标签作为LSP 24的新实例的标签。例如,如果(I)在新的LSP实例的RSVP Resv消息中接收的下游标签与现有LSP实例接收的下游标签相同,并且(2)沿着新的LSP实例的路径的下一跳路由器与沿着现有LSP实例的路径的下一跳路由器相同,LSP 24的中转路由器16可以再利用标签。
[0038]例如,中转路由器16中的每一个接收包括中转路由器使用的下游标签的RS V PResv消息以从沿着第二 LSP实例26或28的路径的下一跳路由器中识别与第二 LSP实例相关联的输出流量。中转路由器16中的每一个然后分配新标签或再利用中转路由器要使用的现有标签以识别与第二 LSP实例26或28相关联的输入流量。在分配新标签或再利用第二 LSP实例26或28的现有标签时,中转路由器16中的每一个沿着第二LSP实例26或28的路径将包括第二LSP实例26或28的标签的RSVP Resv消息发送至上游路由器。
[0039]在第二LSP实例26的路径与第一LSP实例25的路径完全重叠的一个实例中,中转路由器16A、16B以及16C中的任一个可以沿着共用路径从下一跳路由器接收包括第二 LSP实例26的再利用下游标签的RSVP Resv消息。由于第二LSP实例26的接收的下游标签与先前从相同的下一跳路由器中接收的第一LSP实例25的下游标签相同,中转路由器16A、16B以及16C中的任一个可以再利用先前由中转路由器为第一 LSP实例25分配的第一标签作为中转路由器使用的第二标签以识别与第二 LSP实例26相关联的输入流量。通过再利用标签,在不执行其转发平面的标签路由更新的情况下,中转路由器16A、16B以及16C中的任何一个还再利用先前在其转发平面中安装的再利用标签的标签路由条目。
[0040]在从中转路由器16B至出口路由器18第二 LSP实例28的路径仅与第一 LSP实例25的路径部分重叠的实例中,中转路由器16D沿着第二LSP实例28的路径从中转路由器16B中接收包括第二LSP实例28的下游标签的RSVP Resv消息。由于中转路由器16D先前没有从中转路由器16B接收第一 LSP实例25的下游标签,中转路由器16D分配新标签以识别与第二 LSP实例28相关联的输入流量。中转路由器16D还基于第二 LSP实例28的新标签在其转发平面中安装新标签路由。
[0041 ]作为附加实例,LSP 24的入口路由器14可被配置为基于一个或多个条件为LSP 24的新实例再利用LSP 24的现有实例的入口路由。例如,如果(I)在新的LSP实例的RSVP Resv消息中接收的下游标签与现有LSP实例接收的下游标签相同,并且(2)沿着新的LSP实例的路径的下一跳路由器与沿着现有LSP实例的路径的下一跳路由器相同,LSP 24的入口路由器14可以再利用入口路由。如果满足这两个条件,入口路由器14可以避免执行使用LSP 24的应用的入口路由更新。
[0042]例如,入口路由器14中接收包括入口路由器14使用的下游标签的RSVP ResV消息以从沿着第二 LSP实例26或28的路径的下一跳路由器中识别与第二 LSP实例26或28相关联的输出流量。在第二 LSP实例26的路径与第一 LSP实例25的路径完全重叠的实例中,入口路由器14可以从中转路由器16A接收第二 LSP实例26的再利用下游标签。由于所接收的第二LSP实例26的下游标签与先前从相同的中转路由器16A中接收的第一 LSP实例25的下游标签相同,入口路由器14可以在不更新其转发平面中的入口路由的情况下为第二LSP实例26再利用第一LSP实例25的入口路由器。在这种情况下,入口路由器14不需要使用LSP 24更新应用以使用新标签识别第二 LSP实例26的输出流量。
[0043]在从中转路由器16B至出口路由器18第二 LSP实例28的路径仅与第一 LSP实例25的路径部分重叠的实例中,入口路由器14从中转路由器16D接收第二LSP实例28的新标签。由于入口路由器14先前没有从中转路由器16D接收第一 LSP实例25的下游标签,入口路由器14基于第二LSP实例28的新标签更新其转发平面中的第一LSP实例25的入口路由。在这种情况下,入口路由器14还使用LSP 24更新应用以使用新标签识别第二LSP实例28的输出流量。
[0044]在从中转路由器16B至出口路由器18中第二LSP实例28的路径与第一 LSP实例25的路径仅部分重叠的另一实例中,入口路由器14可以从中转路由器16D同时接收第二LSP实例28的标签,该标签与入口路由器14先前从中转路由器16A接收的第一LSP实例25的标签相同。尽管所接收的第二LSP实例28的下游标签与先前第一LSP实例25接收的下游标签相同,入口路由器14检测从不同的下一跳路由器、即第二 LSP实例28的中转路由器16D和第一 LSP实例25的中转路由器16A接收标签。因此,入口路由器14基于第二 LSP实例28的相同的标签和新的下一跳路由器更新其转发平面中第一 LSP实例25的入口路由。
[0045]在RSVPMBB过程期间标签再利用的上述条件涉及没有任何类型的快速重路由(FRR)保护的LSP。在具有FRR的LSP的RSVP MBB过程期间标签再利用的条件描述如下。通常,有两种类型的FRR,即,基于设施的FRR和绕路FRR,并且针对每种类型的FRR对标签再利用的技术进行不同的修改。在P.Pan的 “Fast Reroute Extens1ns to RSVP-TE for LSPTunne I s,”网络工作组RFC 4090 (2005年5月)中更详细地描述了MPLS快速重路由技术,通过引用将其全部内容结合于此。
[0046]在图1示出的实例中,LSP 24具有针对中转路由器16B与中转路由器16C之间的链路的潜在故障的FRR保护。在其他实例中,FRR保护还可以用于防止沿着LSP 24的中间节点的潜在故障。在图1中,中转路由器16B充当本地修复点(PLR)以通过中转路由器16E在保护链路的另一侧上建立从PLR 16B至中转路由器16C的备份LSP 30(表示为虚线)。在这种情况下,中转路由器16C充当备份LSP 30与主LSP 24向后并入的汇合点(MP)。在一些情况下,可以响应于来自入口路由器14的请求通过PLR 16B建立备份LSP 30的FRR保护。在其它情况下,PLR 16B可以响应于通过管理员的局部配置变化来建立备份LSP 30。
[0047]在基于设施的FRR的实例中,备份LSP30可以是旁路LSP,旁路LSP建立以保护使用相同的保护链路的多个LSP。PLR 16B可以已经建立旁路LSP 30作为现有的LSP实例25的备份实例使得旁路LSP 30满足LSP 24的现有LSP实例25的准入控制要求,例如,带宽要求。在示出的实例中,其中,现有LSP实例25和新的LSP实例26或28至少从PLR 16B至出口路由器18重叠因此PLR 16B使用两个实例的相同的标签,只要旁路LSP30也满足LSP 24的新的LSP实例26或28的准入控制要求,PLR 16B可以再利用旁路LSP 30作为新的LSP实例26或28的备份实例。如果源于PLR 16B的旁路LSP 30满足新的LSP实例26或28的准入控制要求,那么从现有的LSP实例25至新的LSP实例26或28的切换不要求旁路LSP30的路由器执行任何标签路由更新。在一个实例中,假定其他限制条件没有变化,尤其在自动带宽应用中,旁路LSP 30可以不提供带宽保护使得旁路LSP 30—直传送新的LSP实例26或28的准入控制要求。
[0048]如果旁路LSP 30不满足新的LSP实例26或28的准入控制请求,PLR16B可以建立满足新的LSP实例26或28的准入控制要求的新的LSP实例26或28的旁路LSP 30的新的备份实例。在这种情况下,从现有的LSP实例25切换至新的LSP实例26或28可要求旁路LSP 30的路由器执行标签路由更新。作为一个实例,如果旁路LSP 30可以重新优化以便满足现有的LSP实例和新的LSP实例两者的准入控制要求,在不执行标签路由更新的情况下,PLR 16B可以继续将旁路LSP 30用作新的LSP实例的备份实例。作为另一实例,如果PLR 16B建立新的LSP实例26或28的旁路LSP 30的新的备份实例,并且旁路LSP 30的新的备份实例与现有的备份实例完全重叠,沿着旁路LSP 30的路由器可以在不执行标签路由更新的情况下为旁路LSP30新的备份实例再利用现有备份实例的标签。然而,如果旁路LSP 30的新的备份实例与现有的备份实例仅部分重叠,沿着旁路LSP 30的路由器可需要分配新标签并且执行标签路由更新。
[0049]在绕路FRR的实例中,备份LSP 30可以是建立以仅保护LSP 24的现有LSP实例25的绕路LSP。通常,必须以信号告知在设置之后主要的LSP的每个实例的绕路LSP,并且绕路LSP标签与主LSP标签不同。PLR16B可已建立绕路LSP 30作为现有的LSP实例25的备份实例使得绕路LSP 30满足LSP 24的现有LSP实例25的准入控制要求,例如,带宽要求。在示出的实例中,其中,现有LSP实例25和新的LSP实例26或28至少从PLR 16B至出口路由器18重叠因此PLR 16B使用两个实例的相同的标签,PLR 16B可以建立新的LSP实例26或28的新的绕路LSP,新的LSP实例26或28使用与现有的绕路LSP30相同的路径并且满足新的LSP实例26或28的准入控制要求。在这种情况下,沿着共享绕路路径的路由器可以在不执行标签路由更新的情况下再利用先前为现有绕路LSP 30分配的标签以建立新的绕路LSP。如果新的绕路LSP的路径仅与现有的绕路LSP 30的路径部分重叠,沿着部分共享的绕路路径的路由器可能需要分配新标签并且执行标签路由更新。
[0050]图2是示出了示例性路由器50的框图,示例性路由器被配置为执行所公开的RSVPMBB标签再利用的技术。路由器50可以作为图1中沿着LSP 24的路径的入口路由器14、中转路由器16以及出口路由器18中任一个操作。在图5的示出的实例中,路由器50包括具有路由引擎54和转发引擎56的控制单元52,路由引擎54提供网络设备的控制平面功能,并且转发引擎56提供网络设备的转发或数据平面功能以通过通常具有一个或多个物理网络接口端口的一组接口卡84A-84N(“IFCs 84”)发送并接收流量。控制单元52可以包括一个或多个守护程序(未示出),守护程序包括用户级进程,用户级进程运行网络管理软件、执行路由协议以与对等路由器或开关通信、维持并且更新路由引擎54中的一个或多个路由表、并且在转发引擎56中创建用于安装的一个或多个转发表、以及其他功能。
[0051]转发引擎56通过网络执行分组交换和输入数据包的转发。如在图2中示出的,转发引擎56包括存储使网络目的地与下一跳和输出接口相关联的转发数据结构的转发信息库(FIB)80。转发引擎56还包括存储使给定LSP的进入标签与输出标签和下一跳路由器相关联的标签路由的标签FIB(LFIB)82。尽管在图2中未示出,转发引擎56可包括中央处理单元(CPU)、存储器以及一个或多个可编程的数据包转发专用集成电路(ASICs)。
[0052]路由引擎54包括执行路由器50的路由函数的各种协议66。在图2的示出的实例中,路由引擎54包括BGP 70和IGP 72作为用于在网络中与其他路由设备交换路由信息以便发现网络拓扑并且更新路由信息库(RIB)74的路由协议。在本公开内容描述的实例中,IGP 72可以是链路状态路由协议(OSPF),诸如开放式最短路径优先(OSPF)或中间系统-中介系统(IS-1S)。此外,路由引擎54包括RSVP 68,并且具体地RSVP-TE,作为用于使用RIB74与网络中的其他网络设备建立流量工程路径、即LSPs的路由协议。路由引擎54使用RSVP 68沿LSPs与其他路由设备交换标签映射消息并且更新标签信息库(LIB)76。
[0053]RIB 74可以描述路由器50所存在的网络的拓扑,并且还可以描述网络内的各种路由和每个路由的合适的下一跳,S卩,沿着每个路由的相邻路由设备。路由引擎54分析存储在RIB 74中的信息以生成转发信息。路由引擎54然后将转发数据结构安装在转发引擎56内的FIB 80中。FIB 80使网络目的地与具体下一跳和转发平面内的相应的接口端口相关联。LIB76使下一跳标签保持映射至来自RIB 74的网络内的每个路由的下一跳。路由引擎54通过网络选择具体路径并且针对沿着转发引擎56内的LFIB82中的那些具体路径的下一跳安装下一跳标签映射。
[0054]在一些实例中,路由引擎54使用RSVP 68生成并且维持流量工程数据库(TED)78,流量工程数据库包括网络中参与流量工程的节点和链路的完整的表以及每个链路的属性的集合。例如,TED 78可以包括通过网络与LSPs相关联的链路的带宽预约。路由引擎54可以使用IGP 72以向网络中的其他路由设备公告存储在TED 78中的流量工程属性。路由引擎54也可以从网络中的其他路由设备接收包括流量工程属性的IGP广告并且更新TED 78。
[0055]根据本公开内容描述的技术,当使用RSVPMBB过程建立相同的LSP的新实例时,路由器50的路由引擎54可被配置为再利用先前由RSVP 68分配的LSP的现有实例的标签。有时,可以通过改变LSP的特性,例如,带宽要求或其他准入控制要求中的变化,或者通过打乱沿着LSP的资源(例如,失效链路和/或节点)来触发MBB过程。路由引擎54中的MBB单元62可以执行RSVP MBB过程以在拆毁现有的LSP实例之前建立新的LSP实例。MBB单元62也可以执行在本公开中描述的标签再利用技术。
[0056]例如,在路由器50作为沿着新的LSP实例的路径的非入口(例如,出口路由器或中转路由器)操作的情况下,路由引擎54的MBB单元62可以基于现有的LSP实例的路径和新的LSP实例是否重叠决定是否再利用先前为现有LSP实例的分配的标签作为新的LSP实例的下游分配的标签。在路由器50作为出口路由器操作的情况下,MBB单元62可被配置为一直为新的LSP实例再利用现有LSP实例的标签。在路由器50作为中转路由器操作的情况下,当路由器50从对LSP的两个实例都一样的下一跳路由器接收再利用标签时,MBB单元62可被配置为为新的LSP实例再利用现有LSP实例的标签。当路由引擎54再利用新的LSP实例的标签时,路由引擎54不需要更新转发引擎56中的LFIB 82中的再利用标签的标签路由条目。
[0057]在路由器50作为LSP的入口路由器操作的情况下,当新的LSP实例与现有LSP实例的路径完全重叠时,路由器50可从下一跳路由器接收再利用标签,该下一跳路由器对于LSP的现有LSP实例以及新的LSP实例都相同的。在这种情况下,MBB单元62可被配置为再利用使用LSP的应用的入口路由。当再利用入口路由时,路由引擎54不需要更新转发引擎56的LFIB82中的LSP的入口路由。
[0058]如参考图1更详细描述的,本公开所描述的标签再利用技术可应用于RSVPMBB过程,该RSVP MBB过程用于具有或不具有FRR保护的主LSPs。在FRR保护应用于LSP的情况下,标签再利用技术也可应用于MBB过程,该MBB过程用于基于设施的FRR或绕路FRR中的备份LSPs。路由引擎54中的FRR单元64可执行FRR过程以创建备份LSP,以便提供用于主LSP的链接或节点保护。根据公开的技术,MBB单元62可执行RSVP MBB过程,该RSVP MBB过程包括由FRR单元64创建的备份LSP的标签再利用技术。
[0059]在路由器50作为LSP的入口路由器操作的情况下,路由引擎54使用路径计算单元60以选择LSP的入口路由器与出口路由器之间的新的LSP实例的路径。例如,路径计算单元60可使用约束最短路径优先(CSPF)处理来计算包括在RIB 74和TED 78中的基于LSP的信息的最短路径以满足与LSP有关的准入控制要求,例如,带宽要求及其他约束。在由于改变准入控制要求而触发MBB过程的情况下,当CSPF用来计算满足改变的要求的新的LSP实例的路径时,有可能使得现有LSP实例的路径仍然是满足改变的要求的最佳路径之一。如本公开所描述的,这种现象提供了再利用标签的机会。
[0060]根据所公开的技术,路径计算单元60可被修改为计算新的LSP实例的路径,该新的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备份路径计算。
[0061 ]在一些实例中,默认情况下,在RSVP MBB过程中,路由器50能够以标签分配的标签再利用模式操作。在该实例中,管理员需要执行路由器50的局部配置改变以将MBB过程的标签分配模式改变为除了标签再利用模式以外的模式。在其他实例中,相反地,在RSVP MBB过程中,路由器50能够以标签分配的“正常”模式操作,并且可在路由器50与网络中的其他路由设备之间协商向标签再利用模式的改变。例如,路由器50可使用诸如IGP 72、BGP 70或RSVP 68的路由协议中的一种来公告其支持标签再利用模式的能力。在该实例中,如果支持标签再利用模式,则管理员需要执行路由器50的局部配置改变以将标签分配模式改变为标签再利用模式。
[0062]图3是示出了RSVPMBB过程的标签分配的标签再利用模式中的LSP的出口路由器的示例性操作的流程图。当路由器50作为LSP的出口路由器操作时,参考图2的路由器50描述图3的示例性操作。在其他实例中,图3的操作也可由来自图1的LSP 24的出口路由器18执行。
[0063]如上所述,拆除第一LSP实例之前的第二LSP实例的创建是RSVPMBB过程的一部分。在RSVP MBB过程中,LSP的出口路由器50从请求创建具有第二路径的LSP的第二LSP实例的LSP的入口路由器接收RSVP路径消息,该第二路径至少部分地与第一 LSP实例的第一路径重叠(90)。第二LSP实例的RSVP路径消息可明确表示LSP的入口路由器与出口路由器50之间的第二 LSP实例的第二路径。第二 LSP实例的RSVP路径消息根据第二 LSP实例的第二路径通过网络传播,直至其达到LSP的出口路由器50。
[0064]当接收请求第二LSP实例的RSVP路径消息时,出口路由器50的路由引擎54中的MBB单元62再利用以前由第一 LSP实例的出口路由器50分配的第一标签作为由出口路由器50使用的第二标签以识别与第二LSP实例有关的输入流量(92)。根据本公开的技术,当使用MBB过程创建相同LSP的第二实例时,出口路由器50可始终再利用先前向出口路由器50分配的LSP的现有实例的标签。这是因为:相同LSP的第一和第二实例的路径将始终在LSP的出口路由器处重叠。通过再利用先前分配的第一标签作为用于第二 LSP实例的第二标签,路由引擎54不需要通过执行第二标签的LFIB 82的标签路由添加并且随后执行第一标签的LFIB 82的标签路由删除来更新出口路由器50的转发引擎56。相反,转发引擎56将再利用安装在第一LSP实例的LFIB 82中的标签路由,以便向LSP的目的地转发由第二标签识别的输入流量。
[0065]响应于请求第二LSP实例的RSVP路径消息,出口路由器50沿着第二 LSP实例的第二路径向上游路由器(即,中转路由器)发送包括第二LSP实例的第二标签(S卩,再利用标签)的RSVP Resv消息(94) ASVP Resv消息将根据第二LSP实例的第二路径的逆向路由逐跳地向上游传播,直至最后的RSVP Resv消息达到LSP的入口路由器。随后,LSP的第二LSP实例创建在网络中。作为MBB过程的一部分,入口路由器可拆除第一LSP实例并且开始使用,例如,转换为创建的第二LSP实例以便向LSP的出口路由器50发送流量。
[0066]当通过入口路由器创建第二LSP实例并且拆除第一 LSP实例时,出口路由器50的转发引擎56可沿着第二LSP实例的第二路径从上游路由器接收包括第二标签(S卩,再利用标签)的输入流量(96)。出口路由器50的转发引擎56在LFIB 82中查找第二标签,并且基于第二标签的再利用标签路由向LSP的目的地转发由第二标签识别的输入流量(98)。
[0067]图4是示出了RSVPMBB过程的标签分配的标签再利用模式中的LSP的中转路由器的示例性操作的流程图。当路由器50作为LSP的中转路由器操作时,参考来自图2的路由器50描述图4的示例性操作。在其他实例中,图4的操作也可由来自图1的LSP 24的中转路由器16中的任一个执行。
[0068]如上所述,拆除第一LSP实例之前的第二LSP实例的创建是RSVPMBB过程的一部分。在RSVP MBB过程中,LSP的中转路由器50从请求创建具有第二路径的第二LSP实例的LSP的入口路由器接收RSVP路径消息,该第二路径至少部分地与第一LSP实例的第一路径重叠(100)。用于第二LSP实例的RSVP路径消息可明确表示LSP的入口路由器与出口路由器之间的第二LSP实例的第二路径。中转路由器50根据第二LSP实例的第二路径向LSP的出口路由器转发RSVP路径消息。用于第二 LSP实例的RSVP路径消息根据第二 LSP实例的第二路径通过网络传播,直至其达到LSP的出口路由器。
[0069]响应于请求第二LSP实例的RSVP路径消息,LSP的出口路由器沿着第二LSP实例的第二路径向上游路由器(即,中转路由器)发送包括用于第二LSP实例的标签的RSVP Resv消息。RSVP ResV消息根据第二LSP实例的第二路径的逆向路由逐跳地向上游传播。在一点处,中转路由器50沿着第二 LSP实例的第二路径从下一跳路由器接收包括第二 LSP实例的第二下游标签的RSVP Resv消息(102)。第二下游标签由中转路由器50使用以识别与沿着第二LSP实例的第二路径转发到下一跳路由器的第二 LSP实例有关的输出流量。
[0070]响应于接收第二LSP实例的RSVPResv消息,中转路由器50决定是否再利用以前由第一 LSP实例的中转路由器50分配的第一标签作为由中转路由器50使用的第二标签,以便识别与第二 LSP实例有关的输入流量。中转路由器50基于沿着第二 LSP实例的第二路径从下一跳路由器接收的第二下游标签是否与沿着第一 LSP实例的第一路径以前从相同的下一跳路由器接收的第一下游标签相同而做出该决定(104)。作为一个实例,中转路由器50的路由引擎54可比较接收的第二下游标签与LIB 76,以决定它是否与以前从相同的下一跳路由器接收的第一下游标签相同。
[0071]如果第二下游标签与先前从相同的下一跳路由器接收的第一下游标签相同(104的YES(是)分支),中转路由器50的路由引擎54中的MBB单元62再利用以前由第一LSP实例的中转路由器50分配的第一标签作为用于识别与第二 LSP实例有关的输入流量的第二标签(108)。根据本公开的技术,当沿着第一LSP实例的第一路径以及第二LSP实例的第二路径都包括中转路由器50,并且第一路径和第二路径至少从LSP的中转路由器50到出口路由器重叠时,中转路由器50可再利用以前分配的用于LSP的第二实例的第一标签。以此方式,中转路由器50的下一跳路由器对于第一LSP实例和第二LSP实例是相同的,并且中转路由器50可从下一跳路由器接收用于第一 LSP实例和第二 LSP实例的相同的下游标签。
[0072]通过再利用先前分配的第一标签作为用于第二LSP实例的第二标签,路由引擎54不需要通过执行第二标签的LFIB 82中的标签路由添加并且随后执行第一标签的LFIB 82的标签路由删除来更新中转路由器50的转发引擎56。相反,转发引擎56将再利用安装在第一LSP实例的LFIB 82中的标签路由,以便沿着第二实例的第二路径向LSP的出口路由器转发由第二标签识别的输入流量。在一个实例中,沿着来自图1的第二LSP实例26的第二路径的中转路由器16A、16B以及16C可以此方式操作。在另一实例中,沿着来自图1的第二LSP实例28的第二路径的中转路由器16B和16C可以此方式操作。
[0073]如果第二下游标签不同于第一下游标签或者如果沿着第二LSP实例的第二路径的下一跳路由器不同于沿着第一 LSP实例的第一路径的下一跳路由器(104的(NO)否分支),则中转路由器50的路由引擎54中的MBB单元62分配新标签作为由中转路由器50使用的第二标签以识别与第二 LSP实例有关的输入流量(106)。根据本公开的技术,当沿着第一 LSP实例的第一路径不包括中转路由器50时,例如,当第一路径和第二路径从LSP的下一跳路由器到出口路由器重叠时,中转路由器50可分配用于LSP的第二实例的新标签。在这种情况下,即使对于第一LSP实例和第二LSP实例,中转路由器50的下一跳路由器都相同,中转路由器50也不从下一跳路由器接收用于第一 LSP实例的第一下游标签,并且用于第二 LSP实例的第二下游标签与未知的第一下游标签可不同。
[0074]此外,当沿着第一LSP实例的第一路径包括中转路由器50但是沿着第一LSP实例的第一路径不包括下一跳路由器时,例如,当第一路径和第二路径在LSP的中转路由器50与下一跳路由器之间具有平行但不重叠的路径时,中转路由器50可分配用于LSP的第二实例的新标签。在这种情况下,即使第二下游标签与第一下游标签巧合地相同,第二LSP实例与两第一LSP实例相比,中转路由器50的下一跳路由器也不同。
[0075]通过分配新标签作为用于第二LSP实例的第二标签,路由引擎54需要通过执行新分配的第二标签的LFIB 82中的标签路由添加并且随后一旦拆除第一LSP实例,执行第一标签的LFIB 82中的标签路由删除,来更新中转路由器50的转发引擎56。在一个实例中,沿着来自图1的第二LSP实例28的第二路径的中转路由器16A可以此方式操作。
[0076]不论中转路由器50是否再利用以前分配的第一标签或者分配新标签作为用于第二LSP实例的第二标签,中转路由器50都沿着第二 LSP实例的第二路径向上游路由器(例如,中转路由器或入口路由器)发送包括用于第二LSP实例的第二标签的RSVP Resv消息(110)。RSVP Resv消息根据第二LSP实例的第二路径的逆向路由逐跳地向上游传播,直至最后的RSVP Resv消息达到LSP的入口路由器。随后,LSP的第二LSP实例创建在网络中。作为MBB过程的一部分,入口路由器可拆除第一 LSP实例并且开始使用,例如,转换为创建的第二 LSP实例以便向LSP的出口路由器发送流量。
[0077]当通过入口路由器创建第二LSP实例并且拆除第一 LSP实例时,中转路由器50的转发引擎56可沿着第二 LSP实例的第二路径从上游路由器接收包括第二标签的输入流量(112)。中转路由器50的转发引擎56在LFIB 82中查找第二标签,并且基于用于第二标签的标签路由沿着第二LSP实例的第二路径向LSP的出口路由器转发由第二标签识别的输入流量(114)。在中转路由器50的路由引擎54再利用以前分配的第一标签作为用于第二 LSP实例的第二标签以及转发引擎56再利用第一 LSP实例的标签路由以用于第二 LSP实例的情况下,转发引擎56基于用于第二标签的再利用标签路由转发由第二标签识别的输入流量。
[0078]图5是示出了包括LSP的入口路由器以及LSP的至少一个下游路由器的系统处于RSVP MBB过程的标签分配的标签再利用模式中的示例性操作的流程图。参考来自图1的LSP24的入口路由器14、中转路由器16以及出口路由器18来描述图5的示例性操作。在其他实例中,当路由器50作为LSP的入口路由器、中转路由器以及出口路由器中的每一个操作时,图5的操作也可由来自图2的路由器50执行。
[0079]为了在拆除LSP 24的现有实例25之前创建LSP 24的新实例作为RSVP MBB过程的一部分,LSP 24的入口路由器14发送请求LSP 24的第二LSP实例26、28的创建的RSVP路径消息(120)。用于第二 LSP实例的RSVP路径消息可表示LSP 24的入口路由器14与出口路由器18之间的第二 LSP实例26、28的清晰的第二路径。根据本公开所描述的技术,入口路由器14可基于与LSP 24的第一LSP实例25的第一路径的重叠量来选择第二LSP实例26、28的第二路径。在一个实例中,入口路由器14可执行修改的CSPF计算以从入口路由器14与出口路由器18之间的多个最佳路径中选择第二路径作为与第一 LSP实例的第一路径具有最多重叠的最佳路径之一。在另一实例中,只要第一路径满足第二LSP实例的准入控制要求,入口路由器14就可选择与第一 LSP实例的第一路径相同的第二路径。
[0080]用于第二LSP实例的RSVP路径消息根据第二 LSP实例26、28的第二路径沿着中转路由器16从入口路由器14传播,直至其达到LSP 24的出口路由器18。根据公开的技术,当接收到请求第二LSP实例的RSVP路径消息时,出口路由器18再利用以前分配的第一LSP实例的标签以用于第二LSP实例,而不更新其具有新标签路由的转发平面(122)。出口路由器18沿着第二 LSP实例26、28的第二路径向上游向中转路由器16C发送包括用于第二 LSP实例的再利用标签的RSVP ResV消息(124)。参考以上的图3更详细地描述出口路由器18的操作。
[0081 ] RSVP ResV消息根据第二LSP实例26、28的第二路径的逆向路由沿着中转路由器16逐跳地向上游传播,直至最后的RSVP Resv消息达到LSP24的入口路由器14。LSP 24的中转路由器16中的每一个执行步骤126、128以及130。作为实例,从出口路由器18直接向上游的中转路由器从出口路由器18接收包括用于第二 L S P实例的再利用标签的R S V P R e s V消息(126)。由中转路由器使用再利用标签以识别与沿着第二LSP实例26、28的第二路径转发至出口路由器18的第二 LSP实例有关的输出流量。中转路由器决定是否再利用以前分配的第一LSP实例的标签以识别用于第二LSP实例的输入流量(128)。中转路由器沿着第二LSP实例26、28的第二路径向上游路由器(例如,入口路由器14)发送包括用于第二 LSP实例的标签的RSVP Resv消息(I30)。
[0082]在来自图1的一个实例中,第一LSP实例25的第一路径与第二LSP实例26的第二路径从入口路由器14到出口路由器18重叠。在该实例中,根据公开的技术,中转路由器16A、16B以及16C中的每一个可再利用以前分配的第一 LSP实例25的标签以用于第二 LSP实例26,而不更新其具有新标签路由的转发平面。在来自图1的另一实例中,第一LSP实例25的第一路径与第二 LSP实例28的第二路径仅从中转路由器16B到出口路由器18部分重叠。在该实例中,根据公开的技术,中转路由器16B和16C中的每一个可再利用以前分配的第一LSP实例25的标签以用于第二 LSP实例28,而不更新其具有新标签路由的转发平面。此外,沿着第一 LSP实例25的第一路径没有被包括的中转路由器16D分配用于第二 LSP实例28的新标签,并且更新其具有新标签路由的转发平面用于第二 LSP实例28。参考以上的图4更详细地描述中转路由器16中的每一个的操作。
[0083]入口路由器H沿着第二LSP实例26、28的第二路径从下一跳中转路由器接收包括识别用于第二LSP实例的输出流量的标签的RSVP Resv消息(132)。入口路由器14决定是否再利用第一LSP实例25的入口路由以用于第二LSP实例26、28(134)。在来自图1的实例中,其中,第二LSP实例26的第二路径与第一LSP实例25的第一路径从入口路由器14到出口路由器18完全重叠,入口路由器14从下一跳中转路由器16A接收用于第二 LSP实例26的再利用标签,并且再利用第一 LSP实例25的入口路由以用于第二 LSP实例26而不更新在其转发平面中的入口路由。在这种情况下,入口路由器14不需要更新使用LSP 24的应用,以使用新标签来识别用于第二LSP实例26的输出流量。在来自图1的实例中,其中,第二LSP实例28的第二路径仅与第一 LSP实例25的第一路径从中转路由器16B到出口路由器18部分重叠,入口路由器14从下一跳中转路由器16D接收用于第二 LSP实例28的新标签,并且基于用于第二 LSP实例28的新标签更新在其转发平面中的第一 LSP实例25的入口路由。在这种情况下,入口路由器14也更新使用LSP 24的应用,以使用新标签来识别用于第二LSP实例28的输出流量。
[0084]当在入口路由器14接收用于第二LSP实例26、28的RSVP Resv消息时,创建LSP 24的第二LSP实例26、28。作为MBB过程的一部分,入口路由器14拆除LSP 24的第一LSP实例25(136)。随后,入口路由器14沿着第二 LSP实例26、28的第二路径使用用于第二 LSP实例的标签发送应用的流量(138)。流量沿着第二 LSP实例26、28的第二路径逐跳地从入口路由器14向中转路由器16中的每一个传播,直至其达到LSP24的出口路由器18。作为实例,从出口路由器18直接向上游的中转路由器沿着第二 LSP实例26、28的第二路径使用再利用标签向出口路由器18转发由用于第二 LSP实例的标签识别的输入流量(I 40)。随后,出口路由器18向LSP 24的目的地转发由再利用标签识别的输入流量(142)。
[0085]本公开中所描述的技术可至少部分以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各方面可用于一个或多个处理器中,该一个或多个处理器包括:一个或多个微型处理器、数字信号处理器(DSPs)、专用集成电路(ASICs)、现场可编程门阵列(FPGAs)或任何其他等效集成或离散逻辑电路以及这些部件的任意组合。术语“处理器”或“处理电路”通常可表示单独的或与其他逻辑电路结合的上述逻辑电路中的任一个或任何其他等效电路。包括硬件的控制单元也可执行本公开的一个或多个技术。
[0086]此硬件、软件和固件可以在相同设备内或可以在单独设备内实现以支持本公开中所描述的各种操作和功能。此外,所描述的单元、模块或部件中的任一个可与离散但可互操作的逻辑装置一起或单独使用。以模块或单元的形式描述不同特征的目的是突出不同功能方面且不一定暗示这些模块或单元必须通过单独硬件或软件部件来实现。确切地说,与一个或多个模块或单元相关联的功能可由单独的硬件或软件部件执行或者集成在共同的或单独的硬件或软件部件内。
[0087]本公开描述的技术同样可体现在或编码在计算机可读介质中,诸如包含指令的计算机可读存储介质。例如,当执行指令时,嵌入或编码在计算机可读介质中的指令可使得可编程的处理器或其他处理器执行该方法。计算机可读介质可包括非暂时性计算机可读存储介质和瞬态通信介质。有形的以及非暂时性的计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读存储介质。应理解,术语“计算机可读存储介质”指代物理存储介质,而不是信号、载波或其他瞬态介质。
[0088]已描述了本公开的各方面。这些和其他方面在以上权利要求的范围内。
【主权项】
1.一种路由器方法,包括: 通过路由器从入口路由器和出口路由器之间建立的标签交换路径LSP的所述入口路由器接收请求建立所述LSP的第二 LSP实例的第一消息,所述第二 LSP实例具有与所述LSP的第一 LSP实例的第一路径至少部分地重叠的第二路径; 通过所述路由器决定是否将所述路由器为所述第一 LSP实例先前分配的第一标签再利用为用于识别与所述第二 LSP实例相关联的输入流量的第二标签; 通过所述路由器向沿着所述第二 LSP实例的所述第二路径的上游路由器发送包括所述第二LSP实例的所述第二标签的第二消息,其中,响应于决定再利用所述第一标签,包括在所述第二消息中的所述第二标签与所述路由器先前分配的所述第一标签相同;以及 在所述入口路由器建立所述第二 LSP实例并且拆除所述第一 LSP实例时通过所述路由器从沿着所述第二 LSP实例的所述第二路径的所述上游路由器接收包括所述第二标签的输入流量。2.根据权利要求1所述的路由器方法,进一步包括,基于所述路由器决定将所述第一标签再利用为所述第二标签,再利用为所述第一 LSP实例安装在所述路由器的转发平面中的标签路由以便在没有更新所述标签路由的情况下沿着所述第二LSP实例的所述第二路径转发由所述第二标签识别的输入流量。3.根据权利要求1或2所述的路由器方法,其中,所述路由器包括所述LSP的所述出口路由器,并且其中决定是否将所述第一标签再利用为所述第二标签包括通过所述出口路由器在没有更新所述出口路由器的转发平面的情况下将由所述出口路由器先前为所述第一 LSP实例分配的所述第一标签再利用为用于识别与所述第二 LSP实例相关联的所述输入流量的所述第二标签。4.根据权利要求1或2所述的路由器方法,其中,所述路由器包括沿着所述LSP的所述入口路由器和所述出口路由器之间的所述第二 LSP实例的所述第二路径的中转路由器,并且其中决定是否将所述第一标签再利用为所述第二标签包括: 通过所述中转路由器从沿着所述第二 LSP实例的所述第二路径的下一跳路由器接收包括用于识别与所述第二 LSP实例相关联的输出流量的第二下游标签的第三消息; 如果所述第二下游标签与由所述中转路由器先前从所述第一 LSP实例的相同的下一跳路由器接收的第一下游标签相同,则所述中转路由器在没有更新所述中转路由器的转发平面的情况下将由所述中转路由器先前为所述第一 LSP实例分配的所述第一标签再利用为用于识别与所述第二 LSP实例相关联的所述输入流量的所述第二标签;并且 如果所述第二下游标签与所述第一下游标签不同或者所述第二 LSP实例的所述下一跳路由器与所述第一LSP实例的下一跳路由器不同,则由所述中转路由器分配新的标签作为用于识别与所述第二 LSP实例相关联的所述输入流量的所述第二标签,并且更新所述中转路由器的所述转发平面。5.根据权利要求1至4中任一项所述的路由器方法,其中,从所述入口路由器接收的请求建立所述第二LSP实例的所述第一消息指出所述LSP的所述入口路由器和所述出口路由器之间的所述第二 LSP实例的所述第二路径,并且其中所述第二路径由所述入口路由器基于与所述第一 LSP实例的所述第一路径的重叠量选择。6.根据权利要求1至5中任一项所述的路由器方法,其中,所述LSP被所述路由器为所述第一 LSP实例建立的作为第一备用实例的旁路LSP保护,所述路由器方法进一步包括: 如果所述旁路LSP满足所述第二 LSP实例的准入控制要求,则在没有更新所述路由器的转发平面的情况下,将所述旁路LSP再利用为所述第二 LSP实例的第二备用实例;并且 如果所述旁路LSP不满足所述第二 LSP实例的所述准入控制要求,则建立满足所述第二LSP实例的所述准入控制要求的所述第二 LSP实例的所述旁路LSP的第二备用实例,其中所述第二备用实例与所述第一备用实例重叠,并且在没有更新所述路由器的转发引擎的情况下再利用先前为所述第一备用实例分配的标签。7.根据权利要求1至6中任一项所述的路由器方法,其中,所述LSP通过所述路由器为所述第一LSP实例建立的第一绕路LSP保护,所述路由器方法进一步包括建立满足所述第二LSP实例的准入控制要求的所述第二 LSP实例的第二绕路LSP,其中所述第二绕路LSP的路径与所述第一绕路LSP的路径重叠并且在没有更新所述路由器的转发平面的情况下再利用先前为所述第一绕路LSP分配的标签。8.—种路由器,包括: 路由引擎,所述路由弓I擎包括一个或多个处理器,所述处理器被配置为: 从入口路由器和出口路由器之间建立的标签交换路径LSP的所述入口路由器接收请求建立所述LSP的第二LSP实例的第一消息,所述第二LSP实例具有与所述LSP的第一LSP实例的第一路径至少部分地重叠的第二路径, 决定是否将所述路由器为所述第一 LSP实例先前分配的第一标签再利用为用于识别与所述第二 LSP实例相关联的输入流量的第二标签,并且 向沿着所述第二 LSP实例的所述第二路径的上游路由器发送包括所述第二 LSP实例的所述第二标签的第二消息,其中,响应于决定再利用所述第一标签,包括在所述第二消息中的所述第二标签与由所述路由器先前分配的所述第一标签相同;以及 转发引擎,所述转发引擎包括一个或多个处理器,该处理器被配置为:在所述入口路由器建立所述第二LSP实例并拆除所述第一LSP实例时,从沿着所述第二LSP实例的所述第二路径的所述上游路由器接收包括所述第二标签的输入流量。9.根据权利要求8所述的路由器,进一步包括:用于执行由权利要求1至7中的任一项所述路由器方法的单元。10.—种路由器系统,包括: 在入口路由器和出口路由器之间建立的标签交换路径LSP的所述入口路由器,所述入口路由器被配置为发送请求建立所述LSP的第二 LSP实例的第一消息,所述第一消息指出与所述LSP的第一LSP实例的第一路径至少部分地重叠的所述第二LSP实例的第二路径;以及所述LSP的至少一个下游路由器,所述下游路由器被配置为,响应请求建立所述第二LSP实例的所述第一消息,决定是否将所述下游路由器为所述第一 LSP实例先前分配的第一标签再利用为所述下游路由器用于识别与所述第二 LSP实例相关联的输入流量的第二标签;并且向沿着所述第二 LSP实例的所述第二路径的上游路由器发送包括所述第二 LSP实例的所述第二标签的第二消息,其中,响应于决定再利用所述第一标签,包括在所述第二消息中的所述第二标签与所述下游路由器先前分配的所述第一标签相同, 其中,在建立所述第二LSP实例时,所述入口路由器进一步被被配置为拆除所述LSP的所述第一LSP实例,并且将流量沿着所述第二LSP实例的所述第二路径向着所述LSP的所述出口路由器发送。11.根据权利要求10所述的路由器系统,其中,所述入口路由器进一步被配置为基于与所述第一 LSP实例的所述第一路径的重叠量选择所述第二 LSP实例的所述第二路径。12.根据权利要求11所述的路由器系统,其中,对于选择所述第二LSP实例的所述第二路径,所述入口路由器被配置为从所述入口路由器和所述出口路由器之间的多个最佳路径中选择与所述第一 LSP实例的所述第一路径的具有最大重叠的路径作为所述第二路径。13.根据权利要求11所述的路由器系统,其中,对于选择所述第二LSP实例的所述第二路径,所述入口路由器被配置为如果所述第一路径满足所述第二 LSP实例的准入控制要求则选择与所述第一 LSP实例的所述第一路径相同的所述第二路径。14.根据权利要求10所述的路由器系统,其中,所述入口路由器进一步被配置为: 从沿着所述第二 LSP实例的所述第二路径的下一跳路由器接收包括所述入口路由器用于识别与所述第二 LSP实例相关联的输出流量的第二下游标签的第三消息; 如果所述第二下游标签与所述入口路由器先前从所述第一 LSP实例的相同的所述下一跳路由器接收的第一下游标签相同,则为所述第二LSP实例再利用所述第一LSP实例的入口路由;并且 如果所述第二下游标签与所述第一下游标签不同或者所述第二 LSP实例的所述下一跳路由器与所述第一LSP实例的下一跳路由器不同,则基于所述第二LSP实例的所述第二下游标签更新所述第一 LSP实例的所述入口路由。
【文档编号】H04L12/751GK105939273SQ201610128711
【公开日】2016年9月14日
【申请日】2016年3月7日
【发明人】戴敏劼, 沈毅民, 拉文德拉·托维, 马库斯·约克, 亚科夫·雷特, 纳特拉扬·文卡塔拉曼
【申请人】丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1