首页> 中国专利> 用于在失效转移之后或在软件升级期间透明恢复路由状态的路由系统和方法

用于在失效转移之后或在软件升级期间透明恢复路由状态的路由系统和方法

摘要

本发明公开了用于在支持宽限重启和状态切换的系统中,有效地使路由状态在失效转移之后或在软件升级期间能够被恢复的方法和装置。根据本发明的一个方面,用于重启具有多个路由器并且与被配置为支持宽限重启的第一对等方和第二对等方通信的网络设备的方法包括相对第一对等方执行宽限重启。相对第二对等方执行对等方透明失效转移。宽限重启和对等方透明失效转移是响应于与网络设备相关联的故障而被执行的。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-04-29

    授权

    授权

  • 2007-11-28

    实质审查的生效

    实质审查的生效

  • 2007-10-03

    公开

    公开

说明书

技术领域

本发明一般地涉及网络系统。更具体而言,本发明涉及使不支持宽限重启的路由器能够基本透明地在正被重启并且还执行宽限重启的路由器上恢复其关联状态。

背景技术

对数据通信服务的需求正在以爆炸性速率增长。增长的需求中的大部分归因于更多家用和商业计算机用户连接到因特网这一事实。此外,由因特网承载的流量的类型正在从较低带宽应用朝着高带宽应用(包括语音流量和视频流量)转移。

随着对数据通信服务的需求增长,对高可用性网络的使用越来越多。为此,很多网络是这样建立的,即使得网络的组件(例如路由器)即使在必须被重置或重启时,也能够继续提供服务。组件一般可能在遭遇故障(例如控制模块故障)或执行软件升级时被重启。在某些情况下,可以使用宽限重启,以基本上在使组件能够继续工作的同时重启组件。

网络一般包括彼此通信的多个组件或对等方。图1是网络的图形表示。网络100包括利用基于传输控制协议(TCP)的边界网关协议(BGP)通过连接108通信的对等方104,例如路由器或主机。通常,可以使用连接108建立会话,以使一个对等方104可以与另一对等方104交换路由信息,例如对等方104a可以与对等方104b建立会话。当对等方104a遭遇故障时,连接108a、108c和108d明显停用,并且对等方104b、104d、104e可能不再完全信任从对等方104a接收的信息。

当所有对等方104都支持BGP宽限重启时,可以实现宽限重启,以使流量能够继续通过对等方104a被路由,即使在对等方104a遭遇BGP故障并且正在执行重启时也是如此。本领域技术人员将意识到,宽限重启使数据转发能够继续,从而使分组可以在对等方104a上的BGP正被重启时通过对等方104a被处理和转发,即,即使在对等方104a负责识别最佳路径的那一部分失效时也能如此。例如,当对等方104a失效时,宽限重启使对等方104b、104d、104e能够等待对等方104a重回线上,这是因为虽然对等方104a已经停用,但是在某一时间量之后,对等方104a将返回线上。对等方104a有效地请求对等方104b、104d、104e不删除来自对等方104a的任何信息。

在宽限重启期间,重启的对等方(例如对等方104a)可以设置重启位来指示其已经重启,并且可以设置转发状态位来指示其已被保持或以其他方式维持了其转发状态。转发状态的保持使对等方104a能够在对等方104b、104d、104e可以维持它们通过对等方104a的路由的同时重启。换言之,宽限重启是一种相当透明的过程,其可以使对等方104b、104d、104e仅在分组转发方面对网络100的其余部分有效地隐藏对等方104a的重启。

如上所述,对等方104可以是路由器。参考图2,将描述路由器的配置。第一路由器202可以通过接口210(例如连接)与第二路由器206通信。路由器202具有活动路由处理器214和备份路由处理器218。活动路由处理器214或活动路由切换处理器控制和运行路由协议。备份路由处理器218或备份路由切换处理器被配置为在活动路由处理器214发生故障停工时接管活动路由处理器214的功能。

活动路由处理器214和备份路由处理器218都包括BGP发言人222和TCP发言人226,如本领域技术人员将意识到的。活动路由处理器214和备份路由处理器218基本上通过总线230连接到线路卡232。线路卡232被配置为允许诸如接口210之类的接口实现路由器202和其它路由器(例如路由器206)之间的通信,所述其它路由器可以包括与路由器202相同的内部组件,如图所示。

本领域技术人员将理解,虽然以上对典型路由器202的描述提到分离的活动路由处理器和备份路由处理器,但是路由器202也可以在同一物理路由处理器上包括BGP与TCP的活动栈和TCP与BGP的备份栈。

如果路由器202需要重启并且路由器202、206都具有支持宽限重启的能力,则可能发生宽限重启,从而使路由器202和路由器206之间的分组转发可以在发生宽限重启时在本质上保持不受影响。在路由器202的宽限重启期间,路由器202将通知路由器206在删除其来自路由器202的关联路由并允许继续分组转发之前等待一段时间。如果路由器202在这段时间内回到线上,并且如果与路由器206相关联的路由被再次接收,则可以有效地使针对该关联前缀的转发不受影响。

为了使路由器202和路由器206支持宽限重启,路由器202和路由器206都必须支持宽限重启需要的协议扩展。就是说,路由器202和路由器206都必须被升级为具有支持宽限重启的软件。当路由器202和路由器206由同一服务提供商拥有时,确保路由器202、206上的相关软件具有相同版本可能相对容易。即使在此情况下,升级也可能发生在不同时刻。但是,例如当路由器202被服务提供商拥有,而路由器206被客户拥有时,则可能难以确保路由器202、206具有相关版本的软件。在某些情况下,路由器206中的相关软件可能无法在与路由器202中的相关软件相同的时间帧中被升级。此外,在其它情况下,可能无法升级路由器206中的相关软件。还可能存在服务提供商不希望提供关于内部故障的任何信息的情况。

某些网络使用全状态切换解决方案,其中在路由器的活动路由处理器和备份路由处理器上的所有TCP和BGP状态在所有时刻都基本同步。状态切换一般允许备份路由处理器在保持活动路由处理器建立的连接的同时接管失效的活动路由处理器的控制,这是失效转移(failover)方法的一个示例。失效转移一般是这样一种工作模式,其中当活动子组件变得不可用时,由备份子组件承担组件的功能。通常,维持活动路由处理器建立的连接至少部分通过对维持从活动路由处理器到备份路由处理器的功能和连接所需的数据设置检查点(checkpoint)来实现。虽然将状态切换解决方案用于与遭遇故障的路由器相关联的所有对等方或路由器在宽限重启没有得到所有与失效的路由器相关联的对等方的支持时可能有用,但是这样的解决方案不太好扩展,并且与该解决方案相关联的成本和性能特性通常无法接受。

因此,需要一种在不是所有与失效的路由器相关联的对等方都支持宽限重启时允许网络中失效的路由器在重启期间有效地维持其功能的方法和装置。就是说,需要一种在包括不一定支持宽限重启的对等方的网络内允许以相对较高的性能级别执行失效转移的系统。

发明内容

本发明涉及用于在支持宽限重启和状态切换的系统中,有效地使路由状态在失效转移之后或在软件升级期间能够被恢复的系统。根据本发明的一个方面,用于重启具有多个路由器并且与被配置为支持宽限重启的第一对等方和第二对等方通信的网络设备的方法包括相对第一对等方执行宽限重启。相对第二对等方执行对等方透明失效转移。宽限重启和对等方透明失效转移是响应于与网络设备相关联的故障而被执行的。在一个实施例中,当第一路由处理器启动时,该方法还包括将网络设备和第二对等方之间的会话标识为透明失效转移会话。

通常,有效的路由系统失效转移过程要求网络中参与的对等方具有相同的软件能力,即支持宽限重启的软件的版本。由于服务提供商一般不能对客户网络进行控制,因此服务提供商无法同步软件升级或强迫软件升级。通过允许相对基本受控于服务提供商的对等方执行宽限重启,并且通过允许相对不受控于服务提供商的对等方执行其它透明失效转移过程(例如状态切换),可以相对有效地执行失效转移过程。

根据本发明另一方面,当网络设备被重置时恢复与网络设备相关联的路由状态包括相对第一对等方执行宽限重启,并相对第二对等方执行透明失效转移。对等方透明失效转移包括处理在多个路由处理器中的备份路由处理器上维护的事件队列,以基本重建路由状态。宽限重启和对等方透明失效转移都是在与网络设备相关联的连接被重置时被执行的。

本发明的这些和其它优点将在阅读了以下详细描述并研读了各个附图之后变得明显。

附图说明

通过结合附图参考以下描述,可以最好地理解本发明,在附图中:

图1是网络的图形表示。

图2是多个路由器的图形表示。

图3是根据本发明实施例被配置为既支持宽限重启又支持状态切换的路由器的图形表示。

图4是根据本发明实施例被配置为执行宽限重启和状态切换两者的路由器的图形表示。

图5是示出与根据本发明实施例的一种用于一旦发生故障就有效地重启路由器的方法相关联的步骤的流程图。

图6是示出与根据本发明实施例的一种用于同步路由器中的路由处理器的方法相关联的步骤的流程图。

图7是适合于实现本发明的一个实施例的网络设备的图形表示。

具体实施方式

很多网络包括不支持宽限重启或不具有支持宽限重启的当前软件版本的对等方。结果,可能无法相对与不得不被重启或正在经受连接重置的路由器相关联的基本所有对等方执行宽限重启。当网络既包括支持宽限重启的对等方也包括不支持宽限重启的对等方时,可以在关联路由器需要重启时使用全状态切换解决方案。全状态切换解决方案的使用一般不是一种可行选项,因为全状态切换解决方案的性能一般很差。

在网络内,通过允许支持宽限重启的对等方使用基于宽限重启的失效转移重启并且通过允许不支持宽限重启的对等方经历诸如状态切换之类的透明失效转移,则可以使宽限重启对等方在其它对等方可能使用状态切换时获得宽限重启的益处。通常,宽限重启可被用于核心侧对等方,而客户侧对等方使用状态切换。允许核心侧对等方使用基于宽限重启的失效转移并允许客户侧对等方使用基于状态切换的失效转移的系统基本上消除了使服务提供商升级客户侧对等方以运行与核心侧对等方使用的软件版本相同的支持宽限重启的软件版本的需求。结果,即使在客户侧对等方经历状态切换时,支持宽限重启的对等方也可以享有宽限重启的益处。

图3是被配置为既支持宽限重启也支持状态切换的路由器的图形表示。当路由器302的活动路由处理器306启动时,边界网关协议(BGP)一般标记与支持状态切换的对等方(例如对等方314)相关联的会话。在一个实施例中,标记这样的会话一般需要将与当前未被配置为支持宽限重启的对等方之间的基本所有会话都标记为“状态切换”或“对等方透明重启”会话。对于所有未被标记为状态切换会话的与路由器302相关联的会话,BGP通常将协商宽限重启扩展并对基于宽限重启的高可用性解决方案提供支持。

对于状态切换会话,当备份路由处理器310有效地启动,并且传输控制协议(TCP)已经创建了与活动路由处理器306上的状态切换会话相对应的状态322时,TCP通知BGP初始化备份路由处理器310上的会话状态322。在一个实施例中,BGP将基本只在备份路由处理器310上创建状态322的最小集合,并将状态切换会话视为“仅接收”会话。

在对等方302的活动路由处理器306上的BGP一般将从对等方314接收BGP消息并对BGP消息进行处理。例如,在活动路由处理器306上的BGP可以从对等方314接收打开消息,并进而解析该打开消息。备份路由处理器310上的BGP也将接收打开消息,但是通常不将任何消息发送到对等方314。

参考图4,将描述根据本发明实施例被配置为有效地执行宽限重启和状态切换两者的路由器。包括活动路由处理器408和备份路由处理器412的路由器404与宽限重启对等方416或支持宽限重启的对等方以及状态切换对等方420或不支持宽限重启的对等方通信。路由器404和宽限重启对等方416之间的通信可以由链路424支持,而路由器404和状态切换对等方420之间的通信可以由链路428支持。在一个实施例中,宽限重启对等方416可以是核心侧对等方,而状态切换对等方420通常是客户侧对等方,例如客户侧BGP对等方。

当路由器404失效或由于其它原因需要重启时(例如由于软件升级),宽限重启对等方416和路由器404之间的会话可以使用宽限重启来重新建立。状态切换对等方420和路由器404之间的会话可以使用状态切换过程来有效地维持,该状态切换过程使一组状态(例如路由状态)被基本恢复。状态切换过程可以包括从备份路由处理器412向状态切换对等方420重发状态更新。在活动路由处理器408失效时,活动路由处理器408可以利用使备份路由处理器412能够接管活动路由处理器408的功能的连接和管理信息来更新备份路由处理器412。一旦失效的路由处理器重新启动,即一旦活动路由处理器408重新启动,失效的路由处理器则变为新的备份路由处理器,而原备份路由处理器412变为新的活动路由处理器。随后可以发生同步过程,其中新的活动路由处理器使信息与新的备份路由处理器同步。

一般而言,路由器404被配置为相对于宽限重启对等方416执行宽限重启,而相对于状态切换对等方420执行状态切换过程。应该意识到,状态切换对等方420一般是不支持宽限重启或被配置为禁止宽限重启的任意对等方。BGP在备份路由处理器412上创建(例如复制或镜像映出)与路由器404和状态切换对等方420之间的会话相关联的基本最少的状态。复制或镜像映出的状态(例如路由状态)可被用来在响应于失效转移使用状态切换过程时重建路由器404和状态切换对等方420之间的会话。

与响应于故障或有计划的停工相关联的步骤可以有各种变化。图5是示出根据本发明实施例的与用于一旦发生故障就有效地重启路由器的方法相关联的步骤的流程图。换言之,图5是示出与既使用宽限重启也使用透明失效转移(例如状态切换)的失效转移过程相关联的步骤的流程图。响应于故障的过程502开始于步骤506,其中事件队列被处理,以重新创建状态。事件队列被维护在发生故障的路由器的备份路由处理器上,并被用于在活动路由处理器上的状态不再可用时重新创建与活动路由处理器相关联的状态。

在一个实施例中,事件队列被维护在备份路由处理器上,并基本上连续接收来自活动路由处理器的事件。事件被用来重新创建与活动路由处理器相关联的状态。当发生切换时,备份路由处理器接管并首先处理事件队列中的基本所有事件,从而使备份路由处理器以最快速度运行,即使备份路由处理器与故障发生前活动路由处理器的状态同步。

在处理了事件队列之后,传输层(TCP)在步骤510发出BGP标记为尚未被确认的分组。换言之,传输层将发出需要被发出的未决分组(outstanding packets)。本领域技术人员将意识到,未决分组是传输窗口中由于BGP将一个BGP协议数据链路标记为需要设置检查点的数据链路而不得不设置检查点的分组或数据。

一旦传输层发出BGP标记为尚未确认的分组,保活分组(Ka)就在步骤514被发送到状态切换对等方。在步骤518中,与宽限重启对等方的会话被利用备份路由处理器来重建。与重建与宽限重启对等方的会话相关联的步骤一般是本领域技术人员公知的。

在重建了与宽限重启对等方的会话并根据宽限重启程序从宽限重启对等方有效地接收了数据之后,路由器在步骤520中重新运行最优路径算法来从可用于BGP的路径中找到最优路径。然后,在步骤522中,更新被重新发送到状态切换对等方和宽限重启对等方。更新可能包括与在步骤520中确定的通过网络的新最优路径相关联的更新。

在步骤522中,浏览“已发送前缀”数据库,并且如果需要,则向状态切换对等方发出撤销指示(withdraw)。“已发送前缀”数据库在备份路由处理器上被维护并包含了与活动路由器已经发送的更新分组相关联的前缀,检查该“已发送前缀”数据库,以识别基本上任何错过的前缀,即在切换之后尚未发出其更新的前缀。如果确定某个特定前缀被错过,则指示在切换前有一个特定更新分组尚未被成功发送。因此,由备份路由处理器发送撤销指示。

在浏览了“已发送前缀”数据库之后,备份路由处理器和活动路由处理器在步骤530中被同步。同步路由处理器包括使当前备份路由处理器有效地成为新的活动路由处理器,同时使当前活动路由处理器有效地成为新的备份路由处理器。与同步路由处理器的方法相关联的步骤将参考图6来描述。在当前备份路由处理器和当前活动路由处理器被同步之后,响应于故障或停工的过程结束。

图6是示出根据本发明实施例,与在备份路由处理器有效地“启动”或以其他方式被激活为新的活动路由处理器时同步路由器中的路由处理器的方法相关联的步骤的流程图。同步路由器上的路由处理器的过程602开始于步骤604,其中从状态切换对等方接收连接请求。一旦接受了连接请求,就在步骤608中,在活动路由处理器(即新的活动路由处理器)上创建相应的连接。然后在步骤610中,在备份路由处理器上创建连接。一般而言,在备份路由处理器上创建的连接与在活动路由处理器上创建的连接基本相同。

当在备份路由处理器上创建了连接之后,在步骤618中,在活动路由处理器和备份路由处理器两者上建立TCP和BGP中的数据结构。在建立了适当的数据结构之后,分组在步骤622中被接收到活动路由处理器中,并且在步骤626中,在备份路由处理器上镜像映出接收的分组。一旦在备份路由处理器上镜像映出了接收的分组,则在步骤630中,活动路由处理器创建与分组相关联的基本所有状态。然后备份路由处理器在步骤634中创建基本最少的必需状态。由备份路由处理器创建的状态一般是由活动路由处理器创建的状态的子集。在处理了接收自对等方的协议更新之后,活动路由处理器可以生成将发送到状态切换对等方的更新。在发出更新之前,在步骤635中,活动路由处理器一般将对作为这些更新一部分的前缀设置检查点,以在备份路由处理器上形成已发送前缀数据库。在活动路由处理器发生故障时,基本最少必需状态的存在使备份路由处理器能被用来代替活动路由处理器维护连接。一旦在备份路由处理器上创建了基本最少的必需状态,并且在备份路由处理器上形成了已发送前缀路由器,同步过程则结束。

图7示出适合用于本发明实施例的网络设备。在一个实施例中,网络设备1000是可以用硬件、软件或其任意组合实现的可编程机器。处理器1002执行存储在程序存储器中的代码。程序存储器1004是计算机可读存储介质的一个示例。程序存储器1004可以是易失性存储器。存储同样代码的另一种形式的计算机可读存储介质将是某种类型的非易失性存储设备,例如软盘、CD-ROM、DVD-ROM、硬盘、闪存等等。在网络上运载代码的载波是计算机可读存储介质的另一示例。

网络设备1000包括分组存储器1008,并且经由多个网络接口1006接口到物理介质。例如,网络接口1006之一可以耦合到光纤,并且可以并入适当的物理和链路层功能。网络接口的其它示例包括以太网接口、DSL接口、千兆位以太网接口、10千兆位以太网接口等等。当分组被网络设备1000接收、处理和转发时,它们可以被存储在分组存储器1008中。网络设备1000实现了上述所有网络协议及其扩展以及由本发明提供的特征。

虽然仅描述了本发明的一些实施例,但是应该理解,本发明可被体现为很多其它特定形式,而不会脱离本发明的精神或范围。例如,虽然状态切换被描述为在会话与不支持宽限重启的对等方相关联时使用,但是状态切换一般可以相对于基本上任何合适的对等方来实现。这样的对等方包括支持宽限重启的对等方,即状态切换可以用于支持宽限重启的对等方。

状态切换是对等方透明失效转移的一个示例,其可被用来使路由器能够与不支持宽限重启的对等方重建会话。应该意识到,代替状态切换,基本上任何合适的对等方透明失效转移都可被用来在与对等方通信的路由器需要重启时与该对等方重建会话。

虽然路由器可以包括分离的活动路由处理器和备份路由处理器,但是路由器可能不一定包括分离的活动路由处理器和备份路由处理器。例如,路由器可以改为在同一物理路由处理器上包括BGP和TCP的活动栈以及TCP和BGP的备份栈。

一般而言,与本发明的各种方法和过程相关联的步骤可能有极大不同。可以在不脱离本发明的精神或范围的情况下,对步骤进行变更、重排序、删除和添加。因此,本示例将被看作示例性的,而非限制性的,并且本发明不局限于这里给出的细节,而是可以在所附权利要求书的范围内被修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号