用于同步的路由系统与方法

文档序号:6422413阅读:123来源:国知局
专利名称:用于同步的路由系统与方法
技术领域
本发明一般地涉及路由系统,特别是路由系统的失效转移(failover),更具体地说,涉及失效转移之后的对等路由系统的再同步。
背景技术
路由器和路由系统提供分组交换网络的节点之间的分组的路由。为了增强分组交换网络的可靠性,在网络节点处操作的路由系统可以包括冗余路由设备。例如,路由系统可以包括可以正常执行或管理分组转发的主要或活动路由处理器,以及在主要路由处理器失效时接管主要路由处理器的辅助或备用路由处理器。然而,从主要路由处理器到辅助路由处理器的转接(即,失效转移)常常是破坏性事件。在失效转移时,辅助路由处理器应当反映主要路由处理器的当前状态。许多传统路由系统使用活动复制技术来用于失效过程。在这些系统中,状态信息被不断保存(即,被设置检查点)到备用处理器。利用活动复制,可以快速从失效中恢复,但是在正常的执行中存在大的开销。活动复制使用由两个处理器资源(例如,两个处理器和存储器)构成的冗余结构。活动复制的一个问题是,由于在系统运行时不断执行复制,所以处理资源的使用不经济。
BGP-4(边界网关协议)路由协议是用于因特网路由的主要协议之一,并且是基于TCP传输的增值协议。BGP的一个版本由Y.Rekhter和T.Li编辑的日期为1995年3月名为“A Border Gateway Protocol 4(BGP-4)”的网络工作组的请求注解(RFC)1771(被称作RFC 1771)所描述,而其它版本在RFC 1771后续的更新和修订中进行了描述。BGP路由信息的动态交换在E.Chen编辑的日期为2000年9月名为“Route Refresh Capabilityfor BGP-4”的网络工作组的RFC 2918中描述。TCP传输协议本身相当复杂的事实,以及通常包含的BGP协议和纯数据量的复杂性,使得难以使用主要和备用路由处理器来支持高度可靠的BGP路由系统,这是因为在失效转移之后,难以使BGP路由器与BGP对等路由器同步,并且难以维持TCP状态。传统系统或者改变协议或者使用大量的检查点操作。例如,一些传统方法基本对所有状态数据(TCP状态和BGP协议状态两者)进行检查点操作。这种大量的检查点操作消耗了过多的系统资源,从而降低了系统性能。
因此,通常需要一种改进的路由系统与路由方法。因此,还需要一种减少在正常路由操作期间所需的检查点操作量的路由系统与方法。还需要一种在主要路由处理器的失效转移之后与对等路由系统再同步的路由系统与方法。还需要一种支持边界网关协议(BGP)并在主要路由处理器的失效转移之后与对等路由系统再同步而无需过多检查点操作的路由系统与方法。还需要一种在主要路由处理器的失效转移之后与对等路由系统再同步而无需要求对等系统更新它们的软件的路由系统与方法。

发明内容
在一个实施例中,本发明提供了一种用于在边界网关协议(BGP)路由系统的主要处理器失效之后使BGP路由系统与对等BGP路由系统同步的方法。在该实施例中,主要处理器使用初始路由数据库来执行路由操作,并且维护可由备用路由处理器访问的前缀表,该前缀表列出了初始路由数据库的路由的前缀。在主要路由处理器失效后,备用路由处理器可以使用该前缀表。在检测到主要路由处理器失效后由备用处理器执行的方法包括向BGP对等路由系统发送BGP路由刷新消息。BGP路由刷新消息请求由BGP对等路由系统所支持的路由。在该实施例中,该方法还包括响应于BGP路由刷新消息而从BGP对等路由系统接收路由,以及从接收自BGP对等路由系统的路由中产生备用(即,再生)路由数据库。备用路由数据库中的路由的前缀与前缀表中的前缀相比较,并且对于具有在前缀表中列出而没有在备用路由数据库中标识的前缀的路由,将BGP路由撤销消息发送到对等路由系统。
在另一个实施例中,本发明提供了一种路由系统,该路由系统包括主要路由处理器、备用路由处理器以及多个线路接口,以根据路由处理器管理的路由数据库来路由通信。响应于检测到主要路由处理器的失效,备用路由处理器从接收自对等路由系统的路由中产生备用路由数据库,比较备用路由数据库中的路由的前缀和前缀表中的前缀,以及对于具有在前缀表中列出而没有在备用路由数据库中标识的前缀的路由,发送路由撤销消息到对等路由系统。在检测到主要路由处理器的失效之后,备用路由处理器被指示执行失效转移过程以使能由备用处理器所执行的路由管理。失效转移过程包括从对等路由系统请求路由。通过去除冗余路由,备用路由处理器可以产生备用路由数据库,其中去除冗余路由的步骤是通过执行最优路径算法以消除从对等路由系统接收的冗余路由而进行的。
当从对等路由系统之一接收到用于指示由该对等路由系统所处理的新路由的路由更新消息时,新路由会被添加到当前的路由数据库中。作为检查点操作的一部分,当新路由的前缀还没有列入前缀表中时,可以用该前缀更新前缀表。


权利要求涉及了本发明的多种实施例。然而,当结合附图考虑时,详细的说明提供了对本发明更全面的理解,整个附图中相似的标号指代类似的项目图1图示了根据本发明实施例的路由系统的网络;图2是根据本发明实施例的路由数据库的示例;图3是根据本发明实施例的路由系统的功能框图;图4是根据本发明实施例的前缀表示例;图5是根据本发明实施例的路由系统同步过程的流程图;以及图6是根据本发明实施例的恢复过程的流程图。
具体实施例方式
下面的说明和附图举例说明了足以使本领域技术人员进行实施的本发明的具体实施例。其它实施例可以加入结构、逻辑、电气、过程以及其它改变。示例仅仅代表了可能的变化形式。除非明确要求,否则各个组件和功能都是可选的,并且操作顺序可以改变。一些实施例的部分或特征可以被包括在其它实施例中或者代替其它实施例中的部分或特征。本发明的范围覆盖权利要求的全部范围以及所有可得到的等同形式。
在多种实施例中,本发明提供了一种改进的路由系统和路由方法。在实施例中,本发明还提供了一种用于减少在正常路由操作期间所需的检查点操作量的路由系统和方法。在其它实施例中,本发明提供了一种用于在主要路由处理器失效转移之后与对等路由系统再同步的路由系统与方法。在其它实施例中,本发明还提供了一种支持边界网关协议(BGP)并在主要路由处理器的失效转移之后与对等路由系统再同步而无需过多检查点操作的路由系统与方法。在其它实施例中,本发明还提供了一种在主要路由处理器的失效转移之后与对等路由系统再同步而无需要求对等系统更新它们的软件的路由系统与方法。在多种实施例中,本发明可以支持用于路由IPv4协议分组、IPv6协议分组、无连接网络服务(CLNS)分组以及根据其它协议配置的分组的BGP。
本发明的实施例通过在正常操作期间,对路由前缀表中的路由前缀进行检查点操作,提供了透明路由系统失效转移。当新的路由被添加到路由数据库中时,路由前缀表在前缀表中没有该新路由的前缀时被更新。在主要路由处理器失效之后,通过使用该前缀表来同步与对等路由系统的路由。在检测到失效之后,备用路由处理器响应于该失效而从对等路由系统请求路由,并且从接收自对等路由系统的路由中生成备用路由数据库。备用路由处理器随后为备用路由数据库中的路由向对等路由系统发送路由通告消息。备用路由处理器还比较备用路由数据库中的路由前缀和前缀表中的前缀,并且对于具有在前缀表中列出而没有在备用路由数据库中标识出的前缀的路由,发送路由撤销消息到对等路由系统。
在本发明的一些实施例中,可以支持边界网关协议(BGP)。BGP的一个例子由Y.Rekhter和T.Li编辑的日期为1995年3月名为“A BorderGateway Protocol 4(BGP-4)”的网络工作组的请求注解1771(被称作RFC 1771)所描述。RFC 1771的这个版本以及任意后续版本和修订版在这里作为参考而被引用。
图1图示了根据本发明实施例的路由系统的网络。网络100包括通过链路104与对等路由系统通信的多个路由系统(RS)102。对等路由系统指的是具体路由系统可直接访问而无需通过中间路由系统来请求路由的路由系统。例如,路由系统106的对等路由系统可以包括路由系统108、110、112和114。对等路由系统还包括下述路由系统,这些路由系统可能没有通过链路直接耦合,但是可以象它们被直接耦合那样进行通信。图1可以仅仅示出网络100的一小部分,网络100可以包括成千上万或更多的路由系统102。链路104可以包括用于在路由系统之间提供分组数据通信的任何类型通信链路。链路104可以包括任何类型的通信链路,包括无线链路、光链路、有线链路和这里没有列举的其它链路。
在一个实施例中,至少一些路由系统102可以根据BGP执行分组转发。根据该实施例,路由表最初在节点(例如,系统102)之间被交换,并且可以由每个节点根据其本地存储的路由数据库来执行路由。在节点之间传送增量更新以更新它们的路由数据库。每个路由系统可以在连接持续期间保持包括来自其对等系统的当前路由信息的路由数据库。可以周期性发送保活(keep-alive)消息以帮助确保连接的活性。
图2是根据本发明实施例的路由数据库的部分示例。可以由路由系统从接收自对等节点的路由信息中生成路由数据库200。接收自对等节点的路由信息可以包括路由表或者可以是路由更新消息的形式。如这里所使用的,术语“路由数据库”可以包括用于路由的任何数据结构。在一些实施例中,包括BGP的实施例,术语“路由数据库”可以指代路由信息库(RIB)。在BGP实施例中,产生备用本地RIB,并且备用本地RIB被用于产生备用转发信息库(FIB),其中数据可以被下载到线路卡。
路由数据库200可以包括前缀栏202,其可以包括诸如IP地址前缀的前缀。一个示例IP地址前缀是“192.168.42/24”,其中“/24”可以指代前缀中的多个位。该示例IP前缀可以是IP地址的一部分。该示例前缀192.168.42/23将是23位前缀,其自身包括192.168.42/24和192.168.43/24以及所有更长的前缀(即,192.168.42.*/[25-32]和192.168.43.*/[25-32])。192.168.42/24的另一种写法是利用指示有效位的“网络掩码”。如果以上述方式表示的话,将是192.168.42.0和255.255.255.0,其中第一点分四元组是地址,而第二点分四元组是掩码。对于IPv4地址,可以具有多达232个前缀。栏202中的等同前缀可以与用于路由数据的不只一个路由或路径相关联。栏204标识特定路由的下一跳地址。下一跳地址可以是应当被用作去往更新消息中所标识的目的地的下一跳的边界路由器的IP地址。
路由数据库200中的条目还可以包括栏206,其可以标识每个路由的自治系统(AS)路径属性。在支持BGP-4的一个实施例中,可以由单个IP前缀表示一组可到达的目的地。在栏202中具有相同前缀的路由可以具有栏206中所标识的不同AS路径。通过具有栏206中标识的不同AS路径或者在栏208中标识的不同路径属性,路由数据库200可以被彼此区分。举例来说,路径属性可以标识已经发送了特定路由的对等系统。在一些实施例中(例如,一些非BGP实施例)路由数据库200可以包括比所示出的用于每个路由的栏数更多或更少的栏数。
诸如路由系统102(图1)的路由系统可以从路由信息(例如,更新消息)中生成路由数据库200,所述路由信息可能接收自对等路由系统。更新消息可以标识由对等路由系统所支持的路由,并且可以包括前缀和AS路径。更新消息还可以标识对等路由系统不再支持的路由。在这种情况下,可以在接收自对等系统的更新消息的撤销路由字段中指示路由。
在一个实施例中,更新消息可以用于在对等路由系统之间传输路由信息。更新分组中的信息可以用于构建描述多个自治系统之间关系的图表。通过提供规则,路由信息循环,并且一些其它的异常可以被检测到并被从AS间路由中去除。在该实施例中,更新消息可以告知对等系统一个或多个可行路由,或者从服务中撤销多个不可行的路由。更新消息还可以同时告知一个或多个可行路由并从服务撤销多个不可行路由。更新消息可以包括固定大小的头部,并且可选地可包括其它字段,例如不可行路由长度字段、撤销路由字段、总路径属性长度字段、路径属性字段和网络层能到达性信息字段。
不可行路由长度字段可以包括两个八位字节无符号整数,用于以八位字节来指示撤销路由字段的总长度。它的值还可以确定网络层能到达性信息字段的长度。零值可以指示没有任何路由从服务中撤销,以及在该更新消息中不存在撤销路由字段。撤销路由字段可以是可变长度字段,其含有要从服务中撤销的路由的IP地址前缀列表。每个IP地址前缀可以被编码为<长度,前缀>的2元组形式。长度字段可以指示IP地址前缀中的位的长度。零长度可以指示匹配所有IP地址的前缀。前缀字段可以含有IP地址前缀,其后跟随足够的尾随位以使字段的末端落于八位字节的界上。总路径属性长度可以是两个八位字节无符号整数,用于以八位字节指示路径属性字段的总长度。零值可以指示在该更新消息中不存在任何网络层能到达性信息字段。路径属性可以是路径属性的可变长度序列。路径属性可以包括定义路径信息的发端的起点。AS路径是可以由一系列AS路径段构成的属性。每个AS路径段可以由三元组<路径段类型、路径段长度、路径段值>表示。尽管这里描述的本发明的实施例支持用于IPv4分组的BGP,但是在其它实施例中,本发明可以支持用于路由IPv6协议分组、无连接网络服务(CLNS)分组以及根据其它协议配置的分组的BGP。在一个实施例中,更新消息仅需要标识由前缀撤销的路由。
图3是根据本发明实施例的路由系统的功能框图。路由系统300可以如这里所描述的那样执行在对等路由系统之间的路由。路由系统300可以适于用作路由系统102(图1)之一,尽管其它路由系统也是适用的。路由系统300可以包括主要路由处理器302、备用路由处理器304和多个线路接口306,以根据路由处理器所管理的路由数据库来对通过链路308接收的通信进行路由。路由数据库200(图2)是路由处理器所使用的适当路由数据库的示例。通过在正常操作期间通过维护路由前缀表对路由前缀进行检查点操作,路由系统300可以提供充分透明的失效转移。适当前缀表的示例在图4中图示。响应于检测到主要路由处理器302失效,备用路由处理器304从接收自对等路由系统的路由中生成备用(例如,再生)路由数据库。对于在备用路由数据库中标识的路由,备用路由处理器304还可以向对等路由系统发送路由通知消息。备用路由处理器304还可以比较备用路由数据库中的路由前缀和前缀表中的前缀,并且对于具有在前缀表中列出而没有在备用路由数据库中标识的前缀的路由,可以发送路由撤销消息到对等路由系统。在一个BGP实施例中,路由通知消息和路由撤销消息都可以被认为是BGP更新消息形式。
在一个实施例中,在检测到主要路由处理器302失效时,备用路由处理器304可以被指示执行失效转移过程以使备用处理器304执行路由管理。失效转移过程可以包括从对等路由系统中请求路由。通过去除冗余路由,备用路由处理器304可以产生备用路由数据库,其中去除冗余路由是通过实现最优路径算法以消除从对等路由系统接收的冗余路由而进行的。每个路由系统302、304可以至少包括处理元件和关联的存储器。在BGP实施例中,产生备用本地RIB,并且备用本地RIB被用于产生备用转发信息库(FIB),其中数据可以被下载到线路卡。
在正常操作期间,当前活动的路由处理器(路由处理器302或304)可以从对等路由系统之一接收指示该对等路由系统处理的新路由的路由更新消息。当前活动的路由处理器可以将新的路由添加到当前路由数据库中。当新路由的前缀没有列在前缀表中时,当前活动的路由处理器还可以通过用该前缀更新前缀表来对前缀进行检查点操作。前缀表可以被存储在备用路由处理系统的存储器中。
在一个实施例中,当当前活动的路由处理器从对等路由系统之一接收到标识出要被撤销的路由的路由更新消息时,路由更新消息可以指示不再由该对等路由系统处理的路由。当前活动的路由处理器可以从当前路由数据库中去除被撤销的路由。当当前路由数据库不包括带有被撤销路由的前缀的任何路由时,当前活动的路由处理器还可以从前缀表中去除该被撤销路由的前缀。
线路接口306根据路由数据库来路由分组,所述路由数据库可以由当前活动的路由处理器通过通信路径310来提供,通信路径310可以是总线。在一个实施例中,在活动路由处理器更新路由数据库之后,该更新可以被提供给线路接口306。在失效转移操作期间,线路接口306可以根据最近接收的路由数据库继续执行分组转发,直到接收到再生的路由数据库。在一个实施例中,系统管理器312可以用于以多种不同方式检测主要路由处理器302的失效,所述多种不同方式包括监控来自路由处理器的诸如心跳消息的信号。尽管系统300被图示为具有若干分立的功能元件,但是这些功能元件中的一个或多个可以组合在一起,并且可以通过软件配置的元件(例如含有数字信号处理器(DSP)的处理器)和/或其它硬件元件的组合来实现。除非以其它方式特别指定,否则诸如处理、计算、运算、确定、显示等的术语可以指代下述一个或多个处理或计算系统或类似设备的动作和/或处理,所述系统和设备可以操纵在处理系统的寄存器和存储器中被表达为物理(例如,电子)量的数据,并将其转换成在处理系统的寄存器或存储器或其它这样的信息存储、传输或显示设备中被类似表达为物理量的其它数据。此外,如这里所使用的,计算设备包括与计算机可读存储器耦合的一个或多个处理元件,所述计算机可读存储器可以是易失性或非易失性存储器或它们的组合。并且,如这里所使用的,数据指的是一个或多个存储数据元素,其可以包括多文件、单文件、文件区(fileextent)、数据库、存储设备分区、卷、卷集等。数据不需要驻留于单个存储设备上,而是可以跨越多个存储设备。
图4是根据本发明实施例的前缀表的示例。前缀表400可以包括用于路由系统所支持的路由的1P地址前缀402的列表,所述路由系统例如是路由系统300(图3)。前缀表400由主要路由处理器管理,并且至少在主要路由处理器失效之后,可以由备用路由处理器访问。在一个实施例中,当具有还没有列入该前缀表的前缀的新路由被添加到路由数据库中时,仅需要将前缀添加到表400。此外,当从路由数据库中撤销路由且在路由数据库中不包括具有相同前缀的任何其它路由时,可以从表400去除该前缀。因此,前缀表的使用可以显著减少与对等路由系统进行同步所需的检查点操作量。在(多个)路由可能被告知对等系统之前,对表400进行相应前缀的检查点操作。另一方面,在从表400去除前缀之前,无需必须撤销相应路由。
图5是根据本发明实施例的路由系统同步过程的流程图。同步过程500可以由诸如图3的系统300的路由系统来实现,尽管其它路由系统也可以适于实现过程500。一般而言,过程500可以通过使用检查点操作来同步对等路由系统,并且可以提供充分透明的失效转移。在一个实施例中,执行过程500的路由系统可以支持边界网关协议,例如上面描述的BGP,尽管这不是必要条件,并且可以提供透明的BGP失效转移。在一个实施例中,可以结合TCP会话恢复技术来实现过程500。
过程500可以被视作在正常操作期间被执行的过程,其包括检查点操作和路由操作。在失效之后,可以执行诸如过程600(图6)的恢复过程,其包括路由的重新取得和重新分配。
在操作502中,路由系统可以根据一个或多个路由数据库来路由通信。在一个实施例中,路由系统可以包括多个线路接口,例如用于特定通信链路的接口卡。线路接口可以存储当前路由数据库,例如在路由通信中使用的路由数据库200(图2)。当前路由数据库可以由活动路由处理器提供,其中除了别的处理器之外,活动路由处理器管理路由数据库。
在操作504中,可能从对等路由系统接收到新路由。在一个实施例中,新路由可以作为路由更新消息的一部分而被接收,其可以是基于BGP的。当接收到新路由时,活动路由处理器可以在操作506中更新当前路由数据库。当在操作504中没有接收到新路由时,会重复操作502。
在操作508中,对新路由进行检查点操作。在一个实施例中,操作508包括向前缀表添加用于新路由的前缀,该前缀表可以由备用路由处理器访问。前缀表优选至少在主要路由处理器失效之后,可以由备用路由处理器访问。前缀表400(图4)是路由系统所使用的适当前缀表的示例。当所接收到的路由的前缀没有在前缀表中预先提供时,用于特定路由的前缀被添加到前缀表。由于路由数据库对于相同前缀可以包括许多替代的路由,所以与对每个路由进行检查点操作的传统方法相比,可以实现检查点操作的显著减少。在一个实施例中,仅有前缀自身进行检查点操作(例如,对于IPv4路由来说为5字节或更少)。
在一个实施例中,当在操作508中路由被添加到当前路由数据库中时,活动路由处理器可以向诸如线路接口306(图3)的线路接口提供更新后的路由信息。此外,当新路由被添加到当前路由数据库中时,可以通知对等路由系统该路由系统将根据所接收到的路由来执行路由操作。在BGP实施例和一些其它实施例中,在相应的路由被告知对等系统之前执行检查点操作。过程500还可以包括响应于路由更新消息去除路由,以撤销从对等路由系统接收的一个或多个路由。在这种情况下,当特定前缀不支持任何路由时,操作508可以包括从前缀表中去除该前缀。
在操作510中,更新消息可以被发送到对等路由系统。更新消息可以通知对等路由系统下述路由,即现在正由该路由系统处理的路由以及不再由该路由系统处理的路由。在BGP实施例中,操作510可以包括发送根据BGP的路由更新消息。
在过程500的执行期间,可以监控来自当前活动的(即,主要)路由处理器的信号以检测失效。例如,可以监控来自活动路由处理器的心跳消息以检测失效。可以在过程500执行期间的任意点处检测到失效。当检测到当前活动的路由处理器的失效之后,启动恢复过程,其中备用处理器从对等路由系统请求路由以产生备用路由数据库。当没有检测到当前活动的路由处理器的失效时,重复操作502至510,并且路由系统会继续它的正常操作,该正常操作包括如上所述的路由分组以及对新路由的前缀进行检查点操作。
尽管过程500的各个操作被图示和描述为单独操作,但是可以同时执行这些操作中的一个或多个,并且不需要以图示的顺序执行这些操作。
图6是根据本发明实施例的恢复过程的流程图。当检测到当前活动的(即,主要)路由处理器的失效时,可以适用恢复过程600。过程600可以被视为失效转移过程,其使备用处理器能够执行路由管理。当在执行过程500(图5)期间检测到失效时,可以适用过程600。除此之外,在执行过程600期间,备用处理器从对等路由系统请求路由以产生新的路由数据库。在操作602中,备用路由处理器从对等路由系统请求路由,并且在BGP实施例中,可以发送路由刷新/请求消息到对等系统。响应于路由请求,备用路由处理器可以从对等系统接收对等方的路由,其可以作为路由更新消息的一部分而被接收。操作602还可以包括确定当已经接收了全部或足够的对等路由时,可以通过试探法(heuristic)(例如,接收保活消息或空更新消息)执行哪种路由。在预定时间量内没有响应于路由请求而从特定对等系统接收到保活或更新消息的情况下,还可以使用超时。
在操作604中,可以从接收自对等路由系统的路由中产生新的路由数据库。可以从数据库中去除从对等路由系统接收的冗余路由。在一个实施例中,操作604可以实现最优路径算法以消除从对等路由系统接收的具有冗余前缀的路由。在BGP实施例中,操作604可以使用备用本地RIB以产生备用转发信息库(FIB)。其它产生路由数据库的方法也可适用于多个实施例。
在操作606中,新路由被发送(即,告知)给对等路由系统。根据BGP实施例,新路由作为BGP更新消息的一部分而被发送。该更新可以通知对等系统发送新路由的路由系统支持哪些路由。在操作608中,在前缀表中进行检查点操作的前缀与操作604中产生的新路由数据库中的路由的前缀相比较。当操作608标识出前缀表中不与新路由数据库中的任何路由相关联的前缀时,操作610可以发送撤销消息到对等路由系统,该撤销消息请求该对等路由系统撤销具有该前缀的路由。操作610撤销先前告知的由失效的路由处理器所处理的路由,并且这些路由不再处于路由数据库中。在一个实施例中,可以为存在于前缀表中而没有存在于新路由数据库(即,恢复后的数据库)中的每个前缀,发送BGP更新消息(指示撤销前缀)。在完成操作610时,对等路由系统的状态应当与本路由系统的状态同步。
在操作612中,可以更新由备用路由处理器维护的前缀表,其中可以去除操作610中标识出的前缀。备用路由处理器现在可以被视作主要或活动路由处理器并且可以执行操作614。在操作614中,通过使用新的(即,恢复后的)路由数据库和检查点操作后的前缀,现在活动的路由处理器可以执行路由操作与路由同步,例如如过程500(图5)所描述的那样。在一个实施例中,失效的路由处理器例如可以被替换、修复或者恢复服务(例如,重启动)。其随后可以用作备用路由处理器。
尽管过程600的各个操作被图示和描述为单独操作,但是可以同时执行这些操作中的一个或多个,并且不需要以图示的顺序执行这些操作。然而,在一些实施例中,应当在对等路由系统被告知与前缀相对应的路由之前完成向前缀表添加那些前缀(即,检查点操作)。
在几个其它的实施例中,本发明提供了包括其上存储有指令的存储介质的制品,所述指令当被数字计算平台执行时,使得响应于失效而从对等路由系统请求路由,从接收自对等路由系统的路由中产生备用路由数据库,比较备用路由数据库中的路由前缀和前缀表中的前缀,以及对于具有在前缀表中列出而没有在备用路由数据库中标识的前缀的路由,发送路由撤销消息到对等路由系统。举例来说,所述物件可以是计算机盘(例如磁盘或CD)或者计算机存储器,并且所述存储介质可以是包括磁介质和光介质在内的适于存储数字信息的任何计算机可读介质。
这样,已经描述了用于在主要路由处理器失效后将路由管理切换到备用路由处理器的系统与方法。该系统与方法通过使用经检查点操作的路由前缀,可以提供充分透明的失效转移。
前面对具体实施例的描述揭示了本发明的一般性质,这足以使本领域技术人员通过应用现有知识方便地修改和/或改动它,以用于多种应用而不脱离一般概念。因此这种改动和修改在所公开实施例的等同物范围与内涵之内。这里使用的用语和术语是出于说明而非限制的目的。因此,本发明包括落入权利要求精神与范围内的所有这样的替代形式、修改形式、等同形式和变化形式。
权利要求
1.一种在主要路由处理器失效后将路由管理切换到备用路由处理器的方法,所述方法包括响应于所述失效,从接收自对等路由系统的路由中产生备用路由数据库;比较所述备用路由数据库中的路由的前缀和前缀表中的前缀;以及对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统,其中所述前缀表包括在失效之前由所述主要路由处理器所支持的路由的前缀。
2.根据权利要求1所述的方法,还包括响应于所述失效从对等路由系统请求路由;以及对于在所述备用路由表中标识的路由,将路由通告消息发送到所述对等路由系统。
3.根据权利要求1所述的方法,其中在检测到所述失效之前,所述主要路由处理器使用初始路由数据库来执行路由操作,并且所述主要路由处理器更新所述前缀表以列出来自所述初始路由数据库的路由前缀,所述前缀表被存储在存储器中,所述存储器至少在所述主要路由处理器失效之后可由所述备用路由处理器访问。
4.根据权利要求1所述的方法,其中在检测到所述失效之后,所述备用路由处理器被指示执行失效转移过程,以使能由所述备用处理器执行的路由管理,所述失效转移过程包括将路由刷新消息发送到所述对等路由系统,从所述对等路由系统接收所述路由,从所接收的路由中产生所述备用路由数据库,比较所述备用路由数据库中的路由的前缀和所述前缀表中的前缀,以及对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统。
5.根据权利要求2所述的方法,其中在检测到所述主要路由处理器失效之后,请求路由的步骤包括将路由刷新消息发送到所述对等路由系统;以及响应于所述路由刷新消息,从所述对等路由系统接收路由,其中所述路由刷新消息请求由所述对等路由系统所支持的路由。
6.根据权利要求1所述的方法,其中从所接收的路由中产生所述备用路由数据库的步骤包括去除从所述对等路由系统接收的冗余路由。
7.根据权利要求6所述的方法,其中去除冗余路由的步骤包括实现最优路径算法以消除所述冗余路由。
8.根据权利要求1所述的方法,其中多个线路接口根据初始路由数据库来路由通信,在所述主要路由处理器失效之后,所述初始路由数据库由所述备用路由数据库所替换。
9.根据权利要求1所述的方法,其中所述主要与备用路由处理器是路由系统的一部分,并且其中响应于由所述路由系统发送的所述路由撤销消息,所述对等路由系统从它们的当前路由数据库中去除路由,其中所述当前路由数据库与所述路由系统处理的路由相关联。
10.根据权利要求9所述的方法,所述路由系统使用边界网关协议进行路由,其中路由刷新消息和路由撤销消息是基于边界网关协议的,并且其中在所述对等路由系统去除重复的前缀之后,所述路由系统与所述对等路由系统充分同步。
11.根据权利要求3所述的方法,还包括从所述对等路由系统中的至少一个接收指示出由所述至少一个对等路由系统处理的新路由的路由更新消息;将所述新路由添加到当前路由数据库;以及当所述新路由的前缀没有在所述前缀表中列出时,用所述新路由的前缀更新所述前缀表。
12.根据权利要求3所述的方法,还包括从所述对等路由系统中的至少一个接收路由撤销消息,所述路由撤销消息指示出不再由所述至少一个对等路由系统处理的被撤销的路由;从当前路由数据库中去除所述被撤销的路由;以及当所述当前路由数据库中没有列出带有所述被撤销的路由的前缀的任何路由时,从所述前缀表去除所述前缀。
13.一种用于在边界网关协议路由系统的主要处理器失效之后使所述边界网关协议路由系统与对等边界网关协议路由系统同步的方法,其中所述主要处理器使用初始路由数据库来执行路由操作,并且维护可由备用路由处理器访问的前缀表,所述前缀表列出了所述初始路由数据库的路由的前缀,在检测到所述主要路由处理器失效后由所述备用处理器执行的方法包括发送边界网关协议路由刷新消息到所述边界网关协议对等路由系统,所述边界网关协议路由刷新消息请求由所述边界网关协议对等路由系统所支持的路由;以及响应于所述边界网关协议路由刷新消息,从所述边界网关协议对等路由系统接收路由;从接收自所述边界网关协议对等路由系统的路由中产生备用路由数据库;比较所述备用路由数据库中的路由的前缀和所述前缀表中的前缀;以及对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将边界网关协议路由撤销消息发送到所述对等路由系统。
14.根据权利要求13所述的方法,其中从所接收的路由中产生所述备用路由数据库的步骤包括通过执行最优路径算法来消除从所述边界网关协议对等路由系统接收的冗余路由,来去除从所述边界网关协议对等路由系统接收的所述冗余路由,以及其中所述方法还包括利用多个线路接口,根据所述初始路由数据库来路由通信;在所述主要路由处理器失效之后,将所述多个线路接口中的所述初始路由数据库替换为所述备用路由数据库;以及利用所述多个线路接口,根据所述备用路由数据库来路由通信。
15.根据权利要求14所述的方法,其中所述主要与备用路由处理器是所述边界网关协议路由系统的一部分,并且其中响应于由所述边界网关协议路由系统发送的所述路由撤销消息,所述边界网关协议对等路由系统从它们的当前路由数据库中去除具有相同前缀的路由,其中所述当前路由数据库与由所述边界网关协议路由系统处理的路由相关联。
16.根据权利要求14所述的方法,还包括从所述边界网关协议对等路由系统中的一个接收指示出由所述一个边界网关协议对等路由系统处理的新路由的边界网关协议路由更新消息;将所述新路由添加到当前路由数据库;当所述新路由的前缀没有在所述前缀表中列出时,用所述新路由的前缀更新所述前缀表;从所述边界网关协议对等路由系统中的另一个接收边界网关协议路由撤销消息,所述路由撤销消息指示出不再由所述另一个边界网关协议对等路由系统处理的被撤销的路由;从所述当前路由数据库中去除所述被撤销的路由;以及当所述当前路由数据库没有列出与所述被撤销的路由的前缀相关联的路由时,从所述前缀表中去除所述前缀。
17.一种路由系统,包括主要路由处理器;备用路由处理器;以及多个线路,用以根据由所述路由处理器所管理的路由数据库来路由通信,其中响应于检测到所述主要路由处理器的失效,所述备用路由处理器从接收自对等路由系统的路由中产生备用路由数据库,比较所述备用路由数据库中的路由的前缀和前缀表中的前缀,以及对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统。
18.根据权利要求17所述的系统,其中在检测到所述主要路由处理器的失效之后,所述备用路由处理器被指示执行失效转移过程,以使能由所述备用处理器所执行的路由管理,所述失效转移过程包括从对等路由系统请求路由,并且其中所述备用路由处理器通过去除冗余路由来产生所述备用路由数据库,所述去除冗余路由的步骤是通过执行最优路径算法来消除从对等路由系统接收的冗余路由。
19.根据权利要求17所述的系统,其中当前活动的路由处理器从所述对等路由系统中的一个接收指示出由所述一个对等路由系统所处理的新路由的路由更新消息,将所述新路由添加到当前路由数据库,以及当所述新路由的前缀没有列在所述前缀表中时,利用所述新路由的前缀更新所述前缀表,所述当前活动的路由处理器在所述失效之前是所述主要处理器,所述当前活动的路由处理器在所述失效之后是所述备用处理器。
20.根据权利要求19所述的系统,其中所述当前活动的路由处理器从所述对等路由系统中的一个接收路由撤销消息,所述路由撤销消息指示出不再由所述一个对等路由系统处理的被撤销的路由,从当前路由数据库中去除所述被撤销的路由,以及当所述当前路由数据库没有列出带有所述被撤销的路由的前缀的路由时,从所述前缀表中去除所述前缀。
21.一种包括其上存储有指令的存储介质的制品,所述指令当被数字计算平台执行时,使得响应于失效而从对等路由系统请求路由;从接收自对等路由系统的路由中产生备用路由数据库;比较所述备用路由数据库中的路由的前缀和前缀表中的前缀;以及对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统。
22.根据权利要求21所述的制品,其中所述指令当被所述数字计算平台进一步执行时,使得发送更新消息到所述对等路由系统,以指示在所述备用路由表中标识出的路由,其中在检测到所述失效之前,所述主要路由处理器使用初始路由数据库来执行路由,并且所述主要路由处理器更新所述前缀表以列出来自所述初始路由数据库的路由的前缀,所述前缀表被存储在可由所述备用路由处理器访问的存储器中。
23.根据权利要求22所述的制品,其中所述指令当被所述数字计算平台进一步执行时,使得从所述对等路由系统中的一个接收指示出由所述一个对等路由系统处理的新路由的路由更新消息;将所述新路由添加到当前路由数据库;以及当所述新路由的前缀没有在所述前缀表中列出时,用所述新路由的前缀更新所述前缀表。
24.一种用于在主要路由处理器失效后将路由管理切换到备用路由处理器的设备,所述设备包括用于响应于所述失效而从接收自对等路由系统的路由中产生备用路由数据库的装置;用于比较所述备用路由数据库中的路由的前缀和前缀表中的前缀的装置;以及用于对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统的装置,其中所述前缀表包括在失效之前由所述主要路由处理器所支持的路由的前缀。
25.根据权利要求24所述的设备,还包括响应于所述失效而从对等路由系统请求路由的装置;以及对于在所述备用路由数据库中标识的路由,将路由通告消息发送到所述对等路由系统的装置。
26.根据权利要求24所述的设备,其中在检测到所述失效之前,所述主要路由处理器包括使用初始路由数据库来执行路由的装置,并且所述主要路由处理器包括用于更新所述前缀表以列出来自所述初始路由数据库的路由的前缀的装置,所述前缀表被存储在存储器中,所述存储器至少在所述主要路由处理器失效之后可由所述备用路由处理器访问。
27.根据权利要求24所述的设备,其中在检测到所述主要路由处理器的失效之后,所述备用路由处理器包括用于执行失效转移过程以使能由所述备用处理器所执行的路由管理的装置,所述用于执行所述失效转移过程的装置包括用于将路由刷新消息发送到所述对等路由系统的装置,用于从所述对等路由系统接收所述路由的装置,用于从所接收的路由中产生所述备用路由数据库的装置,用于比较所述备用路由数据库中的路由的前缀和所述前缀表中的前缀的装置,以及用于对于具有在所述前缀表中列出而没有在所述备用路由数据库中标识的前缀的路由,将路由撤销消息发送到所述对等路由系统的装置。
28.根据权利要求25所述的设备,其中用于请求路由的装置包括用于将路由刷新消息发送到所述对等路由系统的装置;以及用于响应于所述路由刷新消息而从所述对等路由系统接收路由的装置,其中所述路由刷新消息请求由所述对等路由系统所支持的路由。
29.根据权利要求24所述的设备,其中用于从所接收的路由中产生所述备用路由数据库的装置包括用于去除从所述对等路由系统接收的冗余路由的装置。
30.根据权利要求29所述的设备,其中用于去除冗余路由的装置包括用于执行最优路径算法以消除所述冗余路由的装置。
31.根据权利要求24所述的设备,其中多个线路接口包括用于根据初始路由数据库来路由通信的装置,在所述主要路由处理器失效之后,所述初始路由数据库由所述备用路由数据库所替换。
32.根据权利要求24所述的设备,其中所述主要与备用路由处理器是路由系统的一部分,并且其中所述对等路由系统包括下述装置,所述装置响应于由所述路由系统发送的所述路由撤销消息,从所述对等路由系统的当前路由数据库中去除路由,其中所述当前路由数据库与所述路由系统所处理的路由相关联。
33.根据权利要求32所述的设备,其中所述路由系统包括下述装置,所述装置使用边界网关协议进行路由,其中路由刷新消息和路由撤销消息是基于所述边界网关协议的,并且其中在所述对等路由系统去除重复的前缀之后,所述路由系统与所述对等路由系统充分同步。
34.根据权利要求26所述的设备,还包括用于从所述对等路由系统中的至少一个接收路由更新消息的装置,所述路由更新消息指示出由所述至少一个对等路由系统所处理的新路由;用于将所述新路由添加到当前路由数据库的装置;以及用于当所述新路由的前缀没有在所述前缀表中列出时,用所述新路由的前缀更新所述前缀表的装置。
35.根据权利要求26所述的设备,还包括用于从所述对等路由系统中的至少一个接收路由撤销消息的装置,所述路由撤销消息指示出不再由所述至少一个对等路由系统所处理的被撤销的路由;用于从当前路由数据库中去除所述被撤销的路由的装置;以及用于当所述当前路由数据库没有列出带有所述被撤销的路由的前缀的路由时,从所述前缀表中去除所述前缀的装置。
全文摘要
一种路由系统通过在正常操作期间通过维护路由前缀表对路由前缀进行检查点操作,来提供透明的路由系统失效转移。在主要路由处理器失效之后,通过使用该前缀表来同步与对等路由系统的路由。前缀表由主要路由处理器管理,并且至少在主要路由处理器失效之后,可以由备用路由处理器访问。在检测到失效之后,备用路由处理器响应于该失效而从对等路由系统请求路由,并且从接收自对等路由系统的路由中产生备用路由数据库。备用路由处理器还比较备用路由数据库中的路由前缀和前缀表中的前缀,并且对于具有在前缀表中列出而没有在备用路由数据库中标识的前缀的路由,将路由撤销消息发送到对等路由系统。
文档编号G06F11/16GK1711729SQ200380103126
公开日2005年12月21日 申请日期2003年11月12日 优先权日2002年11月12日
发明者约翰·伽莱恩·斯卡德, 戴维·德拉诺·瓦德 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1