欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 发信号通知支持标签交换路径(LSP)的节点或节点组件的计划的脱机以及使用这种信令独创技术47849字

发信号通知支持标签交换路径(LSP)的节点或节点组件的计划的脱机以及使用这种信令

2023-01-11 14:35:18

发信号通知支持标签交换路径(LSP)的节点或节点组件的计划的脱机以及使用这种信令

  技术领域

  本说明书涉及通信网络。更具体地,本发明涉及当标签交换路径 (LSP)中的传输路由器脱机(例如,进行维护)时的LSP中的问题。

  背景技术

  标签交换路径(LSP)

  在传统的分组转发范例中,当分组从一个交换机行进到下一交换机时,在每跳处做出独立的转发决策。分析互联网协议(“IP”)网络报头(例如,每个交换机执行IP路由查找),基于该分析和路由表中的信息来选择下一跳,并且然后将分组转发到下一跳。在多协议标签交换(“MPLS”)环境中,当分组进入MPLS隧道(即,用于 MPLS业务的路径)时,仅对分组报头进行一次分析。更具体地,MPLS 使用标签而不是使用IP地址来路由分组。在利用MPLS的传统网络中,只有第一设备进行路由查找,并且不是查找下一跳,而是查找最终目的地以及到该目的地的路径。MPLS分组的路径称为标签交换路径(LSP)。

  MPLS将一个或多个标签应用于分组,以便其可以跟随LSP到达目的地。LSP中的每个交换机(通常称为“路由器”或“标签交换路由器”或“LSR”)弹出其标签,并且将分组发送到序列中的下一交换机标签。更具体地,当IP分组进入LSP时,入口提供方边缘(PE) 交换机检查该分组,基于其目的地为其分配标签,并且将标签放置在分组的报头中。标签将分组从基于其IP路由信息转发的分组转换为基于与标签相关联的信息转发的分组。然后,将分组转发到LSP中的下一提供方交换机。该交换机和LSP中的所有随后交换机不需要检查带标签分组中的任何IP路由信息。相反,它们使用标签在其标签转发表中查找信息。然后,它们利用新标签替换旧标签,并且将分组转发到路径中的下一交换机。当分组到达出口PE交换机时,标签被移除(除非标签在LSP的倒数第二交换机处被“弹出”而不是被“交换”),并且分组再次成为本机IP分组并且基于其IP路由信息被转发。

  标签可以被“推送”、“弹出”或“交换”。推送操作将新标签附加到IP分组的顶部。针对IPv4分组,新标签是第一标签。弹出操作从分组的开始移除标签。在移除标签之后,底层IP分组被转发作为本机IP分组。通过使用(1)在其上接收到分组的接口(即,传入接口),(2)已有的标签和(3)交换机的标签转发表,交换操作从 IP分组中移除已有的MPLS标签,并且利用新的MPLS标签替换它。

  图1示出了入口(或“头端”)路由器PE1 110与出口(或“尾端”)路由器PE2 120之间的LSP。路由器CE1 105将互联网协议(IP) 分组150转发到其下一跳(路由器PE1 110),该下一跳是LSP入口 (或头端)。入口路由器PE1 110推送分组150上的标签1(L1)155,并且将带标签的分组150+155转发到“传输”路由器P1 112。传输路由器P1 112完成标准MPLS标签交换操作,将标签1 155交换为标签 2(L2)160,并且将带标签的分组150+160转发到“传输”路由器 P2 114。由于传输路由器P2 114是到路由器PE2 120的LSP的倒数第二跳路由器,因此传输路由器P2 114首先弹出标签L2 160并且然后将分组150转发到出口(或尾端)路由器PE2 120。当出口路由器PE2 120接收分组150时,它可以具有服务标签、显式空标签、或者只是普通IP或VPLS分组。出口路由器PE2 120然后将未带标签的分组 150转发到路由器CE2125。如果使用最终跳弹出,则标签将被交换而不是在传输路由器P2处弹出(未示出),并且然后改为在出口路由器PE2处弹出(未示出)。因此,利用PHP,倒数第二提供方交换机负责弹出MPLS标签并且将业务转发到出口PE交换机。然后,出口PE交换机执行IP路由查找并且转发业务。如果改为使用最终跳弹出,则LSP的出口PE交换机弹出标签。

  可以使用以下各项来建立LSP:(a)静态配置,在静态配置中管理员在LSP中涉及的所有路由器(入口、传输和出口)上手动分配标签,或者(b)某个信令协议,诸如标签分发协议(“LDP”)(参见例如“Label Distribution Protocol”,征求意见:5036(互联网工程任务组,2007年10月)(称为“RFC 5036”并且通过引用并入本文)) 或资源预留协议(“RSVP”)(参见例如“Resource ReSerVation Protocol(RSVP)”,征求意见:2205(互联网工程任务组,1997年9 月)(称为“RFC 2205”并且通过引用并入本文))。

  LDP是一种用于在非业务工程应用中分发标签的协议。LDP允许路由器通过将网络层路由信息直接映射到数据链路LSP来通过网络建立LSP。这些LSP可以在直接附接的邻居处(类似于IP逐跳转发) 或者在网络出口节点处具有端点,从而能够在所有中间节点之间进行交换。由LDP建立的LSP也可以遍历由RSVP创建的业务工程LSP。

  LDP将转发等价类(FEC)与其创建的每个LSP相关联。与LSP 相关联的FEC指定哪些分组被映射到该LSP。LSP通过网络扩展,因为每个路由器都选择由FEC的下一跳通告的标签,并且将其拼接到它向所有其他路由器通告的标签。该过程形成在出口路由器上汇聚的LSP树。

  RSVP用于建立LSP并且动态分配标签。RSVP信令消息用于建立信令路径;仅配置入口路由器。传输和出口路由器接受来自入口路由器的信令信息,并且协同地建立和维护LSP。在建立LSP时遇到的任何错误都会被报告给入口路由器以进行诊断。

  RSVP信令的LSP包括显式路径LSP和约束路径LSP。在显式路径LSP中,LSP的所有中间跳都是手动配置的。中间跳可以是“严格的”、“松散的”或两者的任何组合。显式路径LSP为网络管理员提供了对如何设置路径的完全控制。它们类似于静态LSP,但是需要的配置要少得多。对于约束路径LSP,该LSP的中间跳由软件自动计算。计算考虑由来自中间系统-中间系统(“IS-IS”)或开放最短路径优先(“OSPF”)链路状态路由协议的拓扑信息提供的信息、由RSVP 确定的当前网络资源利用率、以及LSP的资源需求和约束。

  使LSP路由器脱机(诸如进行维护)时的问题

  很多网络运营方在其网络设备中执行日常维护活动。通常,这种维护包括替换单个硬件元件,诸如线卡为例。即使某个传输路由器仅携带带标签的业务并且保持RSVP LSP,但是当传输路由器要脱机进行维护时,“IGP过载”通常用于向RSVP隧道的头端(即,入口)路由器通知此类维护。在IS-IS中,IGP过载指示节点(或到节点的链路)不可用。在OSPF中,IGP过载会最大化节点(或到节点的链路)的成本。在仅RSVP网络中,没有机制用于向RSVP邻居通知传输节点将要脱机进行维护。

  当传输节点脱机进行维护时,可以使用IGP过载来发信号通知。使用IGP过载会导致通过传输节点(例如,在脱机的节点中、或者在被移除的线卡中、或者在支持LSP所需的任何其他“节点组件”中) 的所有LSP重新发信号通知(并且被重新建立)以避免(线卡的,或支持LSP所需的任何节点组件的)传输节点进行维护。因此,使用“IGP 过载”作为用于发信号通知传输路由器(或传输路由器的线卡或某个其他节点组件)正在进行维护的机制不利地在网络中造成了不希望的流失。例如,在一个以MPLS为主的网络中,如果来自核心路由器的所有业务都使用RSVP进行LSP信令,则使用IGP过载可能是非常网络密集的,因为它本质上要求(1)IGP“花费”节点进行维护(例如,发送具有无限度量的链路状态通告(“LSA”)并且运行最短路径优先(“SPF”))并且然后(2)重新发信号通知先前经由传输节点转换以进行维护的所有LSP。

  操作他们自己的网络的很多内容提供方(例如,加利福尼亚州 Mountainview的Google Inc.、加利福尼亚州门洛帕克的Facebook、华盛顿西雅图的亚马逊等)严重依赖于RSVP LSP并且仅具有经由传输路由器的MPLS业务。由于频繁的节点维护,使用IGP过载导致其网络中的LSP流失对他们来说是一个问题。

  鉴于上述,发信号通知传输路由器将要进行维护,同时避免在要使用IGP过载的情况下可能在网络中发生的LSP流失将是有用的。

  发明内容

  在具有已建立的标签交换路径(LSP)并且包括传输路由器和入口路由器的系统中(特别是在使用RSVP用于LSP信令的MPLS网络中),由使用IGP过载而引起的LSP流失的问题可以通过以下来解决:(a)接收指令,该指令指示传输路由器或支持LSP的传输路由器的组件将在未来的特定时间被拆除以用于在特定定义的持续时间内进行维护;(b)生成至少一个维护通知消息,该至少一个维护通知消息(1)指定LSP,(2)包括直接或间接指定时间的信息,以及 (3)包括指定定义的持续时间的信息;(c)向(A)LSP中的上游邻居节点和(B)中央控制器中的至少一个发送至少一个维护通知消息。

  在与上述相一致的至少一些示例方法中,直接或间接指定时间的信息是第一定时器值,并且指定定义的持续时间的信息是第二定时器值。

  与前述相一致的至少一些示例方法还可以:(d)从下游邻居节点接收至少一个通知消息;以及(e)响应于接收到至少一个通知消息,(1)使用第一定时器值启动第一定时器,以及(2)放宽被用于维护LSP的信令。如果由入口路由器接收从下游邻居节点接收的至少一个通知消息,则该示例方法还可以(3)确定到LSP的出口路由器的备选标签交换路径(LSP)是否可用,以及(4)响应于确定到LSP 的出口路由器的备选LSP可用,将业务从LSP切换到备选LSP,否则,响应于确定到LSP的出口路由器的备选LSP不可用,(i)建立到LSP的出口路由器的新标签交换路径(LSP),以及(ii)将业务从LSP切换到新LSP。在一些这样的示例方法中,将业务从LSP切换到新或备选LSP的动作以先通后断方式被执行。

  至少一些示例方法还(f)响应于第一定时器的到期,使用第二定时器值启动第二定时器,以及(g)响应于第二定时器的到期,将业务从备选LSP或新LSP中的一个LSP切换回LSP。将业务从备选LSP 或新LSP中的一个LSP切换回LSP的动作可以以先通后断方式被执行。

  至少一些示例方法还(f)响应于第一定时器的到期,(1)将LSP 标记为不可用于业务转发,以及(2)使用第二定时器值启动第二定时器;以及(g)响应于第二定时器的到期,将业务从备选LSP或新 LSP中的一个LSP切换回LSP。

  在至少一些示例方法中,至少一个维护通知消息是在单个分组中携带的单个消息。

  在至少一些示例方法中,该指令从传输路由器的命令行界面被接收,该指令指示传输路由器或支持LSP的传输路由器的部分将在未来的特定时间被拆除以用于在特定定义的持续时间内进行维护。

  在至少一些示例方法中,该指令从传输路由器的管理接口被接收,该指令指示传输路由器或支持LSP的传输路由器的部分将在未来的特定时间被拆除以用于在特定定义的持续时间内进行维护。

  前述示例方法可以由LSP的传输节点、LSP的入口节点和管理 LSP的中央控制器中的一个或多个来执行。

  与本说明书相一致的示例实施例使LSP的节点能够经由RSVP信令(例如,使用与本说明书相一致的RSVP过载消息)向入口节点通知关于其在一定时间内的临时不可用性。作为响应,入口节点可以停止使用任何受影响的LSP,并且将业务转移到其他LSP。这提供了一种比传统IGP过载更快的机制来发信号通知业务转移,如上所述,传统IGP过载会导致到网络中的大量流失,因为所有节点都需要计算 SPF。入口节点知道该节点维护就足够了,并且它可以使用信息将业务转移到其他等价多路径(ECMP)LSP或其他可用LSP。如果在入口节点接收到这样的消息时不存在备选LSP路径,则可以在该时间期间构建新LSP并且在节点脱机进行维护之前平滑地转移业务(例如,以先通后断方式)。由于只有入口节点负责将业务推送到LSP,因此无需拆除LSP即可进行此类节点维护(特别是当它们在短持续时间内时,诸如单线卡(例如,柔性物理接口卡(PIC)集中器(FPC)、仅保持总传输LSP的一部分的替换)。所描述的示例技术将与监测和提供RSVP LSP的基于控制器的应用配合使用;去往入口节点和/或控制器的简单消息就足够了(不需要昂贵的IGP过载)。控制器可以在传输节点(或支持LSP的传输节点的组件)脱机(例如,进行维护) 之前快速构建备选路径并且将其推送到入口节点。

  附图说明

  图1示出了在两个路由器之间的LSP中,其中使用了PHP。

  图2是与本说明书相一致的示例方法的流程图。

  图3是与本说明书相一致的示例即将到来的维护消息。

  图4示出了包括经由通信链路耦合的两个系统的示例环境。

  图5是在其上可以实现本说明书的示例方法的示例路由器的框图。

  图6是可以在图5的示例路由器中提供的示例分布式专用集成电路(“ASIC”)的框图。

  图7A和图7B示出了图6的示例分布式ASIC的示例分组转发操作。

  图8是可以在图5和图6的任何示例路由器上实现的示例分组转发方法的流程图。

  图9是可以用于执行示例方法和/或存储由这种示例方法使用和/ 或生成的信息的基于处理器的示例系统的框图。

  图10A-图10E示出了与本说明书相一致的示例方法的操作的示例。

  具体实施方式

  本说明书可以涉及用于向LSP的入口节点(以及可能的其他节点)通知LSP的传输节点(或支持LSP的节点组件)将在一定时间内临时不可用的新颖方法、装置、消息格式和/或数据结构。以下描述被呈现以使本领域技术人员能够制造和使用本发明,并且以下描述在特定应用及其要求的上下文中提供。因此,以下对与本发明相一致的实施例的描述提供了说明和描述,但并不旨在穷举本发明或将本发明限制于所公开的精确形式。对所公开的实施例的各种修改对于本领域技术人员来说是显而易见的,并且下面阐述的一般原理可以应用于其他实施例和应用。例如,尽管可以参考流程图描述一系列动作,但是当一个动作的执行不依赖于另一动作的完成时,动作的顺序在其他实现中可以不同。此外,可以并行地执行非依赖动作。除非明确地如此描述,否则在说明书中使用的任何元素、动作或指令均不应当被解释为对本发明是关键的或必要的。同样,如本文中所使用的,冠词“一个(a)”旨在包括一个或多个项目。在仅旨在一个项目的情况下,使用术语“一个(one)”或类似语言。因此,本发明不旨在限于所示的实施例,并且发明人将其发明视为所描述的任何可获得专利的主题。

  示例方法

  图2是用于传输路由器维护通知生成和处理的与本说明书相一致的示例方法200的流程图。如图所示,示例方法200的各种分支响应于各种事件的发生而执行。例如,参考流程图的最左侧分支,响应于确定路由器将进行维护,示例方法200确定路由器是否是传输路由器 (决策210)。如果是,则向(在LSP中的)(例如,上游)邻居节点和/或控制器发送维护通知消息(框215)。

  参考图3,在与示例方法200相一致的一些示例实现中,针对通过传输节点(或通过支持LSP的节点组件)以进行维护的每个LSP,示例消息300可以包括LSP标识符310、第一定时器(例如,启动定时器)值320和第二定时器(例如,过载定时器)值330。例如,针对被调度以进行维护的传输(例如,RSVP)节点,维护中的传输节点的管理员或运营方可以配置以下配置选项:

  -设置协议rsvp overload overload-timer overload-kick-in-timer;

  以及

  -设置协议rsvp interface overload overload-timer

  overload-kick-in-timer

  其中“overload-timer”(第二定时器)是特定RSVP接口(或整个节点、或支持LSP所需的节点组件)被调度或预期进行维护的持续时间,以及“overload-kick-in-timer”(第一定时器)是RSVP接口仍然可用于MPLS业务转发目的的持续时间。第一配置选项针对使整个传输节点脱机时很有用,而第二配置选项针对使传输节点的特定接口脱机时很有用。在第一(例如,overload-kick-in)定时器的到期之后,RSVP 链路/节点被调度为被拆除(例如,脱机,或者以其他方式不能支持 LSP)以进行维护。因此,LSP的入节点具有在overload-kick-in-timer (第一定时器)中指定的时间,以将LSP业务从传输节点切换到另一绕过传输节点(或绕过要脱机的传输节点的组件)的可用LSP,或者发信号通知绕过传输节点(或绕过要脱机的传输节点的组件)的新 LSP并且切换到该LSP。

  参考流程图的最右边的分支,响应于接收到维护通知消息,接收节点可以放宽(例如,进入RSVP的软状态)通过被调度以进行维护的传输节点的任何LSP的Hellos(框220)。使用维护通知消息中的信息(例如,使用消息300的字段320中的值)启动第一(例如,启动)定时器(框225)。示例方法200确定接收节点是否是LSP的入口(决策230)。如果不是(决策230,否),则方法200经由节点 290返回。然而,如果确定接收节点是LSP的入口(决策230,是),则方法200检查以确定是否存在可用的备选路径(LSP)(框235)。如果没有可用的备选路径(决策240,否),则方法200创建到出口的新LSP(框245)并且将业务切换到新路径(如果可能,在第一(例如,启动)定时器的到期之前)(框250)。在与示例方法200相一致的一些示例实施例中,切换以先通后断(MBB)方式被执行。原始LSP可以被标记为不可用于业务转发(框260)。返回参考决策240,另一方面,如果有备选路径可用(决策240,是),则示例方法200 将业务切换到备选路径(如果可能,在第一(例如,启动)定时器的到期之前)(框255)。在与示例方法200相一致的一些示例实施例中,该切换以MBB方式被执行。再次参考框260,原始LSP可以被标记为不可用于业务转发。

  返回参考框220,任何上游传输路由器(和入口路由器)应当维护LSP并且应当期望会错过否则预期的RSVP Hello消息(参见例如 RFC 2205的第2.3节)。也就是说,即使在传输节点(或传输节点的组件)脱机时预期无法转发业务时,也希望不拆除原始LSP。

  参考流程图的第二最左分支,响应于第一(例如,启动)定时器的到期,作为可能在第一定时器的到期之前执行框260的备选,原始 LSP被标记为不可用于业务转发(框265)。然后使用维护通知消息中的值来启动第二(例如,过载)定时器(框270。回顾,例如,示例消息300的字段330)。

  最后,参考流程图的第二最右分支,响应于第二(例如,过载) 定时器的到期,RSVPHellos的正常状态被恢复(例如,从框220中设置的软状态)(框275),并且业务被切换回原始路径(例如,LSP) (框280)。该切换可以以MBB方式发生。

  注意,尽管示例方法200的很多动作被描述为由诸如LSP的入口节点的节点执行,但是示例方法200的某些或全部动作可以由控制器执行,控制器可以将控制信息传送到LSP的节点(例如,入口和传输节点)并且从LSP的节点(例如,入口和传输节点)传送控制信息。

  示例消息

  如已经指出的,参考图3,在一些示例实现中,针对通过传输节点(或通过支持LSP的节点组件)以进行维护的每个LSP,示例消息 300可以包括LSP标识符310、第一定时器(例如,启动定时器)值 320和第二定时器(例如,过载定时器)值330。例如,新的RSVP 路径错误代码类型可以包括:

  -“过载”,向入口节点指示传输节点正在维护,并且入口节点需要将业务转移到一个或多个其他可用LSP;

  -“过载定时器”(以秒为单位的值),向入口节点和/或控制器指示维护被调度达这么多秒;以及

  -“过载启动定时器”(以秒为单位的值),指示节点将在这么多秒之后进行维护,并且如果需要新LSP的任何计算,则可以在该时间期间进行(并且应当完成)。

  尽管描述了以秒为单位,但是定时器值可以以其他时间单位来表示。注意,将受到传输路由器脱机影响的每个LSP可能都具有其自己的维护通知消息。

  尽管未示出,但是该消息还应当包括要脱机的传输节点的地址或标识符,以使得备选或新LSP将不包括特定传输节点。

  图2的示例方法200可以使用该RSVP过载路径错误消息和这些定时器将业务转移到其他可用LSP。

  示例装置

  图4示出了经由通信链路430耦合的两个数据转发系统410和 420。链路可以是物理链路或“无线”链路。数据转发系统410、420 可以是节点,诸如路由器为例。如果数据转发系统410、420是示例路由器,则每个可以包括控制组件(例如,路由引擎)414、424和转发组件412、422。每个数据转发系统410、420包括终止一个或多个通信链路430的一个或多个接口416、426。标签交换路由器(LSR) 中的任何两个(回顾例如,图1)可以在设备410和/或420上实现。上述示例方法200可以在设备410和/或420的控制组件414和/或424 中实现。

  如上面刚刚讨论的,并且参考图5,一些示例路由器500包括控制组件(例如,路由引擎)510和分组转发组件(例如,分组转发引擎)590。

  控制组件510可以包括操作系统(OS)内核520、路由协议过程 530、基于标签的转发协议过程540、接口过程550、用户界面(例如,命令行界面)过程560和机箱过程570,并且可以存储路由表539、标签转发信息545和转发(例如,基于路由和/或基于标签的)表580。如图所示,路由协议过程530可以支持路由协议,诸如路由信息协议 (“RIP”)531、中间系统到中间系统协议(“IS-IS”)532、开放最短路径优先协议(“OSPF”)533、增强型内部网关路由协议 (“EIGRP”)534和边界网关协议(“BGP”)535,以及基于标签的转发协议过程540可以支持诸如BGP 535、标签分发协议(“LDP”) 536和资源预留协议(“RSVP”)537的协议。RSVP 537可以部分或全部实现图2的示例方法200。一个或多个组件(未示出)可以允许用户565与用户界面过程560交互。类似地,一个或多个组件(未示出)可以允许外部设备经由SNMP 585与以下中的一个或多个交互:路由器协议过程530、基于标签的转发协议过程540、接口过程550和机箱过程570,并且这样的过程可以经由SNMP 585向外部设备发送信息。这些进程中的一个或多个可以部分或全部实现图2的示例方法200(尤其是回顾图2的框215)。

  分组转发组件590可以包括微内核592、接口过程593、分布式 ASIC 594,机箱过程595和转发(例如,基于路由和/或基于标签的) 表596。

  在图5的示例路由器500中,控制组件510处理诸如执行路由协议、执行基于标签的转发协议、控制分组处理等的任务,这释放了分组转发组件590以快速转发所接收的分组。也就是说,所接收的控制分组(例如,路由协议分组和/或基于标签的转发协议分组)没有在分组转发组件590本身上被完全处理,而是被传递到控制组件510,从而减少了分组转发组件590必须完成的工作量并且释放分组转发组件 590以处理要有效转发的分组。因此,控制组件510主要负责运行路由协议和/或基于标签的转发协议,维护路由表和/或标签转发信息,向分组转发组件590发送转发表更新,以及执行系统管理。示例控制组件510可以处理路由协议分组,提供管理接口,提供配置管理,执行计费,以及提供警报。过程530、540、550、560和570可以是模块化的,并且可以与OS内核520交互。也就是说,几乎所有过程都直接与OS内核520通信。使用将过程彼此彻底地分开的模块化软件隔离给定过程的问题,以便这样的问题不会影响可能正在运行的其他过程。此外,使用模块化软件有助于简化扩展。

  仍然参考图5,示例OS内核520可以包含用于外部程序调用和脚本能力的应用编程接口(“API”)系统。控制组件510可以基于从闪存运行OS的Intel PCI平台,其中备用副本存储在路由器的硬盘上。OS内核520分层在Intel PCI平台上,并且建立Intel PCI平台与控制组件510的过程之间的通信。OS内核520还确保分组转发组件 590使用的转发表596与控制组件510中的那些转发表580同步。因此,除了向控制组件510软件过程提供底层基础设施之外,OS内核 520还提供控制组件510与分组转发组件590之间的链路。

  参考图5的路由协议过程530,该过程530在平台内提供路由和路由控制功能。在该示例中,提供了RIP 531、ISIS 532、OSPF 533 和EIGRP 534(和BGP 535)协议。当然,可以另外地或备选地提供其他路由协议。类似地,基于标签的转发协议过程540提供标签转发和标签控制功能。在该示例中,提供了LDP 536和RSVP 537(和BGP 535)协议。当然,可以另外地或备选地提供其他基于标签的转发协议(例如,MPLS)。这些过程中的一个或多个可以部分或全部实现图2的示例方法200。在示例路由器500中,路由表539由路由协议过程530产生,而标签转发信息545由基于标签的转发协议过程540 产生。

  仍然参考图5,接口过程550执行物理接口(回顾,例如,图5 的516和526)的配置和封装。

  示例控制组件510可以提供若干方式来管理路由器(例如,用于如参考图3的框305所讨论的那样配置间隔)。例如,示例控制组件 510可以提供用户界面过程560,用户界面过程560允许系统操作员565通过配置、修改和监测与系统交互。SNMP 585允许支持SNMP 的系统与路由器平台通信。这也允许平台向外部代理提供必要的 SNMP信息。例如,SNMP 585可以允许通过诸如Hewlett-Packard的 OpenView的框架从运行软件的网络管理站(诸如Hewlett-Packard的网络节点管理器(“HP-NNM”))来管理系统。分组的计费(通常称为业务统计)可以由控制组件510执行,从而避免了减慢分组转发组件590的业务转发。

  尽管未示出,但是示例路由器500可以提供带外管理、用于串行控制台和远程管理访问的RS-232DB9端口、以及使用可移动PC卡的三级存储。此外,尽管未示出,但是位于机箱前部的工艺接口提供了路由器的内部工作的外部视图。它可以用作故障排除工具、监测工具或两者。工艺接口可以包括LED指示器、警报指示器、控制组件端口和/或显示屏。最后,工艺接口可以经由控制台端口、辅助端口和 /或管理以太网端口提供与命令行界面(“CLI”)560的交互。如上所述,间隔可以使用CLI来配置。CLI 560可以部分(尤其是回顾图 2的框215)或全部实现图2的示例方法200。

  分组转发组件590负责尽可能快地正确地输出所接收的分组。如果转发表中没有针对给定目的地或给定标签的条目,并且分组转发组件590不能自己执行转发,则分组转发组件590可以将绑定到该未知目的地的分组发送到控制组件510以进行处理。示例分组转发组件 590被设计为执行第2层和第3层交换、路由查找和快速分组转发。

  如图5所示,示例分组转发组件590具有嵌入式微内核592、接口过程593、分布式ASIC 594和机箱过程595,并且存储转发(例如,基于路由和/或基于标签的)表596。微内核592与接口过程593和机箱过程595交互以监测和控制这些功能。接口过程592与控制组件510 的OS内核520直接通信。该通信包括将异常分组和控制分组转发到控制组件510、接收要转发的分组、接收转发表更新、向控制组件510 提供关于分组转发组件590的健康的信息、并且允许从控制组件510 的用户界面(例如,CLI)过程560配置接口。所存储的转发表596 是静态的,直到从控制组件510接收到新转发表为止。接口过程593 使用转发表596来查找下一跳信息。接口过程593还与分布式ASIC 594直接通信。最后,机箱过程595可以与微内核592和分布式ASIC 594直接通信。

  返回参考图5的分布式ASIC 594,图6是如何在分组转发组件 590中分发ASICS以划分分组转发的责任的示例。如图6所示,分组转发组件590的ASIC可以分布在物理接口卡(“PIC”)610、柔性 PIC集中器(“FPC”)620、中板或背板630和系统控制板640(用于交换和/或转发)上。交换结构也被示出为系统交换板(“SSB”) 或交换和转发模块(“SFM”)650。每个PIC 610包括一个或多个 PIC I/O管理器615。每个FPC 620包括一个或多个I/O管理器622,每个I/O管理器622具有相关联的存储器624。中板/背板630包括缓冲区管理器635a、635b。最后,系统控制板640包括互联网处理器 642和转发表644的实例(回顾,例如,图5的596)。

  仍然参考图6,PIC 610包含接口端口。每个PIC 610可以插入 FPC 620。每个单独的PIC 610可以包含处理媒体特定功能的ASIC,诸如成帧或封装。一些示例PIC 610提供SDH/SONET、ATM、千兆以太网、快速以太网和/或DS3/E3接口端口。

  FPC 620可以包含一个或多个PIC 610,并且可以将信号从PIC 610携带到中板/背板630,如图6所示。

  中板/背板630保持线卡。当线卡从前面插入示例路由器的机箱时,线卡可以连接到中板/背板630。控制组件(例如,路由引擎)510 可以从机箱的后部插入中板/背板630的后部。中板/背板630可以将电(或光)信号和电力携带到每个线卡和控制组件510。回顾,路由器的线卡支持一个或多个LSP,并且可以拆卸以进行维护。

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

  参考图6、图7A和图7B,在一些示例性路由器中,PIC 610、510' 中的每个包含负责诸如封装的媒体特定任务的至少一个I/O管理器 ASIC 615。分组在进出路由器的过程中通过这些I/O ASIC。在适当时, PIC 610、510'上的I/O管理器ASIC 615负责管理与FPC 620、520'上的I/O管理器ASIC 622的连接、管理链路层成帧以及创建比特流、执行循环冗余校验(CRC)、以及检测链路层错误并且生成警报。FPC 620包括另一I/O管理器ASIC 622。该ASIC622从PIC 610获取分组并且将它们分成(例如,64字节)存储器块。该FPC I/O管理器ASIC622将这些块发送到第一分布式缓冲区管理器(DBM)635a',解码封装和协议特定信息,计算每个逻辑电路的分组和字节数,验证分组完整性,以及向分组应用服务等级(CoS)规则。此时,分组首先被写入存储器。更具体地,示例DBM ASIC 635a'跨所有FPC 620管理分组并且将分组写入共享存储器624。并行地,第一DBM ASIC 635a' 还提取关于分组的目的地的信息并且将该转发相关信息传递给互联网处理器642/542'。互联网处理器642/542'使用转发表644执行路由查找,并且将该信息发送到第二DBM ASIC 635b'。互联网处理器ASIC 642/542'还收集异常分组(即,没有转发表条目的异常分组)并且将它们发送到控制组件510。然后,第二DBM ASIC 635b'获取该信息和 64字节块并且将它们转发到出口FPC 620/520'(或者在多播的情况下为多个出口FPC)的I/O管理器ASIC 622以用于重组(因此,DBM ASIC635a'和635b'负责管理分布在所有FPC 620/520'上的分组存储器 624,从分组中提取转发相关信息,并且指示FPC将分组转发到何处)。

  出口FPC 620/520'上的I/O管理器ASIC 622可以执行一些增值服务。除了递增生存时间(“TTL”)值并且重新封装分组以供PIC 610 处理之外,它还可以应用服务等级(CoS)规则。为此,在将这些规则应用于分组之前,它可以在可用队列中的一个中对指向该分组的指针进行排队,每个可用队列具有共享的链路带宽。排队可以基于各种规则。因此,出口FPC620/520'上的I/O管理器ASIC 622可以负责从第二DBM ASIC 635b'接收块、递增TTL值、如果有必要,在应用CoS 规则之前,对指向分组的指针进行排队、重新封装块、并且将经封装的分组发送到PIC I/O管理器ASIC 615。

  图8是用于在示例路由器中提供分组转发的示例方法800的流程图。当在入口(传入)端口或接口上接收到分组时,触发方法800的主要动作(事件810)。执行其所服务的介质类型所需类型的校验和和帧检查,并且将分组作为串行比特流输出(框820)。然后将分组解封装和解析成(例如,64字节)块(框830)。分组被写入缓冲区存储器,并且在互联网处理器上传递转发信息(框840)。然后,所传递的转发信息用于在转发表中查找路由(框850)(回顾,例如,图6)。注意,转发表通常可以处理不具有选项(例如,计费)集的单播分组、以及已经具有高速缓存条目的多播分组。因此,如果确定这些条件满足(决策860的“是”分支),则分组转发组件找到下一跳和出口接口,并且在方法800离开(节点890)之前,分组经由出口接口转发(或排队等待转发)到下一跳(框870)。否则,如果这些条件不满足(决策860的“否”分支),则在方法800离开(节点 890)之前,转发信息被发送到控制组件510以用于提高转发分辨率 (框880)。

  返回参考框870,可以对分组进行排队。实际上,如先前参考图 6所述,可以对指向分组的指针排队。分组本身可以保留在共享存储器中。因此,可以在不存在实际分组的情况下应用所有排队决策和CoS规则。当分组的指针到达线的前面时,I/O管理器ASIC 622可以将对分组的请求发送到第二DBM ASIC 635b。DBM ASIC 635从共享存储器读取块并且将它们发送到FPC 620上的I/O管理器ASIC 622,然后I/O管理器ASIC 622将这些比特串行化并且将它们发送到出口接口的媒体特定ASIC。出口PIC 610上的I/O管理器ASIC 615可以应用物理层成帧,执行CRC,并且在链路上发送比特流。

  返回参考图8的框880以及图6,关于控制和异常分组的传输,系统控制板640处理几乎所有异常分组。例如,系统控制板640可以将异常分组传递到控制组件510。

  尽管可以在图4或图5的示例路由器上实现与本公开相一致的示例实施例,但是与本公开相一致的实施例可以在具有不同架构的通信网络节点(例如,路由器、交换机等)上实现。例如,与本说明书相一致的方法可以在任何现代服务器或甚至虚拟机上运行(例如,没有任何ASIC或分组转发引擎)。更一般地,与本公开相一致的实施例可以在如图9所示的示例系统900上实现。

  图9是可以执行所描述的方法中的一个或多个、和/或存储由这些方法使用和/或生成的信息的示例性机器900的框图。示例性机器900 包括一个或多个处理器910、一个或多个输入/输出接口单元930、一个或多个存储设备920、以及用于支持耦合元件之间的信息的通信的一个或多个系统总线和/或网络940。一个或多个输入设备932和一个或多个输出设备934可以与一个或多个输入/输出接口930耦合。一个或多个处理器910可以执行机器可执行指令(例如,在可以从很多供应方广泛获得的Linux操作系统上运行的C或C++)以实现本公开的一个或多个方面。机器可执行指令的至少一部分可以(临时地或更永久地)存储在一个或多个存储设备920上,和/或可以经由一个或多个输入接口单元930从外部源接收。机器可执行指令可以被存储为各种软件模块,每个模块执行一个或多个操作。功能软件模块是可以在所描述的装置中使用的组件的示例。

  在与本公开相一致的一些实施例中,处理器910可以是一个或多个微处理器和/或ASIC。总线940可以包括系统总线。存储设备920 可以包括系统存储器,诸如只读存储器(ROM)和/或随机存取存储器(RAM)。存储设备920还可以包括用于读取和写入硬盘的硬盘驱动器、用于读取或写入(例如,可移动)磁盘的磁盘驱动器、用于读取或写入可移动(磁)光盘(诸如光盘或其他(磁)光介质)的光盘驱动器、或者固态非易失性存储器。

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

  与本公开相一致的示例实施例(或其组件或模块)可以以硬件实现,诸如一个或多个现场可编程门阵列(“FPGA”)、一个或多个集成电路(诸如ASIC)、一个或多个网络处理器等。备选地或另外地,与本公开相一致的实施例(或其组件或模块)可以被实现为由处理器执行的所存储的程序指令。这样的硬件和/或软件可以在寻址数据 (例如,分组、小区等)转发设备(例如,交换机、路由器等)、膝上型计算机、台式计算机、平板计算机、移动电话或具有计算和网络能力的任何设备中提供。如上所述,尽管示例方法200的很多动作被描述为由诸如LSP的入口节点的节点执行,但是示例方法200的所有动作中的一些动作可以由控制器(例如,计算机、服务器等)执行,该控制器可以将控制信息传送到LSP的节点(例如,入口和传输节点) 并且从LSP的节点(例如,入口和传输节点)传送控制信息。

  示例方法的操作示例

  现在参考图10A-图10E的示例网络1000描述示出示例方法200 的操作的示例。首先,假设从R1到R4配置了两个RSVP LSP;一个经由R2和R3(即,R1-R2-R3-R4)发信号通知,另一个经由R5和 R6(即,R1-R5-R6-R4)发信号通知。如图10A所示,假设使用R2 和R3作为传输路由器的LSP正在用于将业务从入口节点R1转发到出口节点R4。进一步假设R3节点将需要进行维护并且其管理员或运营方配置维护通知消息(例如,图3的消息300,诸如RSVP过载)。参考图10B,这导致维护通知消息(例如,RSVP路径错误“过载”) 被发送到R3的(例如,上游)邻居(和/或控制器,未示出),以指示R3将要离开以进行维护(回顾,例如,图2的框215)。

  接下来参考图10C,假设维护通知消息(或其内容)将经由R2 到达入口节点R1。现在,R1和R2都知道节点R3将脱机以进行维护。响应于接收到维护通知消息(例如,RSVP路径错误类型“过载”),入口节点R1检查备选可用路径(回顾,例如,图2的决策230,是和框235)。如果有备选路径可用(回顾,例如,决策230,是),则入口节点R1将LSP业务切换(例如,以MBB方式)到另一可用的LSP(回顾,例如,图2的框255)。如果它没有一个,则节点R1 可以为LSP实例创建到目的地的另一路径并且将业务平滑地切换(例如,以MBB方式)到新的LSP实例(回顾,例如,图2的框245和 250)。然而,如图10D所示,在第一定时器的到期T1*之前,LSP业务被切换到其他可用LSP,这经由传输节点R5和R6将业务从入口节点R1转发到出口节点R4。当自动带宽(“BW”)LSP(当前由加利福尼亚州桑尼维尔的瞻博网络公司的JUNOS操作系统支持的当前MPLS应用)进行BW更改并且发起新实例以经由MBB切换到新实例时,在自动带宽(“BW”)LSP中使用的方法可以用于切换。

  如果被调度以进行维护的节点(即,R3)配置有RSVP过载定时器和“overload-kick-in-timer”,则路径错误“过载”可以具有新的类型长度值(“TLV”)以携带这些定时器。例如,第一(例如,启动) 定时器向入口节点R1通知它仍然可以继续使用R3,但是有x秒(如第一定时器值中所定义的)可以找到用于切换到的备选路径(例如,以MBB方式)。RSVP过载比特也可以经由已有的信令机制被携带到控制器(例如,这对LSP转发没有帮助)。因此,控制器可以被集成以使用维护通知消息中的信息来提供新的LSP/路径,并且从而通过向入口路由器R1发送适当的指令来实现(例如,MBB)切换(回顾,例如,图2的245和250,其可以由LSP的入口节点和/或控制器执行)。

  入口节点R1不需要拆除LSP。相反,在接收到RSVP过载路径错误消息之后(并且在启动定时器的到期之后),它将LSP标记为在过载定时器到期期间不可用(回顾,例如,图2的框260或265,以及框275和280)。由于RSVP过载路径错误从被调度以进行维护的节点R3逐跳遍历到入口节点R1,所以路径中的每个节点都会记录 RSVP过载路径错误和过载定时器,并且了解支持LSP的传输节点 R3将在维护中。因此,可以放宽RSVP Hellos的软状态(回顾,例如,图2的框220),但是路径内的入口和传输节点将LSP维护在UP状态。

  仍然参考图10D,入口节点R1还利用overload-kick-in-timer(T1) 用于从已有的LSP(例如,经由R2和R3)到另一(例如,等价多路径(“ECMP”))LSP(例如,经由R5和R6)的业务的MBB转移 (回顾,例如,图2的框255)。如果没有建立备选路径(回顾,例如,图2的决策240,否),则入口节点R1可以发信号通知新路径,并且然后开始利用新路径用于业务转发目的(回顾,例如,图2的框 245和250)。

  参考图10E,在过载定时器到期(如T2*所示)之后,假设发信号通知其被调度以进行维护的节点R3已经完成维护并且将LSP的 MPLS标签推送回转发信息库(“FIB”)。不需要新的路径消息来向入口节点R1通知该维护活动已完成。相反,入口节点R1依赖于过载定时器的到期。在发生这种情况时,原始LSP被标记为可用于业务转发目的。将业务转移回原始LSP也可以以MBB方式实现(回顾,例如,图2的框275和280)。

  改进、扩展和备选方案

  如上所述,尽管示例方法200可以在LSP的一个或多个节点上实现,但是该示例方法可以与控制器集成以用于基于接收的节点被被调度以进行维护的输入进行供应。实际上,该消息不需要来自被调度以进行维护的传输节点。

  一些网络拓扑和配置可以包括旁路LSP(例如,其中正在维护的 RSVP接口具有通过它的旁路LSP)。在这样的拓扑/配置中,应当向旁路LSP的入口点通知在rsvp-overload-kick-in定时器的到期之后旁路LSP将不再可用,直到rsvp-overload定时器的到期为止。作为响应,入口点将因此使用另一旁路LSP或者如果可用则创建新的旁路LSP,并且利用新的旁路LSP标签对分组转发引擎(“PFE”)进行编程。以这种方式,旁路LSP也被与本说明书相一致的示例实施例所覆盖。

  关于第一(启动)定时器值,300秒(5分钟)的值应当是足以允许入口节点在必要时计算机处理新LSP的时间。

  关于第二(过载)定时器值,即使入口路由器在传输路由器仍然脱机时切换回原始LSP,也可以使用自PING来确认原始LSP的传输路由器已恢复联机。

  尽管所描述实施例中的一些涉及传输路由器断开,但是与本说明书相一致的示例实施例可以在来自出口节点的线卡或接口进行维护的情况下使用。在这种情况下,可能会存在经由另一线卡或接口可用的备选路径。例如,有可能只有出口节点的一个柔性PIC(即,物理接口卡)集中器(FPC)将被脱机以进行维护,在这种情况下,可能还有其他可行路径可用于到达目的地(例如,经由出口节点中的另一 FPC)。

  结论

  与本说明书相一致的示例实施例可以具有以下优点中的一个或多个。首先,这些示例实施例解决了在其传输节点进行维护并且使用传统的IGP过载方法(其非常昂贵)时内容客户的挑战。第二,入口节点可以以MBB方式将LSP切换到新实例,从而提供业务从一个LSP 到另一LSP的平滑过渡。第三,在接收到过载路径错误之后,不需要拆除LSP(这避免了对网络范围的SPF计算的需要)。相反,入口节点只是不使用原始LSP进行转发。RSVP软状态刷新可以由对等节点通过放宽过载定时器的任何Hello交换来维护。第四,不需要使用IGP过载,并且LSP业务可以平滑转移。如从前述应当理解的,与本说明书相一致的示例实施例提供了用于向入口RSVP节点通知任何传输节点维护活动的机制,从而使入口节点能够以MBB方式平滑地转移业务,同时避免了资源的高利用率(诸如用于SPF计算)。相比之下,OSPF/ISIS过载的传统方法会导致网络范围的干扰,其不能以MBB 方式实现更快的业务转移。

  与本说明书相一致的示例实施例可以被部署在LSP的一个或多个路由器(例如,传输和入口节点)中和/或控制器中。

《发信号通知支持标签交换路径(LSP)的节点或节点组件的计划的脱机以及使用这种信令.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)