CN1502191A - 路由器和路由协议冗余 - Google Patents

路由器和路由协议冗余 Download PDF

Info

Publication number
CN1502191A
CN1502191A CNA018220290A CN01822029A CN1502191A CN 1502191 A CN1502191 A CN 1502191A CN A018220290 A CNA018220290 A CN A018220290A CN 01822029 A CN01822029 A CN 01822029A CN 1502191 A CN1502191 A CN 1502191A
Authority
CN
China
Prior art keywords
controller system
routing protocol
card
message
state variation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA018220290A
Other languages
English (en)
Other versions
CN1314243C (zh
Inventor
��۷�
候驰飞
A·古普塔
M·格兰迪
A·巴赫穆特斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Asset Group Co., Ltd.
Original Assignee
Nokia Intelligent Edge Routers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Intelligent Edge Routers Inc filed Critical Nokia Intelligent Edge Routers Inc
Publication of CN1502191A publication Critical patent/CN1502191A/zh
Application granted granted Critical
Publication of CN1314243C publication Critical patent/CN1314243C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

公开了一种路由器和路由协议冗余,以减少网络设备的服务中断或降级,从而提高由于网络设备的软件和硬件失败导致的网络服务可用性。诸如路由器的网络设备包括具有工作控制器系统和备用控制器系统的冗余平台。路由协议状态变化由工作控制器系统接收或产生。接收的或产生的路由协议状态变化复制到备用控制器系统。通过复制路由协议状态变化,当工作控制器系统发生失败时,备用控制器系统可维护网络设备的路由协议会话。而且,实时维护路由协议的状态以处理路由协议产生的动态变化。

Description

路由器和路由协议冗余
技术领域
本发明属于网络和网络设备领域,更具体些,本发明涉及网络路由器和路由协议。特别地,本发明涉及路由器和路由协议冗余。
背景技术
网络是允许用户访问资源和数据的互连设备的集合。通常类型的网络设备包括服务器、路由器、网桥、开关、网关和集线器。众所周知的网络是互联网。互联网是运行互联网协议(IP)来传输数据(例如,包)的互联网络的全球系统。因为包可以在越过互联网的若干网络边界到达目的地,IP包括“3”层服务,后者提供路由和转发功能以便利用最优路径到达目的地。
提供IP 3层服务的常用网络设备是路由器。路由器通过根据网络当前视图确定最优路径来路由包,并利用最优路径越过网络边界向目的地转发包。根据网络视图,路由器产生并维护路由器已知的可用路由的路由表。路由器使用路由表产生转发信息表(FIB)。FIB是路由器向目的地转发包所用的路由表。
路由器使用路由协议与其它路由器交换信息,以便维护一致的网络视图(即一致的FIB)。为正确转发包,每个路由器必须与网络上其它路由器具有一致的FIB。也就是,具有不一致的转发信息表(FIB)的路由器不能以可预测的方式在网络中转发包。这样会发生路由环路或包的不正确路由。
因此,网络上会发生的关键问题是路由器失败。路由器可以因任意个原因而失败,如配置不当、黑客攻击、硬件失败和软件失败。这种失败是不可预测的。不幸的是,路由器失败会导致网络拓扑改变。特别地,拓扑会因某些链路或路由器消失而改变。而且,路由协议信息会因为不能到达某些节点或某些信息不能传播到整个网络而丢失。此外,因为某些地址不可达,包可能不能到达目的地。
这样路由失败会导致若干问题,如服务中断、服务降级(次最优路由)、服务因路由表收敛时间过大而中断。失败的路由器会导致其它路由器采用使服务降级的非最优路径转发包,因为包到达目的地需要更多时间。失败的路由器会使网络上他的对等路由器和其它通过这些对等路由器的路由器更新他们的路由表(“收敛”),进行这种收敛会导致服务中断或降级。
例如,如果路由器失败并且对等节点或邻路由器的路由协议观察到失败,路由协议会将失败路由的消息广播到整个网络,以便路由表相应地更新。结果,在网络继续完全服务前,在工作路由器中会有一个服务中断或降级来更新路由表,以便它们彼此具有一致的FIB。网络的重新配置会在整个网络恢复前占用几秒、几分或几小时。对于关键任务支持服务,这样的行为是不可接受的。
为增加系统的可用性,处理路由器失败的一种方法是硬件冗余。这种类型的冗余通常称为2层冗余。2层冗余系统可包括冗余线卡、端口或控制器卡。如果线卡、端口或控制器卡失败,冗余线卡、端口或控制器卡可继续运行。然而,2层冗余的缺点是它不提供实时路由协议冗余。例如,由路由协议实时产生的若干软件状态不在冗余硬件中维护,导致协议会话被丢弃。因此,在2层冗余系统中,协议会话丢弃导致网络拓扑改变从而导致服务中断或服务降级。
处理路由器失败的另一方法是设置备份路由器。这种方案通常称为虚拟路由器冗余协议(VRRP)。在VRRP方案中,如果对等路由器认出主路由器失败,它会开始与备份路由器通讯。VRRP的一个缺点是切换到备份路由器会占用很长时间(“毛刺时间”)。VRRP的另一个缺点是失败路由器的对等会话被拆除或断开,不能由备份路由器继续,导致服务失败。
VRRP的另一个缺点是或者所有的路由会话断开,或者为使路由继续,备份路由器具有与相同的邻居的独立的对等会话,结果主路由器导致严重的开销。任何情况下,当主路由器失败时,因为主路由器的对等会话被丢弃,都涉及收敛时间。
发明内容
为减少网络设备的服务中断或降级从而提高由于网络设备的软件和硬件失败的网络上的服务可用性,公开了一种路由器和路由协议冗余。一个实施例中,诸如路由器的网络设备包括具有工作控制器和备用控制器系统。路由协议状态的变化由工作控制器系统接收或产生。接收的或产生的路由协议状态变化复制到备用控制器系统。通过复制路由协议状态变化,如果工作控制器系统失败,备用控制器系统可以维持网络设备的路由协议会话。而且,实时维护路由协议状态以处理路由协议产生的动态变化。
本发明的其他特性和优点可以从下文的附图和详细说明中得来。
附图说明
本发明通过例子来说明,且不局限于附图,附图中相似的标记数字表示相似的元件,其中:
图1表示可以实施本发明的典型网络。
图2表示根据一个实施例可以被图1所示的节点利用的体系层次模型。
图3表示根据一个实施例的冗余节点的基本操作的流程图。
图4A表示路由协议信息从工作卡复制到备用卡的图示。
图4B表示根据一个实施例的复制路由协议状态变化信息的操作流程图。
图5表示根据一个实施例图3中快速切换到备用控制器系统的继续运行的详细操作流程图。
图6A为表示根据一个实施例欺骗对等节点防止观察到失败和切换的图示。
图6B为表示根据另一个实施例欺骗对等节点防止观察到失败和切换的图示。
图7为表示根据一个实施例向对等节点发送提交的操作流程图。
图8表示根据一个实施例具有工作控制器系统和备份控制器系统的网络设备。
图9表示根据一个实施例的网络设备的冗余平台。
图10A表示根据一个实施例的启动顺序的操作流程图。
图10B表示根据另一个实施例的启动顺序的操作流程图。
图11A和11B表示根据一个实施例进行无缝切换到备用卡的工作卡的操作流程图。
图12A和12B表示根据一个实施例进行无缝切换的备用卡的操作流程图。
图13表示根据一个实施例进行非无缝切换的备用卡的操作流程图。
图14表示根据一个实施例向备用卡更新持久信息的操作流程图。
图15表示根据一个实施例向备用卡更新非持久信息的操作流程图。
图16表示根据一个实施例执行错误处理的操作流程图。
图17为表示根据一个实施例网络设备内部的路由协议交互的图示。
图18为表示根据一个实施例工作卡和备用卡间的路由协议交互的图示。
图19表示根据一个实施例路由协议冗余的体系。
图20表示BGP、TCP和IP间交互的示例图。
图21A为表示根据一个实施例复制接收的或产生的BGP状态变化的操作流程图。
图21B为表示根据一个实施例复制接收的或产生的TCP状态变化的操作流程图。
图22表示工作卡上的工作TCP和备用卡上的备用TCP间的一个对话的实施例,用于表示发送到对等节点的BGP消息的锁步要求。
图23表示工作卡上的工作TCP和备用卡上的备用TCP间的一个对话的实施例,用于表示从对等节点接收的BGP消息的锁步要求。
图24为表示根据一个实施例发送到对等节点的独立BGP消息的δ更新的BGP体系。
图25为表示根据一个实施例发送到对等节点的独立BGP消息的δ更新的BGP体系。
图26为表示根据一个实施例从对等节点接收的独立BGP消息的δ更新的BGP体系。
图27为表示根据一个实施例提交BGP消息的流程图。
图28为表示根据一个实施例对BGP协议冗余进行批量更新的操作流程图。
图29为表示根据一个实施例对IS-IS协议冗余进行批量更新的操作流程图。
图30为表示根据一个实施例对接收或发送的IS-IS消息进行δ更新的操作流程图。
图31为表示根据一个实施例对OSPF进行批量更新的操作流程图。
图32为表示根据一个实施例对接收或发送的OSPF消息进行δ更新的操作流程图。
具体实施方式
由于网络设备的软件和硬件失败的原因,为减少网络设备的服务中断或降级从而提高网络上的服务可用性,描述了一种路由器和路由协议冗余。一个实施例中,诸如路由器的网络设备包括具有工作控制器系统和备用控制器系统的冗余平台。路由协议状态的变化由工作控制器系统接收或产生。接收的或产生的路由协议状态变化被复制到备用控制器系统。通过复制路由协议状态变化,如果工作控制器系统失败,备用控制器系统可以维持网络设备的路由协议会话。而且,实时维护路由协议状态以处理路由协议产生的动态变化。
其中所描述的冗余技术允许失败的网络设备在短时间内恢复服务,以免服务中断。冗余技术也允许备份或备用控制器系统使失败的网络服务设备恢复失败前的工作控制器系统的工作状态。冗余技术还防止网络设备的对等节点观察到网络设备的失败。冗余技术还通过实时维护协议会话防止在从工作控制器系统向备用控制器系统切换时丢失路由协议会话。冗余技术还在备用控制器系统中维护一致的网络视图。
在下面的描述中,描述了关于网络路由器和路由协议的冗余技术。然而,这里描述的冗余技术不用于限制某种类型的网络设备,可以用其它类型的网络设备实现,他们会有硬件和软件失败或进行路由协议功能,例如,网络开关、网络优化开关、网桥、集线器或网关。
而且,在下面的描述中,路由器冗余是指工作控制器系统具有备份控制器系统(即备用控制器系统)的路由器。当工作控制器系统失败时备用控制器系统可继续工作路由器的操作。此外,路由协议冗余是指在备用控制器系统中维护运行于工作控制器系统的协议会话,以及在备用控制器系统中维护与工作控制器系统一致的路由和转发信息。
路由器和路由协议冗余概述
具有路由器冗余的典型网络
图1表示可在其中实施本发明的典型网络100。参考图1,典型网络系统包括与多个对等节点102A和102B相连的具有冗余平台900的节点104(“冗余节点104”)。为说明目的,显示了3个节点,然而,网络100可包括任意数目的节点。对等节点102A和102B是与冗余节点104有“会话”或“逻辑连接”的节点。
在一个实施例中,节点102A、102B和冗余节点104代表诸如执行IP3层服务的网络路由器等的网络设备。可替代地,节点102A、102B和冗余节点104可以是其它类型的网络设备,例如可进行IP 3层服务或更高层服务直到应用层服务的开关、网桥、集线器或网关。在其它实施例中,节点102A、102B和冗余节点104可进行多协议标签交换(MPLS)服务。
节点102A、102B和冗余节点104代表用于在通常称为自主系统(AS)的同一管理机构和控制下向一组特定的网络转发信息(即,包)的网络路由器。这样,节点102A、102B和冗余节点104可代表运行内部网关协议(IGP)的“内部路由器”在AS中交换信息。
如果作为IGP,节点102A、102B和冗余节点104可运行诸如中间系统—中间系统协议(IS-IS)、开放最短路径优先协议(OSPF)和路由信息协议(RIP)。IS-IS协议和OSPF协议是链路状态协议。链路状态协议使用链路状态包维护一致的网络视图。RIP协议是基于使用最短路径算法的距离矢量的简单协议。
可替代地,节点102A、102B和冗余节点104可代表用于在AS间转发信息的网络路由器,在AS中路由器被称为“外部路由器”并运行外部网关协议(EGP)。如果作为EGP,节点102A、102B和冗余节点104可运行诸如边界网关协议(BGP)的路由协议。BGP协议通过诸如传输控制协议(TCP)的可靠传输协议交换连接信息,不具有错误控制能力。然而,节点102A、102B和冗余节点104可代表内部路由器或外部路由器和网络100中代表的任意数目的路由器的任意组合。
这样,节点102A、102B和冗余节点104可维护一致的路由和路由协议状态信息。如果路由更新,在对等节点上必须更新路由,以维护一致的网络视图。在一个实施例中,节点102A、102B和冗余节点104可通过发送问候包确定邻居。如果建立的对等节点在一定时间内未响应问候包,对等节点会被认为不合作或失败。
这样,冗余节点104是具有冗余平台的特种节点,该冗余平台具有工作控制器系统(工作卡910)和备用控制器系统(备用卡950),可防止节点失败被对等节点102A和102B观察到的。而且,如果工作控制器系统失败,备用控制器系统会与对等节点继续协议会话以便对等节点观察不到工作控制器系统失败。例如,如果节点102A向冗余节点104发送一个问候包,问候包因某种原因丢失,发生切换,节点102A重发问候包,备用控制器系统会继续运行,在超时前应答确认重发的问候包。这样,节点102A观察不到向备用系统的切换。
在一个实施例中,节点104代表具有图9所示的冗余平台900的路由器。冗余平台900包括工作卡910和备用卡950,在工作卡910失败时继续运行。工作卡910和备用卡950包括硬件和其中运行的软件模块。在一个实施例中,工作卡910和备用卡950均可运行潜在不同或相同版本的软件。如下面的详细描述,冗余平台900对节点104提供路由器和路由协议冗余的支持,防止对等节点观察到失败并维护冗余节点104和对等节点的路由协议会话。
                     典型体系层次模型
图2表示根据一个实施例,可以被图1所示的节点利用的体系层次模型200。在一个实施例中,工作卡910和备用卡950采用体系层次模型200运行。体系层次模型200可基于网络通信的标准7层参考模型。为解释目的,体系层次模型200代表IP路由器可运行于其中的不同层的一个实施例。
参考图2,体系层次模型200包括物理层202、链路层204、IP层206、传输控制协议(TCP)层208、用户数据报协议(UDP)层208、互联网控制消息协议(ICMP)218、路由协议层220,其中路由协议层220包括边界网关协议(BGP)层226、路由互联网协议(RIP)层222、开放最短路径优先(OSPF)协议层224、中间系统—中间系统(IS-IS)协议层214、套接字层210、应用层212。路由协议220可维护路由表,来产生转发信息表(FIB)216。FIB 216被IP层209和链路层216使用。上述层向网络中的节点提供服务。
物理层202提供物理链路节点间移动数据的服务。链路层204提供处理物理链路上传输的数据的服务。IP层209(“IP 3层”)提供物理和链路层之上的路由和转发服务。TCP 208层通过误差检验和保证所有数据到达来提供保证完全数据传输的服务。TCP层208在IP 3层上运行。这样,网络中的节点可用IP 3层服务上的TCP服务传输数据。
ICMP层218运行在顶层,是IP层206的组成部分。也就是,IP 3层服务本质上是不可靠的,数据包可能丢失。这样,ICMP层218为IP 3层服务提供消息控制和错误报告。UDP层209对TCP层208提供的服务提供替代服务。特别地,UDP层运行在IP 3层服务层之上,为传输数据报提供无连接传输服务。也就是,UDP层209不提供端到端错误检测。套接字层210在应用层212或网络上运行节点的路由协议间提供终端点双向通信。应用层212包括运行在节点上的应用。应用层212可利用下层与其他节点上运行的应用通信。
路由协议220确定最优路径(“路由”)、转发包和保证整个网络对路由的更新一致的服务。通过分析所有路由器的路由更新,路由器可建立网络的详细视图。在路由协议220中,多个路由协议可运行。例如,BGP协议226、RIP协议222、OSPF协议224和IS-IS协议220都可运行在路由协议层220。路由协议220可在IP层206提供的3层服务中利用FIB 216传输数据(例如,包)。
BGP协议226不是可靠的路由协议。这样,为了消息或包的可靠传输,BGP 226运行在TCP 208之上。特别地,BGP 226不重发消息或包,而倚赖TCP 208处理丢失的消息或包。RIP 222利用UDP 209进行消息或包的传输。OSPF 224和IS-IS 214在各自的路由协议之间具有可靠的数据传输机制。OSPF 224运行在IP层206之上,而IS-IS直接运行在链路层204之上。
正如下面更详细的解释,运行在冗余节点104上的路由协议可与冗余平台900协同操作,以得到路由器和路由协议冗余。冗余平台900提供实时路由协议冗余的必要支持。也就是,路由协议是动态的,其中对路由的更新根据路由协议定期或不定期发生。为具有完全的冗余,需要实时维护这些更新。
例如,运行在冗余节点104的工作卡910的RIP 222、OSPF 224、BGP226和IS-IS214的路由协议会话状态可利用冗余平台900在备用卡950上实时维护。如果工作卡910失败,备用卡950可继续同一路由协议会话状态。而且,FIB 216也在备用卡950之维护,以便当备用卡950接管冗余节点104的控制时具有最新的网络视图。
                     基本冗余操作
图3表示根据一个实施例冗余节点104的基本操作300的流程图。以下操作300可由图1所示的具有工作卡910和备用卡950的冗余节点104实现。为解释目的,冗余节点104是可执行IP 3层或MPLS服务的网络路由器104,操作300自操作302开始。
在操作302,冗余节点104在备用卡950中维护工作卡910的当前状态。特别地,冗余节点104利用冗余平台900把工作卡910中的当前配置信息、全局信息、路由表信息、转发表信息、协议会话信息或数据库信息复制或拷贝到备用卡950。
在操作304,工作卡910检测到失败。例如,工作卡910可在冗余节点104检测到硬件失败或软件失败,该失败使得冗余节点104从工作卡910切换到备用卡950运行。
在操作306,备用卡950会继续工作卡910失败前的当前状态的运行。备用卡950会继续运行以便不被对等节点102A或102B观察到失败。如图4到图7的更详细说明,冗余节点104通过在备用卡950中实时维护工作卡910的路由协议会话状态,以及向备用卡950快速切换以便不丢失协议会话,来防止失败被对等节点观察到。这样,网络拓扑变化不必广播到整个网络而减少了收敛时间。
               维护协议会话和路由信息
图4A表示路由协议信息从工作卡910复制到备用卡950的图示400。如图9所示,冗余平台900提供在备用卡950中实时维护路由协议信息协议的支持。参考图4A,图示表示与冗余节点104通信的对等节点102A。冗余节点104包括具有与对等节点102A通信的工作卡910的冗余平台900。冗余节点104还包括当工作卡910失败时继续运行的备用卡950。
在一个实施例中,对等节点102A包括协议信息415,它包括持久数据411、会话数据412和用于产生FIB 432的路由表413。协议信息415必须与工作卡910中的协议信息405A一致。也就是,对等节点102A的持久数据411、会话数据412和路由表413必须与持久数据401A、会话数据402A和路由表403A一致,以便备用卡950可用同一信息复制来保证冗余。而且,如果路由表413和403A不一致,对等节点102A的FIB 432就与工作卡910中的FIB 422A不一致。这样,对等节点102A会考虑冗余节点104具有与自己不同的网络视图,对等节点102A会拆除和冗余节点104的路由协议会话。
为了具有完全冗余,工作卡910所接收或所作的协议信息405A的变化必须复制到备用卡950的协议信息405B。特别地,工作卡910所接收或所作的持久数据401A、会话数据402A和路由表403A的变化必须复制到备用卡950的持久数据401B、会话数据402B和路由表403B。如果未维护变化,冗余则会断掉。
协议信息可与路由协议相关,如BGP、RIP、OSPF和IS-IS路由协议。持久数据可包括比实际更持久的每个路由协议的配置信息。会话状态信息包括运行在节点上的每个路由协议的路由协议状态变化。会话状态信息本质上是动态的,可以定期或不定期变化。例如,对于每个路由协议,路由协议状态变化数据可包括与节点间通信的规则相关的信息、从对等节点接收的每个路由状态、发送到对等节点的每个路由状态、超时参数、被每个对等节点删除的历史路由,等等。对于每个路由协议,路由表信息包括一个节点已知的路由。路由表信息用于产生FIB表,后者用于转发包。
因为备用卡950具有运行在工作卡910上的每个路由协议所需的持久信息,当工作卡910发生失败时,备用卡950利用与工作卡910一致的FIB继续工作卡910的路由协议会话。这样,备用卡950可利用与工作卡910相同的状态继续同一协议会话。在这种情况下,对等节点102A与备用卡950通信,相信自己仍与工作卡910通信,从而避免服务中断。
图4B表示根据一个实施例复制路由协议状态变化信息的操作450的流程图。以下操作450可由图1所示的具有工作卡910和备用卡950的冗余节点104实现。为解释目的,冗余节点104是可执行IP 3层或MPLS服务的网络路由器104,操作450自操作452开始。
在操作452,路由协议状态变化信息由工作卡910接收或产生。例如,工作卡910可产生持久数据401A、会话数据402A和路由表403A的变化。可替代地,工作卡910可从对等节点102A接收持久数据401A、会话数据402A和路由表403A的变化。
在操作454,工作卡910中所接收的或产生的路由协议状态变化复制到备用卡950。例如,图9所示的冗余平台900对工作卡910中的持久数据401A、会话数据402A和路由表403A复制到备用卡950中的持久数据401B、会话数据402B和路由表403B提供支持。这样的复制操作实时进行。这样,如果工作卡950失败,工作卡950利用工作卡910中的同一信息继续运行。
                   快速切换/失败欺骗
图5至图7表示具有冗余平台900的节点如何防止对等节点观察到失败和切换。通过在备用控制器系统(备用卡950)中维护与网络其它部分一致的持久数据、会话数据和路由表数据,可发生无缝的、平滑和快速的切换。切换很快(例如,在几毫秒内),对等节点观察不到冗余节点104执行切换有任何滞后。
图5表示根据一个实施例快速切换到备用控制器系统的继续运行的图3的详细运行流程图。为说明目的,操作306从操作502开始。
参考图5,在操作502,冗余节点104从工作卡910切换到备用卡950。切换可在几毫秒内进行。进行切换的时间(也就是“毛刺”)很少,对等节点102A观察不到发生了切换。在操作504,备用卡350与对等节点102A继续运行,而没有中断协议会话。也就是,毛刺很小,以至于对等节点102A只知道冗余节点104有一个毛刺。
下面是说明快速切换的详细描述。因为IP本身是不可靠的,包可能丢失。如果工作卡910从对等节点102A接收到包并发生失败,以至于工作卡910不能应答确认包的接收,对等节点102A可能重发包。在这种情况下,即使有切换,备用卡950可能仍会从对等节点102A接收到重发的包。这样,对等节点102A会观察到常见事件(即,重发包和接收重发包的应答确认),即使一个包被丢弃也不会相信在冗余节点104中发生了失败或切换。
因为切换进行得很快,备用卡950可继续冗余节点104的运行而不拆除路由协议会话。例如,每个路由协议包括超时时间,其中如果一定数目的包在一定时间内未被应答确认,它会拆除会话。结果,即使一些包在切换中丢失,对具有冗余平台900的冗余节点104来说毛刺很短。也就是,备用卡950可继续工作卡910的运行,而不拆除会话或使冗余节点104服务失败。
图6A为表示根据一个实施例欺骗对等节点防止观察到失败并切换的图示600。因为路由协议的实时特征,从冗余节点104到对等节点102A要求被工作卡910提交的事物也要被备用卡950提交。例如,如果工作卡910提交了路由更新,该路由更新也必须被备用卡950提交。如果由工作卡910提交的事务没有被备用卡950提交且发生了切换,对等节点103A会拆除与冗余节点104的会话,因为备用卡950没有与对等节点102A一致的网络视图。具体地,备用卡950不提交该更新。
因此,为防止对等节点102A拆除与冗余节点104的会话,到备用卡950的切换必须很快进行且工作卡910所提交的事务必须被备用卡950提交。具有冗余平台900的冗余节点104可进行快速切换并在备用卡950中提交事务,以防止对等节点102A拆除协议会话。
参考图6,图示表示工作卡910从对等节点接收到消息(消息A)。例如,消息可以通知冗余节点104:节点102B失败,到102B的路由必须相应更新。节点102A需要得到确认节点104已接收到更新并在进行必要的变化(即提交消息)。如果节点104不提交消息,冗余节点104会有与对等节点102A不一致的网络视图。这样,如果对等节点102A相信冗余节点104具有不一致的网络视图,冗余节点102A会拆除与冗余节点104的会话,导致服务中断。
现在,如果工作卡910正在处理消息并在失败点1或2失败(冗余节点104在这些点不提交消息),并且发生向备用卡950的切换,对等节点102A不拆除与节点104的会话,因为它可以重发消息(直到一定次数的尝试),备用卡950可接收到重发的消息并通过提交路由更新相应地响应对等节点102A失败。只要切换足够快,备用卡950在达到最大尝试次数前继续运行,备用卡950就可继续冗余节点104的运行,其中失败和切换不被对等节点102A观察到。
然而,如果失败发生在工作卡910的提交点,备用卡950也必须提交消息。也就是,如果工作卡910提交了消息而备用卡950没有提交消息,冗余中断,工作卡910和备用卡950中具有导致服务失败的不一致消息。例如,提交的事务与路由更新有关且备用卡950没有提交更新,它就有与对等节点102A不一致的网络视图。这样,备用卡950必须提交工作卡910提交的消息。
在图6A的例子中,为保证由工作卡910提交的消息被备用卡950提交,如果备用卡950没有提交消息,工作卡910不会提交消息。如图6A所示,在接收MSG A后,工作卡910向备用卡950发送消息MSG A。备用卡950向工作卡910发送MSG A的应答确认(例如“接收到MSG A并提交MSG A”)。在工作卡910从备用卡950接收到应答确认后,工作卡910会提交消息,并向远程对等节点发送提交确认(“应答确认MSG A已提交”)。之后工作卡910通过上层发送MSG A。
图6B表示根据另一个实施例欺骗对等节点观察不到失败和切换的图示650。在图6B的例子中,工作卡910可以直接向上层发送MSG A,但在接收到备用卡950已提交MSG A的应答确认之前,不会提交MSG A。在该点,工作卡910向远程对等节点发送“提交确认”。如图6B所示,其中的MSG A会比图6A中的MSG A更快地传递到工作卡910的上层。
冗余平台900利用与工作卡910中提交事务相关的信息对更新备用卡950提供支持。如下所述,提交的消息或事务可以要求小更新或大更新。对于单个事务,备用卡950要求小或“δ”更新。为重现事务历史,备用卡950要求大或“批量”更新。这样,工作卡910提交的所有事务可在备用卡950中维护。
图7表示根据一个实施例向对等节点发送提交的操作700的流程图。参考图7,在操作702,从对等节点接收到消息。例如,工作卡910可从对等节点102A接收到路由状态变化需要进行更新的消息。
在操作704,与消息有关的信息被发送到备用卡950。在操作706,备用卡950处理消息并通过改变路由状态提交消息。通过提交消息,备用卡950向工作卡910发送应答确认。这样工作卡910从备用卡950接收到应答确认。
在操作708,在从备用卡950接收到应答确认后,工作卡910提交消息。在该点,备用卡910也会改变路由状态。
在操作710,在提交了消息后,工作卡910会发送“提交”到对等节点,通知对等节点已更新路由,这样不只在工作卡910中还在备用卡950中维护一致的网络视图。
路由器冗余
路由器冗余硬件
图8表示根据一个实施例具有工作控制器系统和冗余备份控制器系统的网络设备104。参考图8,网络设备104包括多个端口814。端口814可以支持具有不同数据传输速率的电信号或光信号。放大图810表示网络设备104的基本内部组件,包括线卡812A、工作卡910、备用卡950、线卡812和使卡相互耦合的底板814。也包括其它类型的元件,如系统控制器卡。在一个实施例中,网络设备104是提供IP 3层服务的网络路由器。在其它实施例中,网络设备104可提供上层级别的服务直至应用层服务。网络设备104也提供多协议标签交换(MPLS)服务。
对冗余的路由器104,工作卡910和备用卡950具有相同的硬件和软件元件或模块。工作卡910和备用卡950可包括高速网络处理器、控制诸如静态随机存取存储(SRAM)设备、动态随机存取存储(DRAM)设备或其它存储设备的标准存储控制器。这些存储设备可用于存储协议消息、全局消息或关于卡的配置消息。内存设备也存储指令、软件模块和控制卡的操作系统。
在一个实施例中,底板814是无源的,允许线卡812A、工作卡910、备用卡950和线卡812B间的通信。在其它实施例中,底板814可支持>2的线卡冗余,以便工作卡910和备用卡950可控制一个以上的线卡。工作卡910包括检测工作卡910或线卡812A失败以及向备用卡950传输操作的硬件和/或软件。备用卡950也包括当失败时继续工作卡910操作的硬件和/或软件。
如更详细的关于冗余平台900的说明,工作卡910和备用卡950包括备用卡950中维护一致信息的数据转发和检索子系统。工作卡910可通过底板814在通信链路上与备用卡950通信。例如,通信链路可以是外设控制接口(PCI)链路或以太网链路。
路由器104可提供下述类型的硬件或路由器冗余:(a)卡组冗余;(b)系统卡冗余;(c)端口冗余;或(d)线卡冗余。卡组冗余是指备用卡950和线卡812B作为工作卡910和线卡812A的冗余组。在一个实施例中,线卡812A和工作卡910可插入路由器104的插槽0和1,备用卡950和线卡812B可插入插槽2和3。这样,线卡812A或工作卡910的失败可导致到线卡812B和备用卡950的切换。
系统卡冗余是指备用卡950作为工作卡950的冗余系统卡。在一个实施例中,系统卡冗余是路由器104的缺省配置,独立于端口冗余,在有或无端口冗余的情况下都能工作。端口冗余是指具有冗余端口814。例如,“Y”类电缆冗余可实现端口814冗余。在一个实施例中,端口冗余只用于单个的线卡。线卡冗余是指工作线卡具有冗余线卡。例如,线卡812A可以有冗余线卡,线卡812B也可以有冗余线卡。
                      卡状态
工作卡910和备用卡950必须知道两个重要状态:“工作状态”和“备用状态”。根据卡的运行状态,每个卡会执行不同类型的操作。例如,运行在工作状态的卡会向运行在备用状态的卡更新配置、状态和获知的信息。运行在备用状态的卡会从工作卡接收信息,并相应地更新其存储子系统。如同下面更详细的描述,对备用卡950有两种更新:大(“批量”)更新或小或增量(“δ”)更新。
如果所有的诊断和自测都能从对等节点接收数据流或向对等节点发送数据流且具有支配权,工作卡910被认为处于“工作状态”。这样可以为管理和预防目的访问工作卡。在一个实施例中,卡是否工作由全局标志来确定。而且,用户可根据路由器104上的发光二极管(LED)指示器(如绿指示器)确定哪个卡是工作的。如果通过了所有的诊断和自测,能够变成工作卡而不具有支配权,备用卡950被认为处于“备用状态”。在一个实施例中,为管理目的可访问备用卡,但不用于预防目的。在一个实施例中,确定卡是否处于备用也由全局标志来进行,用户可根据路由器104上的LED指示器(如黄指示器)确定哪个卡是备用的。
如果工作卡910或备用卡950不能运行,卡进入“失败”状态。失败状态也可由LED指示器(如红指示器)确定。如果工作状态的配置在冗余卡中被镜像,卡被定义为“冗余的”。为维护冗余,工作卡和备用卡之间的通信一直存在。特别是,当工作卡910失败时,冗余卡950应能成为工作的。
                    冗余平台
                    基本要求
图9表示节点104的冗余平台900的一个实施例。为使节点104防止对等节点观察到节点的失败,要求冗余平台900:(a)维护节点104与对等节点的连接(即,与对等节点102A和102B的会话)不丢失;(b)在工作卡910和备用卡950中维护一致的信息。这样,如果备用卡950继续失败的工作卡910的运行,备用卡950象工作卡一样运行。
                    典型体系
参考图9,冗余平台900表示硬件和软件元件或模块相结合的典型平台体系。冗余平台包括工作卡910和具有冗余存储子系统或软件模块的备用卡950。例如,存储子系统包括存储数据结构和非持久数据的随机存取存储器(RAM)和存储持久数据的闪存(flash disk)。而且,软件模块包括软件冗余管理器、应用任务、冗余控制管理器和数据存储。
工作卡910包括与应用任务916通信的软件冗余管理器(SRM)918。应用任务916可发送RAM数据结构912和非持久数据的信息变化。非持久数据914存储诸如路由信息和状态的更新后变化的信息。应用任务916可向数据存储922发送更新,数据存储922中RAM数据结构912和非持久数据的变化可永久地冗余地存储在闪存924中。冗余控制管理器(RCM)920可与应用任务920和数据存储922通信。RCM 920向备用卡950中对等的RCM 960发送更新信息。备用卡950包括对等应用任务956,用于镜像应用任务916的操作。对等应用任务956与SRM 958通信并发送工作卡910中的RAM数据结构952和非持久数据954的变化。RCM 960也发送数据存储962的变化来更新闪存964,以维护与闪存924的一致。
RAM数据结构912可存储工作卡910和对等节点的路由协议会话的状态。备用卡950中RAM数据结构952维护与工作卡910中RAM数据结构912相一致的信息。非持久数据914表示存储在RAM中的信息。特别是,非持久数据可以是暂时存储在缓冲器中的包。FIB信息可包括非持久数据,它可以定期或不定期更新。持久数据是利用数据存储永久存储在闪存中的数据。例如,持久数据可以是不经常变化的路由协议配置数据。
工作卡910中的SRM 918负责检测软件失败,把失败通知其对等SRM 958,并切换到备用卡950运行。特别地,工作卡910中的SRM 916确定工作卡910是降级还是失败。如果SRM 916检测到工作卡910的降级或失败,SRM 916促使向备用卡950切换并与备用卡950上的其它任务协作。
为使节点104正常运行,其它模块必须处于“就绪”状态。特别地,RCM 960、对等应用任务956和数据存储962必须处于“就绪”状态。就绪状态是可发生无缝切换的状态。这是工作卡910中的RAM数据结构912、持久数据914、闪存924与备用卡950中的RAM数据结构952、持久数据954、闪存964一致的时候。
工作卡910的RCM 920与备用卡950中的RCM 960进行通信,以在每一时刻用备用卡950“镜像”工作卡912中的信息,并使工作卡910中的过程与备用卡950同步。RCM 920负责数据选择移动到备用卡950。特别地,RCM 920负责称为“δ”更新的小的单个事务的更新,和称为“批量”更新的大的事务更新。
                       卡间通信
物理层支持工作卡910和备用卡950之间的卡间通信。例如,以太网链路可用于支持工作卡910和备用卡950之间的卡间通信。工作卡910的RCM 920利用这样一条链路与备用卡950的RCM 960进行通信。
RCM 920和960是运行于卡间通信之上的软件模块。冗余控制管理器(RCM)确定各个卡的角色和支配权。RCM也可用硬件逻辑通信来确定角色和支配权。RCM支持更新备用卡950与工作卡910的信息一致的传输。例如,RCM在工作卡910和备用卡950间控制大的“批量”更新和小的增量“δ”更新。批量更新通常在插入一个新的冗余卡时进行。δ更新被认为是备用更新,在工作卡910中发生单个变化时进行。在一个实施例中,备用卡950的RCM 960在后台操作几个事务,以提高更新过程的效率。
下层平台900支持卡间通信,所以会发生工作卡910和备用卡950间信息的复制,即批量更新和δ更新。卡间通信可使工作卡910和备用卡950间消息的应答确认和维护工作卡910和备用卡950间信息的一致变的容易。
                    支配权
当有冗余系统(即节点或路由器104插入的备用卡)时出现支配权的确定。在单个的卡配置中,如只有工作卡910,工作卡910自动获得路由器104的支配权。在一个实施例中,工作卡910自动确定路由器104中是否有备用卡950。如果没有冗余卡,工作卡910享有支配权。然而,如果工作卡910确定有冗余卡,就进行决定工作卡910和备用卡950的支配权的确定。可用软件和/或硬件确定。例如,工作卡910和备用卡950中都有仲裁逻辑或支配权逻辑,用任一种技术确定支配权。例如,仲裁逻辑可根据卡的插槽ID确定支配权。例如,插入插槽1的卡可确定为“工作卡”,插入插槽2的卡可确定为“备用卡”。可替代地,仲裁逻辑可检查卡上的ID号,看它是否与路由器的ID号匹配。如果匹配,卡变成“工作卡”。很明显,可用各种技术确定支配权。
                     启动顺序
在单个的控制器卡配置中,支配权属于控制器卡。然而,在冗余系统中,启动时进行哪个卡是“工作”的确定。图10A表示根据一个实施例的启动顺序的操作1000的流程图。
参考图10A,在操作1002,确定冗余系统中哪个卡是作为工作的还是备用的。在一个实施例中,如果其中一个卡在启动顺序前是工作的,它被赋予支配权变成工作的。在另一个实施例中,利用插槽ID确定哪个卡是作为工作的还是备用的。
在操作1004,确定是工作的卡要求支配权。同样的过程可在另一卡中发生,即两个卡同时运行,每个卡运行一个过程来获得支配权。在两个卡变成工作的之前且都就绪成为工作卡的情况下,可用任意数目的支配权或电子算法或技术来争夺。
在操作1004,仲裁逻辑将支配权赋给卡910和950中的一个。为说明目的,工作卡910的仲裁逻辑将支配权赋给工作卡910,备用卡950的仲裁逻辑将支配权赋给备用卡950。
假定工作卡910执行工作操作,备用卡950执行备用操作。备用卡950需要更新以镜像启动顺序过程中的工作卡910。也就是,工作卡910启动,SRM 918读取在工作状态启动运行的工作卡910中的配置和状态信息。备用卡950的SRM958也读取配置和状态信息,并运行于备用状态,通知SRM 918已就绪,处于备用状态。图10B表示根据另一个实施例的启动顺序的操作1010的流程图。
参考图10B,在操作1012,工作卡910将RAM数据结构912、闪存924和非持久数据914上存储的所有内容用应用任务916、SRM 918和RCM 920批量拷贝到备用卡950的对等元件中。例如,运行在工作卡910的路由协议应用开始将RAM数据结构912的所有持久信息拷贝到备用卡950的对等元件952。在一个实施例中,只拷贝必要的数据,如状态数据、连接数据、私有路由数据库等。而且,如计数器信息的非必要数据不必拷贝。
在操作1014,工作卡910对来自对等节点的新路由信息产生的任何新信息和数据进行增量拷贝。新信息必须拷贝到备用卡950上,而不管批量拷贝操作是否完成。在一个实施例中,可用标记和扫描技术确定哪些信息是新产生的。在另一个实施例中,不允许并发的增量和批量拷贝。这样,冗余平台900可包括批量拷贝操作后进行增量更新的任何队列。为保证有效一致的路由协议信息,在闪存924发生任何变化前,数据存储922将闪存924冗余拷贝到备用卡950中的数据存储962和闪存964。
在操作1016,工作卡910和备用卡950都实现一致性验证。例如,每个路由器协议需要实现一致的信息从工作卡910拷贝或复制到备用卡950的验证。一旦验证了一致性,路由协议可在备用卡950中声明自己是冗余的,如果路由协议声明自己是冗余的,路由器104就被声明是冗余的。
                无缝切换(graceful switchover)
无缝切换是指由用户或软件发出的控制方式下的切换。例如,用户可在命令行发出从节点104的工作卡910切换到备用卡950运行的命令。在无缝切换中,SRM 918知道支配权切换到备用卡950。因此,SRM 918以更可控的方式准备切换,工作卡910可平滑放弃路由器104的控制给备用卡950。SRM 918维护工作卡910处于“工作状态”运行所需的所有关键功能的位图。为无缝和快速切换,任务通过应用任务916向备用卡950中的SRM 918发送其状态。
图11A和11B表示根据一个实施例工作卡910无缝切换到备用卡950的操作1100的流程图。在下面的运行中,工作卡910的SRM 918和RCM920可用于促进快速平滑切换。
参考图11A和11B,在操作1102,通过校验备用卡950是否插入路由器104或校验备用卡950是否在线,工作卡910验证切换没有被阻塞。为更新目的或其它原因,备用卡950可置于“离线”模式,实际上消除了冗余功能。卡间通信机制可用于验证备用卡950是在线还是离线。例如,SRM 918可请求备用卡950的状态。状态可与卡状态、卡类型、硬件、软件与数据库校验和相关。这样,如果返回状态是“离线”,工作卡910会拒绝切换。
在操作1104,工作卡910验证备用卡950是否没有离线。
在操作1106,SRM 918通知路由器104的控制台或应用层切换正在进行。
在操作1108,工作卡910阻塞到闪存924的所有新更新。例如,SRM918和数据存储922可阻塞所有到RAM数据结构912、非持久数据914和闪存924的更新。在一个实施例中,SRM 918会向应用任务916发送禁止闪存924中所有任务进行更新如路由表的变化的消息。阻塞也阻塞所有到备用卡950的切换必须的新更新。在另一个实施例中,应用任务916可确定对切换不致命的RAM数据结构912、非持久数据914和闪存924的某种数据变化是否应被阻塞。
在操作1110,为完成数据更新,SRM 918和RCM 920将工作卡910中的RAM数据结构912、持久数据914和闪存924的信息复制到备用卡950的对等元件。
在操作1112,SRM 918验证备用卡950的配置信息是否与工作卡910相同。例如,SRM 958可与工作卡910交换备用卡950的数据库信息的校验和。在一个实施例中,如果校验和不匹配,SRM 958将重新复制工作卡918的数据库,然后再进行验证过程。如果第二次校验和仍不匹配,则不发生切换。
在操作1114,在完成复制后SRM 918通知备用卡950准备变成工作的。工作卡910通知备用卡950准备变成“工作”的。在一个实施例中,工作卡910向备用卡950发送消息以准备变成工作的。这样工作卡910可以等待应答确认(即“就绪”或“未就绪”)。如果备用卡950响应“未就绪”,切换放弃。
在操作1116,SRM 918有选择地通知应用任务916某种运行的任务要变成备用。例如,SRM 918会发送消息选择任务组,对此消息的应答确认是必须的。该消息通知任务工作卡910正被带入备用状态。
在操作1118,工作卡910放弃路由器104的支配权。例如,SRM 918会呼叫I/O驱动器不声明“主动”状态,放弃支配权。之后工作卡910的硬件向备用卡950给出立即控制或支配权。这样,该动作将所有到路由器104的数据转发到备用卡950。
在操作1120,SRM 918通知应用任务916其余任务进入备用。也就是,一些任务的功能随卡状态变化而变化。这样的变化可扩散到所有任务。
在操作1122,SRM 918查询任务状态,等待任务变成备用。该操作主要是工作状态的任务要求的,可执行只有工作卡910能作的任务,如响应管理站或在上行线/访问端口传输数据,响应线警报等。通过这种查询/握手程序,保证所有的关键任务进入备用。
在操作1124,工作卡910与工作(备用卡950)建立通信,以同步持久和非持久信息数据库。一旦数据库同步,工作卡910的状态进入备用状态就绪。
在操作1126,SRM 918消除对应用任务916和数据存储922的阻塞。
在操作1128,工作卡910设置为备用状态。
上述操作涉及工作卡910的事件。下面分别描述关于图12A和12B的备用卡950的事件。
图12A和12B表示根据一个实施例备用卡950无缝切换的操作1200的流程图。在下面的运行中,备用卡950中的SRM 958和RCM 960可用于促进快速平滑的切换。参考图12A和12B,在操作1202,SRM 958通过SRM 918向工作卡910提供卡状态信息和自测信息。
在操作1204,RCM 960从工作卡910更新备用卡950中的对等数据库。
在操作1206,SRM 958通过SRM 918向工作卡910提供数据库校验和。
在操作1208,SRM 958通知对等应用任务956某些任务变成工作就绪状态。
在操作1210,备用卡950在工作卡910放弃支配权时刻获得路由器104的支配权。
在操作1212,SRM 958通知对等应用任务956其余任务为工作状态。SRM 958也更新备用卡950中的状态信息即它具有支配权。
在操作1214,对等应用任务956查询任务状态等待他们处于工作状态。在一个实施中,如有必要,一些任务会重启。
在操作1216中,SRM 918阻塞向备用卡950的RAM数据结构952、非持久数据和闪存956的新的网络更新。
在操作1218中,备用卡910变为工作状态。
在操作1220中,SRM 958通知运行在备用卡950上的控制台或应用层切换。
在操作1222中,SRM 958等待其它卡(备用卡950)处于备用状态。
在操作1224中,SRM 958和/或RCM 960验证备用卡950中的数据库中的数据与工作卡910的数据库一致。
在操作1226中,SRM 958消除备用卡950的数据库阻塞预防。
                    非无缝切换
非无缝切换是指没有警告的由工作卡910中的失败启动的切换。例如,工作卡910可因如下解释更详细的硬件和软件原因失败。非无缝切换与无缝切换非常类似,只是切换没有准备。也就是,对冗余系统切换可随时发生,数据库更新可能被悬挂或者,例如数据库处于路由表或FIB更新中。而且,可能丢失一些信息。在一个实施例中,为恢复丢失的信息,可实施恢复机制。
图13表示根据一个实施例的备用卡950进行非无缝切换的操作1300的流程图。下述操作1300涉及备用卡950。在一个实施例中,为进行非无缝切换,工作卡910进行图11所示的操作1100。
参考图13,在操作1302,SRM 958确定其它卡(工作卡910)不拥有路由器104的支配权。
在操作1304,SRM 958通知对等应用任务956所有任务要进入“工作”,备用卡910被更新为“工作”。
在操作1306,SRM 958查询任务状态等待它们变为“工作”。
在操作1308,工作卡910变为“不工作”或“备用”。
在操作1310,备用卡950通知控制台或应用层备用卡950拥有路由器104的支配权并发生切换。
                   备用卡冗余同步
工作卡910和备用卡950冗余工作有两个需要同步的主要元件。第一个,存储在闪存924中的“持久信息”必须同步。持久信息包括,例如,配置信息和与更新相关的文件、日志、统计等。第二个,存储在RAM(如RAM数据结构912和非持久数据914)中的“非持久信息”必须同步。非持久信息包括,例如,路由表、会话连接等。运行在路由器104的每个任务都有冗余设计部分。也就是,每个任务集中在“持久信息复制”和“非持久信息复制”。工作卡910和备用卡950中的数据库软件模块辅助持久和非持久复制或更新。
                    持久更新
图14表示根据一个实施例的向备用卡950更新一致信息的操作1400的流程图。操作1400涉及调用工作卡910的数据存储922在闪存924上存储配置信息的任何任务。为在闪存964上拷贝相同的信息,数据存储922在更新了本地闪存924后向备用卡950中的对等数据存储962发送消息。而且,数据存储962的消息可发送到对等应用任务956,用新配置消息更新RAM数据结构952和非持久数据954。在一个实施例中,对所有事务都有肯定或否定的应答确认。
参考图14,在操作1402,应用任务916向数据存储922发送消息,以保存闪存924中的配置信息。例如,消息可包括更新的记录标识。可替代地,对一个事务可有多个记录更新。
在操作1404,数据存储924用配置信息更新闪存924。在更新了本地闪存924后,数据存储924向应用任务916发送闪存924已更新的应答确认。然后数据存储924通过RCM 920和960向备用卡950中的对等数据存储962发送同一消息。
在操作1406,备用卡950的数据存储962用工作卡910的闪存924的同一更新来更新闪存964。数据存储962向对等应用任务956发送与由工作卡910的数据存储922发送到应用任务916的同一组消息。
在操作1408,对等应用任务956解释消息,并相应地更新RAM数据结构952和非持久数据954。
                     非持久更新
图15表示向备用卡950更新非持久信息的操作1500的流程图。操作1500涉及应用任务916,后者向工作卡910的RAM数据结构和非持久数据914传输配置变化,向备用卡950的对等应用任务956传输消息以更新RAM数据结构和非持久数据954。在一个实施例中,否定或肯定的应答确认可用于所有事务。
参考图15,在操作1502,应用任务916更新RAM数据结构952或非持久数据954,并向RCM 920发送消息以传输消息到备用卡950。
在操作1504,RCM 920通过RCM 960向对等应用任务956传输消息。RCM 920向对等应用任务956发送与应用任务916在工作卡910中传输的相同的一组消息。
在操作1506,对等应用任务956相应更新RAM数据结构952和非持久数据954。对等应用任务956可向工作卡910的应用任务916发送已作变化的应答确认。
在操作1508,工作卡910的SRM 918在接收确认后解锁阻塞过程,后者可用于防止RAM数据结构912、非持久数据914和闪存924的变化。
上述更新操作可进行备用卡950的两种类型的更新,称为“批量更新”和“δ(小)更新”。
                      批量更新
批量更新是指当备用卡950先插入路由器104和工作卡910运行于工作模式时对备用卡950的更新。新插入的卡可以是新卡或备用卡或另一个路由器的卡。运行于工作卡910和备用卡950的SRM在确定备用状态或工作状态时确定其有效性和状态。为说明目的,插入的备用卡950获得备用状态。如果插入的卡在功能上能成为备用,备用卡950必须与工作卡910同步。
在该点上,在工作卡910和备用卡950间发生大的更新“批量更新”,会有一个大的路由表运行于其中。特别地,更新被称为“批量”,因为工作卡910的所有信息必须拷贝到备用卡950,其中可包括数百万条路由记录。
在批量更新的开始,SRM 918阻塞工作卡910的配置的所有改变,例如,命令行改变或会话设置改变。在一个实施例中,网络路由更新可成队列因为即使在批量更新期间也必须知道网络的拓扑改变。
工作卡910的数据存储922会保证存储持久数据的数据库(即在闪存924中存储的信息)在备用卡950的存储器或闪存964中镜像。例如,路由表、连接信息等在工作卡910和备用卡950中镜像。RCM 920把备用卡950的存在通知工作卡910的模块。在一个实施例中,对运行在工作卡910的不同类型路由协议的每个应用,更新可以不同。
                     δ更新
在工作卡910上发生两种类型的变化。第一种,需要向备用卡950复制或更新的变化。例如,需要在备用卡950中更新配置变化、路由表更新、节点名称变化等。第二种,不需要向备用卡950更新的变化。例如,计数器更新或非关键警报不需要向备用卡950中更新。而且,这种变化可以复制到备用卡950。
δ更新可利用上述的关于持久更新和非持久更新的操作进行。在一个实施例中,即使δ更新失败且备用卡950继续运行,缺乏δ更新不一定使备用卡950失败,因为对等节点会重发消息。只要消息未提交,如果工作卡910失败,备用卡950就不是必须要求δ更新继续运行。也就是,如果工作卡910提交了消息或变化,必须在δ更新中向备用卡950提交,以维护与对等节点一致。
                     错误处理
工作卡910包括软件和硬件错误处理能力。例如,SRM 918可处理软件错误,错误逻辑可处理工作卡910的硬件错误。图16表示根据一个实施例执行错误处理的操作1600的流程图。
参考图16,在操作1602,工作卡910检测到错误,如软件或硬件错误。工作卡910检测错误是否需要切换。如果错误需要切换,工作卡910和备用卡950可进行如上所述的非无缝切换。
在操作1604,向备用卡950发生硬件切换。进行物理切换需要一定的时间,为几毫秒级。
在操作1606,备用卡950继续路由器104的运行。备用卡950必须很快继续运行,因为和路由器104的协议会话会超时。因为对工作卡910的相关信息变化的非持久和持久信息的δ更新,备用卡950可无缝快速地继续运行。
                    软件/硬件失败
软件失败是最关键类型的失败。也就是,软件错误与几个软件状态和变量有关,需要冗余系统的一致性。而且,软件错误很难检测。通常类型的软件失败包括分段故障、存储器破坏、存储器耗尽、应用强迫的切换和无限循环。
如果有无效访问存储器,会发生分段故障。如果有对存储器的错误访问,硬件或软件可检测出错误访问,产生SRM错误引起切换。特别地,对存储器的错误访问会导致存储错误信息。如果使用了过多的存储器空间会发生存储器耗尽错误。在一个实施例中,如果使用的存储器空间达到警戒线会给出警报,如果使用的存储器空间超过一定阈值会发生切换。
当用户通过命令行指令强制切换时,软件中发生应用强制切换。例如,插入其中的新卡处于工作状态。无限循环也能导致处理器不去处理其他指令。在一个实施例中,可使用看门狗定时器来确定指令是否是导致软件出错的无限循环。可替代地,可用低优先任务来确定处理器是否陷入无限处理其他任务当中。也就是说,如果低优先任务一直得不到处理时间,可以确定存在无限循环。
因为备用卡950中的冗余硬件,硬件失败没有软件失败那样严重。普通类型的硬件失败为开机或启动顺序中的ASIC诊断失败、总线失败、存储失败、或卡失败。这些硬件失败也会导致工作卡放弃支配权而切换到备用卡950。
                    路由协议冗余
                路由协议冗余基本要求
为获得路由协议层冗余,必须在备用卡950上提供在工作卡910上运行的每个路由协议所需的所有相关信息。在工作卡910上和备用卡950上运行的每个路由协议模块负责维护工作卡910和备用卡950的协议信息的镜像拷贝。这样,如果工作卡910失败,备用卡950可继续工作卡910上的所有路由协议会话。备用卡950是在所有路由协议会话状态超时前继续运行,从而防止对等节点检测到失败。
                    典型路由协议交互
图17为表示根据一个实施例在一个节点内部的路由协议交互的图示1700。参考图17,每个路由协议BGP 1726、OSPF 1724和IS-IS 1714都分别与其各自的数据库1731、1732和1733联结。这些数据库能包括专用路由协议路由或信息。而且,每个路由协议的数据库1731、1732和1733可在路由协议BGP 1726、OSPF 1724和IS-IS 1714中存储状态机和统计操作的数据结构。
所有路由的集合存储在IP路由表1702中。根据IP路由表1702中的路由可产生转发表(FIB)1702。FIB 1716可包括路由器104转发包的转发信息。在一个实施例中,三重内容可寻址存储器(TCAM)1706能存储FIB 1716中的路由。在其他实施例中,可用处理器和存储系统的任意组合来存储和维护FIB 1716。
如果工作卡910失败,上面的路由协议交互以相同方式在备用卡950上运行。这样,工作卡910的BGP 1726、OSPF 1724和IS-IS的数据库1731、1732和1733中的信息复制到备用卡950的相同元件。而且,IP路由表1702和FIB 1716也复制到备用卡950的相同元件。这样,备用卡950的TCAM 1706会使用路由器104的一致的转发信息来切换和转发包。
图18为表示根据另一个实施例工作控制点与备用控制点间的路由协议交互的图示1800。参考图18,路由协议BGP 1726、OSPF 1724和IS-IS1714的数据库1731、1732、和1733中的路由信息拷贝分别在备用控制点的对等数据库中得到维护。
在一个实施例中,为避免工作卡910与备用卡950间的连接过载,工作卡910只将静态路由1820A复制或拷贝到备用控制点中的对等静态路由1820B。静态路由为固有路由。备用卡950以与工作卡910相同的方式运行,只是无权访问路由器104与网络100进行通信的端口。特别地,备用卡950中的规则码路径只重新分配并提供他的IP路由表1716。
在工作控制点失败时,路由器104会切换到备用控制点运行。路由器104将继续无缝路由通信,因为备用控制点已经从每个路由协议的私有数据存储生成了有效的转发表。同样,与路由器104通信的对等节点可与路由器104维护路由协议会话。而且,路由器104可防止对等节点观察到失败,并防止对等节点观察到切换。
                路由协议冗余的典型体系
图19表示路由协议冗余的典型体系1900。典型体系1900包括工作卡910和备用卡950的路由协议数据库和模块,用来支持路由协议冗余。工作卡910和备用卡950的每个模块具有二种类型的冗余数据库,即冗余数据库(RDBs)和持久数据库(PDBs)。
工作卡910包括访问IGP RDB 1942A和IGP RDB 1924A的内部网关协议(IGP)模块1992A。IGP模块包括OSPF、RIP和IS-IS路由协议的模块。工作卡910还包括访问BGP RDB 1927A和BGP PDB 1731A的BGP模块1726A,访问TCP RDB 1933A和TCP PDB 1926A的TCP模块1932A,和访问IP RDB 1931A和IP PDB 1928A的IP模块1930A。
备用卡950包括访问对等PDB和RDB的工作卡910的对等模块。特别地,备用卡950包括访问IGP RDB 1942B和IGP RDB 1924B的IGP模块1992B。备用卡950还包括访问BGP RDB 1927B和BGP PDB 1731B的BGP模块1726B,访问TCP RDB 1933B和TCP PDB 1926B的TCP模块1932B,和访问IP RDB 1931B和IP PDB 1928B的IP模块1930B。
持久数据(PDB)和非持久数据(RDB)的冗余处理不同。持久数据冗余由每个工作卡910和备用卡950的内部数据存储模块处理。如果工作卡910的数据存储模块将数据存储到闪存中,则相同数据被存储到备用卡950中及其闪存中。此外,将该变化通知给备用卡950中的对等数据存储模块,并且改变的数据作为通知的一部分被传输。每个模块也负责其自身的非持久数据的冗余。例如,若OSPF从BGP接收到更新,OSPF不会将其发送给备用卡950。在这种情况下,BGP将更新发送给备用卡950中的对等BGP。
工作卡910和备用卡950执行同样的路由重新分配。工作卡910上和备用卡950上的每个路由协议模块负责将其最佳路由分别发送给路由表管理器(RTM)1940A和1940B。若工作卡910上的RTM 1940A设计成向其他协议重新分配路由,则RTM 1940A也会在备用卡950上执行相同操作。在一个实施例中,RTM重新分配设置被认为是配置信息,并作为持久数据被冗余。
转发信息表(FIB)1716A和1716B被同样地分别建立在工作卡910和备用卡950上。FIB 1716A和1716B基于最佳路由,为每个协议配置管理距离。在一个实施例中,RTM的协议距离设置信息被认为是配置信息,并作为持久数据被冗余。三重内容可寻址存储器(TCAM)1706A和1706B分别在工作卡910和备用卡950上执行相同操作。TCAM 1706A和1706B能根据来自不同模块的持久数据和来自RTM 1940A和1940B的动态FIB数据进行编程。备用卡950(若在备用状态下工作)没有与路由器104连接的物理线。这样,备用卡950作为接口管理器,来处理与工作卡910同步的接口状态。也就是说,备用卡950向其模块及工作卡910中的对等模块提供信息。
                边界网关协议(BGP)冗余
                  基本BGP冗余要求
BGP是一种在互联网使用最为广泛的路由协议。BGP是一种由不同自主系统(AS)的路由器所用的外部网关协议。BGP路由器在网络边界之间路由包。这样,BGP路由或转发表可以很大,可存储百万条路由。然而,BGP也提出了不同于其它路由协议的挑战。BGP使用TCP来进行连接和可靠的数据传输。结果,如果BGP失去与对等节点的TCP连接,对等节点会作出反应,立即失去从邻对等节点获取的所有路由。由于这个原因,为获得BGP路由协议冗余,还必须将TCP进行冗余,以避免由BGP获取的路由不可访问。
在下面的实施例中,如图9中所示的冗余平台900对BGP和TCP协议冗余提供支持。冗余平台900允许备用卡950在足够短的时间里重新获取BGP路由和转发信息而不避免服务中断。而且,冗余平台900也对为获得BGP和TCP协议冗余而进行的下述操作提供支持。
                  TCP层冗余要求
为获得BGP路由协议冗余,TCP层冗余是冗余的另外一层。下面的实施例说明冗余节点104的BGP与TCP间的典型交互。
图20为BGP、TCP和IP间交互的典型视图2000。为说明目的,视图2000涉及处于“工作模式”的工作卡910。参考图20,视图2000表示BGP 1726A向TCP 1932A发送三个消息。消息1的长度为19字节,消息2的长度为70字节,消息3的长度为26字节,共计115字节。
TCP 1932A为字节流协议。TCP 1932A将来自BGP 1726A的三个消息作为字节流。例如,TCP 1932A将来自BGP 1726的115字节作为二个消息发送给IP 1930A。消息1为85字节,消息2为30字节。这样,IP 1930A能从TCP 1932A接收二个消息。IP 1930A能在发送缓冲区2002内暂存该二个消息。
由于TCP 1932A将消息作为连续的字节流,TCP1932A能在消息中存储序列号,以便指定消息在字节流中的位置。例如,TCP 1932A能存储下一个发送号码(NS)和下一个接收号码(NR),以确定消息的顺序。NS号码为标识消息或包的标识符。NR号码为一标识符,用来标识从远程对等节点所接收的字节流中的下一消息或包。参考图20,去往IP 1930A的消息1可具有随机产生的NS号码=1000。若对等接点接收到NS号码=1000的消息1,则对等节点就知道下一消息(即消息2)的NS=1085。如果不是这样,对等节点就会知道该消息与消息1的次序颠倒,并确定有错误发生。
TCP 1932A可以使用的另一个参数为窗口大小。窗口大小是TCP 1932A在收到对等节点的应答前所能发送的最大字节数。窗口大小参数能在对等节点之间协商。例如,窗口大小可以是8K或16K。在一个实施例中,来自或经过BGP 1726A、TCP 1932A、IP 1930A和发送缓冲区2002的传输数据被复制或拷贝到备用卡950中,直到消息被接收对等节点应答确认。
图21A为根据一个实施例对接收的或产生的BGP的状态变化进行复制的操作2100的流程图。下面的操作2100能通过冗余节点104执行,该冗余节点104具有上述的工作卡910和备用卡950。为说明目的,操作2100从操作2102开始。在操作2102中,工作卡910接收或产生BGP的状态变化。例如,对等节点能向冗余节点104发送BGP路由不再作为状态变化可用的信息。
在操作2104中,接收的或生成的BGP状态变化被从工作卡910复制到备用卡950。例如,冗余平台900能执行上述的将BGP的状态变化“δ更新”至备用卡950中。
图21B为根据一个实施例对接收的或产生的TCP状态变化进行复制的操作2150的流程图。为说明目的,操作2150从操作2152开始。在操作2152中,工作卡910接收或产生TCP的状态变化。例如,对等节点能向冗余节点104发送TCP路由不再作为状态变化而可用的信息。
在操作2104中,接收的或生成的TCP状态变化被从工作卡910复制到备用卡950。例如,冗余平台900能执行上述的将TCP的状态变化“δ更新”至备用卡950中。
上面的操作2100和2500允许BGP和TCP的状态变化的BGP和TCP冗余。在其他实施例中,也可实施上述操作2100和2500来选择性地提供BGP和TCP消息的冗余。也就是说,能在备用卡950中产生一些或所有的BGP和TCP消息冗余。
                发送BGP消息的TCP锁步
在一个实施例中,TCP层冗余要求就是BGP和TCP的“锁步”要求。锁步要求需要对于每个由工作卡910发送或接收的消息来说,必须应答确认在工作卡910能发送或接收其他消息之前,备用卡950已经存储了该发送或接收的消息。若发生了切换,并且备用卡950没有存储该消息,冗余将被破坏。
图22为在工作卡910上运行的工作TCP与在备用卡950上运行的备用TCP之间的典型对话,显示被发送到对等节点的BGP消息的锁步要求。参考图22,对话2200显示工作BGP 1726A将BGP消息(消息1)发送给工作TCP 1932A。工作卡910计划将消息1发送给另一路由器或对等节点。工作TCP 1932A将消息1发送给备用TCP 1932B,使消息1能在备用卡950中被复制。备用卡950将消息1已被其复制的应答确认信息发送给工作TCP 1932A。
在一个实施例中,具有冗余平台900的冗余节点104在未收到消息1已被复制的应答确认信息之前,不会通过IP 1932A将消息1发送给对等节点。而且,冗余节点104在未收到来自备用TCP 1932B的消息1已被存储的应答确认信息之前,不会发送另一消息(即消息2)。如前所述,若消息1未存储在备用卡950中,冗余将被破坏,若发生了转换,则备用卡950无法继续工作卡910的当前状态的操作。
这样,工作TCP 1932A在接收消息1的应答确认之后,将“ack”发送给BGP 1726A,之后,BGP 1726A才能发出第二消息2。同样,工作卡910在未收到备用TCP 1932B已经在备用卡950中存储了消息2的应答确认信息之前,不会通过IP 1932A将消息发送给对等节点。通过维护这种锁步,能确保备用卡950中具有与工作卡910中的BGP消息相同的消息,该消息被计划发送给对等节点。
                  接收BGP消息的TCP锁步
图23表示在工作卡910上运行的工作TCP与在备用卡950上运行的备用TCP之间的典型对话,显示由对等节点接收的BGP消息的锁步要求。参考图23,对话2300显示工作卡910中的工作TCP 1932A从远端节点102A接收BGP消息(消息A)。在TCP 1932A向远端节点102A发送和应答确认信息之前,TCP 1932A必须保证消息A在备用卡950中被复制。若消息A没有在备用卡950中被复制,冗余将被破坏。
这样,TCP 1932A向其备用TCP 1932B发送消息A。备用TCP 1932B向备用卡950中的备用BGP 1726B发送消息A。然后,备用TCP 1932B向工作TCP 1932A发送消息A已被复制的应答确认信息。从备用TCP1932B收到应答确认信息之后,工作TCP 1932A将消息A发送给工作BGP1726A,然后,再向远端节点102A发送消息A的应答确认信息。
若第二个BGP消息(消息B)被工作TCP 1932A接收,他将执行与消息A相同的操作,在备用卡950中复制消息B,等待消息B被复制的应答确认信息。从备用TCP 1932B接收应答确认信息之后,工作TCP1932A将消息B发送给工作BGP 1726A,之后,再向远端节点102A发送消息B的应答确认信息。在消息A被复制之前,将不会出现消息B的应答确认信息。这样,通过维护这种锁步,能确保备用卡950中具有与工作卡910中所接收到的BGP消息相同的消息。
               BGP协议冗余的增量(δ)更新
图24、25显示发送到对等节点的独立BGP消息的δ更新的不同实施方式,实现如上图22所示的TCP锁步要求。图26显示由对等节点所接收的独立BGP消息的δ更新的实施方式,实现如上图23所示的TCP锁步要求。
图24为显示根据一个实施例发送到对等节点的独立BGP消息的δ更新的BGP体系2400。BGP体系2400在如图9中所示的冗余平台900之上工作。在下面的体系2400中,由工作卡910上运行的BGP协议产生的每个BGP消息在备用卡950中被更新或复制。BGP消息经过多个缓冲级,在每个缓冲级都需要冗余。
参考图24,利用参考点1~34对体系2400的运行进行解释。在参考点1,BGP 1926A发送存储在BGP缓冲区1927A中的消息。在参考点2,消息必须在备用卡950中进行镜像或复制。这样,消息被发送给冗余管理器920,而在参考点3,冗余管理器920通过内间连接(例如“电缆”)向其备用卡950中的对等冗余管理器960发送该消息。此时,冗余管理器960使用该消息来更新BGP缓冲区1297B,使其具有BGP缓冲区1927A中所存储消息的镜像拷贝。
在参考点5,消息已被更新的应答确认信息被发送给冗余管理器960。在参考点6,备用卡950中的冗余管理器960将该应答确认信息发送给工作卡910中的冗余管理器920。冗余管理器920再将该应答确认信息存储在BGP缓冲区1297中。然后,消息被发送到套节字队列2403A。
这里,上述操作针对参考点9~28进行执行,使消息广播到工作卡910的套节字队列2403A、套节字缓冲区2404A和TCP缓冲区1933A进行传输。这样,广播到套节字队列2403A、套节字缓冲区2404A和TCP缓冲区1933A的消息被镜像或复制到备用卡950中对等的的套节字队列2403B、套节字缓冲区2404B和TCP缓冲区1933B。在消息被存储在TCP缓冲区1933A中之后,对于参考点19~34,消息通过IP 1930A、协议链管理器(PCM)队列2405A、PCM 2006A、驱动队列2407A和驱动器2408A输送出,并通过电缆发送给对等节点。套节字队列存储运行在另一节点的BGP协议的端点信息。PCM管理分配给每种类型的路由协议的消息。PCM队列为独立的路由协议存储消息。
图25为根据另一个实施例的典型BGP体系2500,显示独立BGP消息的δ更新,用于数据传输冗余。典型BGP体系2500减少BGP与TCP/IP之间的缓冲级的数量。具体地说,BGP能将消息(“包”)直接发送给TCP/IP所用的缓冲区。例如,缓冲区可以是“环缓冲区”。BGP能控制向环缓冲区的“写”指针,而TCP/IP能控制向环缓冲区的“读”指针。
参考图25,体系2500的操作通过参考点1~13来加以解释。在参考点1,BGP 1926A发送存储在发送数据环2508A中的消息“包”。在参考点2,消息必须在备用卡950中被镜像或复制。由此,消息被发送给冗余管理器920,而在参考点3,冗余管理器920通过卡间连接(例如,“电缆”)向其备用卡950中的对等冗余管理器960发送该消息。此时,冗余管理器960使用该消息来更新发送数据环2108B,使其具有发送数据环2108A中所存储消息的镜像拷贝。
在参考点5,将消息已被更新的应答确认信息发送给冗余管理器960,在参考点6,备用卡950中的冗余管理器960将应答确认信息发送给工作卡910中的冗余管理器920。由此,冗余管理器920将该应答确认信息存储在发送数据环2508A中。之后,消息通过TCP/IP 1930A、PCM队列2405A、PCM 2406A、驱动队列2407A和驱动器2408A输送出,并通过电缆发送给对等节点。
图26为根据一个实施例接收数据的典型BGP体系2600。该典型BGP体系2600相似于带有附加数据环缓冲区(即接收数据换缓冲区2660A、2660B)的BGP体系2500。具体地说,BGP能够从数据环缓冲区接收BGP消息。
参考图26,将通过参考点1~14来解释体系2600的操作。在参考点1,备用卡910通过驱动器2408A从电缆连接接收BGP消息。在参考点2,驱动器2408A向PCM队列2405A发送消息。在参考点3,PCM队列2405A向PCM 2406A发送消息。在参考点4,PCM 2406A向TCP/IP队列2631A发送消息。在参考点5,TCP/IP队列2631A向TCP/IP 1930A发送消息。在参考点6,TC/IP 1930A向数据接收环缓冲区2660A发送消息。
在参考点7,数据接收环缓冲区2660A向冗余管理器920发送消息。在参考点8,冗余管理器920向备用卡950中的冗余管理器960发送消息,用于复制。在参考点9,冗余管理器960向数据接收环缓冲区2660B发送消息。在参考点10,应答确认消息存储在发送数据环缓冲区2550B中。在参考点11和11a,消息被发送给BGP 1726B,并且应答确认信息被发送给冗余管理器960。在参考点12,应答确认信息被发送给冗余管理器920。
在参考点13,冗余管理器920向数据接收环缓冲区2660A发送应答确认信息。在参考点14,来自冗余管理器960的应答确认信息被存储在发送环缓冲区2550A中。在参考点15,消息被发送给BGP 1726A。在上述操作中,由工作卡910所接收的消息在被BGP 1726B接收之前,将不会被发送给BGP 1726A。而且,上述操作说明从对等节点或相邻节点所接收的BGP消息的增量更新。
图27为根据一个实施例提交BGP消息的操作2700的流程图。下面的操作2700能通过上述具有工作卡910和备用卡的冗余节点104来实现。为说明目的,操作2700涉及图19并从操作2702开始。
在操作2702中,BGP消息由工作卡910接收。工作卡910将消息向上发送,经过上层到达应用(BGP),即BGP 1726A。工作卡910还将消息发送给备用卡950中的TCP 1932B。
在操作2704中,工作卡910提交消息。
在操作2706中,备用卡950接收消息,并将消息从TCP 1932B发送给备用的应用(BGP),即BGP 1726B。
在操作2708中,备用卡950提交消息,并将确认信息发送给工作卡950中的TCP 1932A。
在操作2710中,备用卡910从备用卡950接收提交确认信息,并将提交确认信息转换成系统提交确认。
在操作2712中,工作卡910向远端对等节点发送系统提交确认信息。
上述操作2700使用冗余管理器920和960,便于工作卡910与备用卡950之间的消息传输。在其他实施方式中,操作2702~2710可重复用于其他消息,但每个的系统确认信息在备用卡950提交前不会被发送给对等节点。上述操作允许BGP消息快速通过工作卡910和备用卡950的上层。
              BGP协议冗余的启动顺序/批量更新
图28为根据一个实施例对BGP协议冗余进行批量更新的操作2800的流程图。为说明目的,操作2800涉及启动顺序,其中工作卡910和备用卡950在路由器104中运行。
参考图28,在操作2802中,BGP和TCP数据库从工作卡910复制到备用卡950。例如,如图19所示,工作卡910中的BGP RDB 1927A和BGP PDB 1731A被复制到备用卡950中的BGP RDB 1927B和BGP PDB1731B。冗余平台900中所解释的批量更新操作能用于复制BGP数据库。而且,,使用与BGP数据库相同的操作,将工作卡910中的TCP RDB1933A和TCP PDB 1926A复制到备用卡950中的TCP RDB 1933B和TCPPDB 1926B。作为选择,非易失性存储器和其他数据库也能被复制。
在操作2804中,将接收或发送的多个BGP消息进行排队,使他们在批量更新过程之后能在备用卡950中形成。在操作2806中,使用如图24至26所示的δ更新操作将接收或发送的BGP消息δ更新到备用卡950中。
            中间系统—中间系统协议(IS-IS)冗余
                 IS-IS协议冗余的基本要求
IS-IS协议是一种链路状态协议。生成IS-IS协议包的区域/域中的路由器将该包扩散(flood)到区域/域内的所有路由器。也就是说,由一个IS-IS路由器所生成的包被存储在区域或域中的每个IS-IS路由器中。这样,每个IS-IS路由器都有完全的与其他IS-IS路由器一致的网络视图。这些包被称为链路状态包(LSP)。LSP包包括产生包的IS路由器的信息。这样,每个运行IS-IS协议的路由器包括存储LSP包的LSP数据库或IS-IS数据库。
为了获得IS-IS协议冗余,备用控制器系统必须能维护或知道工作控制器系统中的配置/全局信息、电路信息、邻接信息和链路状态包(LSP)信息。配置信息包括全局信息如工作卡910的全局状态,即是工作的还是备用的。电路信息包括运行电路的状态。例如,电路是否使能/禁止。邻接信息包括工作系统的邻接节点上的信息,即谁是它的邻居。链路状态信息包括LSP包的信息。冗余平台900对维护IS-IS协议冗余提供支持。
            IS-IS协议冗余的启动顺序/批量更新
图29为根据一个实施例对IS-IS协议冗余进行批量更新的操作2900流程图。为说明目的,操作2900是指启动顺序,其中工作卡910和备用卡950在路由器104中工作。
参考图29,在操作2902中,IS-IS数据库从工作卡910复制到备用卡950。例如,如图19所示,工作卡910中的IGP RDB 1942A、IGPPDB1924A和FIB 1716A被复制到备用卡950中的IGP RDB 1942B、IGPPDB1924B、和FIB 1716B。IGP数据库可以只对IS-IS数据库信息进行选择性拷贝。冗余平台900中所解释的批量更新操作能用于复制IGP IS-IS数据库。
在操作2904中,接收或发送的所有IS-IS消息被排队,使他们能在批量更新操作之后在备用卡950中生成。在操作2906中,使用如图24~26所示的δ更新操作,将接收或发送的IS-IS消息δ更新到备用卡950中。
              IS-IS协议冗余的增量(δ)更新
图30为根据一个实施例对接收或发送的独立IS-IS消息进行增量(δ)更新的操作3000流程图。为说明目的,操作3000是针对具有工作卡910和备用卡950的路由器。
参考图30,在操作3002中,接收或生成一个IS-IS消息。例如,IS-IS协议能生成LSP或者从对等节点接收LSP。在操作3004中,工作卡910将LSP包发送给备用卡950,该备用卡950被视为邻居。这样,备用卡950复制该LSP包。
              开放最短路径优先协议(OPSF)冗余
              OSPF协议冗余的基本要求
OSPF协议是一种链路状态域内路由协议,依赖IP协议进行发送和接收包。OSPF并不使用TCP或UDP来进行可靠地传输包。OSPF协议通过与对等节点交换网络信息,建立与对等节点邻居的邻接。OSPF更新FIB和路由表管理器(RTM)产生的其他协议。OSPF协议冗余的基本要求是用对等节点的RTM来维护备用卡910上的RTM不间断的OSPF协议服务。相应地,对于OSPF协议冗余来说,必须在备用卡950中维护所有的协议状态信息、OSPF数据库信息和配置信息。
           OSPF协议冗余的启动顺序/批量更新
图31为根据一个实施例对OSPF进行批量更新的操作3100的流程图。为说明目的,操作3100涉及启动顺序,其中工作卡910和备用卡950在路由器104中使用。
参考图31,在操作3102中,OSPF数据库被从工作卡910复制给备用卡950。例如,如图19所示,工作卡910中的IGP RDB 1942A和IGPPDB 1924A和FIB 1716A被复制给备用卡950中的IGP RDB 1942B和IGPPDB1924B和FIB 1716B。IGP数据库能仅对OSPF数据库信息进行选择性拷贝。冗余平台900中所解释的批量更新操作能用于复制IGP OSPF数据库。
在操作3104中,接收或发送的OSPF消息被排队,使他们能在δ更新操作之后在备用卡950中生成。在操作3106中,使用如图24~26所示的批量更新操作,将接收或发送的OSPF消息δ更新到备用卡950中。
            OSPF协议冗余的增量(δ)更新
图32为根据一个实施例对接收或发送的独立OSPF消息进行增量(δ)更新的操作3200流程图。为说明目的,操作3200涉及具有工作卡910和备用卡950的路由器。参考图32,在操作3202中,接收或生成一个OSPF消息。在操作3004中,工作卡910使用冗余平台900中所解释的批量更新,将接收到或生成的OSPF消息发送给备用卡950。上述路由协议冗余技术和操作实际上都是典型的,能被应用到其他类型的路由协议,比如作为例子,路由互联网协议(RIP)。例如,冗余平台900能用于对上述RIP信息执行批量、δ、非持久、及持久数据更新。
上述路由器和路由协议冗余操作能作为由处理器执行的软件程序实现。给定一个处理器,软件程序能被保存在存储设备上,如永久存储器。作为选择,软件程序可以是存储在机器可读存储介质上的机器可执行指令,如磁盘、CD-ROM、磁带、数字视频或万能磁盘(DVD),激光磁盘、ROM、闪存或其他类似存储设备。指令序列不需要本地存储,可以从远端存储设备如网络服务器、CD ROM设备、软盘等接收。这些指令可以从存储设备拷贝到暂时存储器中,然后由处理器访问和执行。对于一种实现,这种软件程序能用C编程语言编写。但应该理解的是,这些程序能用多种不同编程语言实现。
对于其他可替代的实施例,路由器和路由协议冗余操作能在分立硬件或固件中实现。例如,可以对一个或多个专用集成电路(ASIC)进行编程来执行上述冗余操作。在另一例子中,冗余操作能在附加电路板上的一个或多个ASIC实现,这些电路板可以插入到具有上述冗余的路由器或节点中。在另一例子中,可用现场可编程门阵列(FPGA)或静态可编程门阵列(SPGA)执行所述的冗余操作。在另一例子中,可用硬件和软件的结合来执行所述的冗余操作。
这样,对路由器和路由协议冗余已经进行了描述。在前面的说明中,已经参考各个典型实施例描述了本发明。但明显的是,在不偏离如所附权利要求所列举的本发明的较宽精神和范围的前提下,可以对其进行各种修改和改变。因此,应认为说明书和附图仅具有描述性,而不具有限制性。

Claims (64)

1.在具有包括工作控制器系统和备用控制器系统的冗余平台的网络设备中的一种方法,包括:
工作控制器系统接收或产生路由协议状态变化;以及
向备用控制器系统复制接收的或产生的路由协议状态变化。
2.如权利要求1所述的方法,其中路由协议状态变化包括边界网关协议(BGP)状态变化、路由互联网协议(RIP)状态变化、开放最短路径优先协议(OSPF)状态变化、或中间系统—中间系统协议(IS-IS)状态变化。
3.如权利要求1所述的方法,其中复制接收的或产生的路由协议状态变化包括把接收的或产生的路由协议状态变化实时地从工作控制器系统复制到备用控制器系统。
4.如权利要求1所述的方法,还包括:
工作控制器系统接收或产生路由协议消息;以及
在备用控制器系统中有选择地复制接收的或产生的路由协议消息。
5.如权利要求4所述的方法,其中路由协议消息包括BGP消息、RIP消息、OSPF消息或IS-IS消息。
6.如权利要求1所述的方法,还包括:
检测工作控制器系统中的失败;
在备用控制器系统中维护与失败前的工作控制器系统相同的路由协议状态变化。
7.如权利要求1所述的方法,还包括:
进行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
8.一种网络设备,包括:
备用控制器系统;
工作控制器系统,用于接收或产生路由协议状态变化和向备用控制器系统复制接收的或产生的路由协议状态变化。
9.如权利要求8所述的网络设备,其中路由协议状态变化包括边界网关协议(BGP)状态变化、路由互联网协议(RIP)状态变化、开放最短路径优先协议(OSPF)状态变化或中间系统—中间系统协议(IS-IS)状态变化。
10.如权利要求8所述的网络设备,其中工作控制器系统实时地向备用控制器系统复制接收的或产生的路由协议状态变化。
11.如权利要求8所述的网络设备,其中工作控制器系统接收或产生路由协议消息,并向备用控制器系统有选择地复制接收的或产生的路由协议消息。
12.如权利要求11所述的网络设备,其中路由协议消息包括BGP消息、RIP消息、OSPF消息或IS-IS消息。
13.如权利要求8所述的网络设备,其中工作控制器系统检测失败,备用控制器系统维护与失败前的工作控制器系统相同的路由协议状态变化。
14.如权利要求8所述的网络设备,其中工作控制器系统或备用控制器系统执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
15.如权利要求8所述的网络设备,其中网络设备包括网络路由器、开关、光学开关、网桥、集线器或网关。
16.在具有包括工作控制器系统和备用控制器系统的冗余平台的网络设备中的一种方法,包括:
工作控制器系统接收或产生边界网关协议(BGP)状态变化;以及
向备用控制器系统复制接收的或产生的BGP状态变化。
17.如权利要求16所述的方法,其中复制接收的或产生的BGP状态变化包括把接收的或产生的BGP状态变化实时地从工作控制器系统复制到备用控制器系统。
18.如权利要求16所述的方法,还包括:
工作控制器系统接收或产生BGP消息;以及
向备用控制器系统有选择地复制接收的或产生的BGP消息。
19.如权利要求16所述的方法,还包括:
检测工作控制器系统中的失败;
在备用控制器系统中维护与失败前的工作控制器系统相同的BGP状态变化。
20.如权利要求16所述的方法,还包括:
执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
21.在具有包括工作控制器系统和备用控制器系统的冗余平台的网络设备中的一种方法,包括:
工作控制器系统接收或产生传输控制协议(TCP)状态变化;以及
向备用控制器系统复制接收的或产生的TCP状态变化。
22.如权利要求21所述的方法,其中复制接收的或产生的TCP状态变化包括把接收的或产生的TCP状态变化实时地从工作控制器系统复制到备用控制器系统。
23.如权利要求21所述的方法,还包括:
工作控制器系统接收或产生TCP消息;以及
向备用控制器系统有选择地复制接收的或产生的TCP消息。
24.如权利要求21所述的方法,还包括:
检测工作控制器系统中的失败;
在备用控制器系统中维护与失败前的工作控制器系统相同的TCP状态变化。
25.如权利要求21所述的方法,还包括:
执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
26.一种网络设备,包括:
备用控制器系统;
工作控制器系统,用于接收或产生边界网关协议(BGP)状态变化或传输控制协议(TCP)状态变化,以及向备用控制器系统复制接收的或产生的BGP状态变化或TCP状态变化。
27.如权利要求26所述的网络设备,其中工作控制器系统实时地向备用控制器系统复制接收的或产生的BGP状态变化或TCP状态变化。
28.如权利要求26所述的网络设备,其中工作控制器系统接收或产生BGP消息或TCP消息,并向备用控制器系统有选择地复制接收的或产生的BGP消息或TCP消息。
29.如权利要求26所述的网络设备,其中工作控制器系统检测失败,备用控制器系统维护与失败前的工作控制器系统相同的BGP状态变化或TCP状态变化。
30.如权利要求26所述的网络设备,其中工作控制器系统或备用控制器系统执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
31.如权利要求26所述的网络设备,其中网络设备包括网络路由器、开关、光学开关、网桥、集线器、或网关。
32.一种提供指令的机器可读介质,当指令被处理器执行时,可使处理器执行操作,该操作包括:
在工作控制器系统中接收或产生路由协议状态变化;以及
向备用控制器系统复制接收的或产生的路由协议状态变化。
33.如权利要求32所述的机器可读介质,还提供指令,当指令被处理器执行时,可使处理器执行操作,该操作包括:
工作控制器系统接收或产生路由协议消息;以及
向备用控制器系统复制接收的或产生的路由协议消息。
34.如权利要求32所述的机器可读介质,还提供指令,当指令被处理器执行时,可使处理器执行操作,该操作包括:
检测工作控制器系统中的失败;
在备用控制器系统中维护与失败前的工作控制器系统相同的路由协议状态变化。
35.如权利要求32所述的机器可读介质,还包括提供指令,当指令被处理器执行时,可使处理器执行操作,该操作包括:
执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
36.一种网络,包括:
一个或多个对等节点;以及
一个冗余节点,用于与对等节点通信,冗余节点具有包括工作控制器系统和备用控制器系统的冗余平台,工作控制器系统接收或产生路由协议状态变化并向备用控制器系统复制接收的或产生的路由协议状态变化。
37.如权利要求36所述的网络,其中路由协议状态变化包括边界网关协议(BGP)状态变化、路由互联网协议(RIP)状态变化、开放最短路径优先协议(OSPF)状态变化或中间系统—中间系统协议(IS-IS)状态变化。
38.如权利要求36所述的网络,其中工作控制器系统实时地向备用控制器系统复制接收的或产生的路由协议状态变化。
39.如权利要求36所述的网络,其中工作控制器系统接收或产生路由协议消息和向备用控制器系统有选择地复制接收的或产生的路由协议消息。
40.如权利要求39所述的网络,其中其中路由协议消息包括BGP消息、RIP消息、OSPF消息或IS-IS消息。
41.如权利要求36所述的网络,其中工作控制器系统检测失败,备用控制器系统维护与失败前的工作控制器系统相同的路由协议状态变化。
42.如权利要求36所述的网络,其中冗余节点执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
43.如权利要求36所述的网络,其中冗余节点包括网络路由器、开关、光学开关、网桥、集线器或网关。
44.一种网络,包括:
一个或多个对等节点;以及
一个冗余节点,用于与对等节点通信,冗余节点具有包括工作控制器系统和备用控制器系统的冗余平台,工作控制器系统接收或产生边界网关协议(BGP)状态变化或传输控制协议(TCP)状态变化,并向备用控制器系统复制接收的或产生的BGP状态变化或TCP状态变化。
45.如权利要求44所述的网络,其中工作控制器系统实时地向备用控制器系统复制接收的或产生的BGP状态变化或TCP状态变化。
46.如权利要求44所述的网络,其中工作控制器系统接收或产生BGP消息或TCP消息,并向备用控制器系统有选择地复制接收的或产生的BGP消息或TCP消息。
47.如权利要求44所述的网络,其中工作控制器系统检测失败,备用控制器系统维护与失败前的工作控制器系统相同的BGP状态变化或TCP状态变化。
48.如权利要求44所述的网络,其中工作控制器系统或备用控制器系统执行互联网协议(IP)3层服务或多协议标签交换(MPLS)服务。
49.如权利要求44所述的网络,其中冗余节点包括网络路由器、开关、光学开关、网桥、集线器或网关。
50.在具有工作系统和备用系统的网络设备中的一种方法,包括:
在备用系统中实时维护工作控制器系统接收的或产生的路由协议状态变化;
检测工作系统中的失败;以及
由备用控制器系统利用维护的路由协议状态变化继续运行。
51.如权利要求50所述的方法,还包括:
将工作系统的运行切换到备用系统,以便对等节点观察不到切换。
52.如权利要求51所述的方法,其中由备用控制器系统继续运行包括:
由备用控制器系统继续运行,以便与工作系统的路由协议会话不被拆除。
53.一种网络设备,包括:
备用卡;以及
工作卡,用于存储持久数据、会话数据和路由信息,并向备用卡实时复制持久数据、会话数据和路由信息。
54.如权利要求53所述的网络设备,其中工作卡产生持久数据、会话数据和路由信息的变化,并向备用卡复制这些变化。
55.如权利要求53所述的网络设备,其中工作卡从对等节点接收持久数据、会话数据和路由信息的变化,并向备用卡复制来自对等节点的变化。
56.在具有包括工作控制器系统和备用控制器系统的冗余平台的网络设备中的一种方法,包括:
工作控制器系统从对等节点接收路由协议状态变化;
向备用控制器系统发送路由协议状态变化;
由工作控制器系统从备用控制器系统接收路由协议状态变化的提交确认;
在工作控制器系统中提交路由协议状态变化;
由工作控制器系统向对等节点发送提交确认。
57.如权利要求56所述的方法,还包括:
在从备用控制器系统中接收到提交确认后,向路由协议发送路由协议状态变化。
58.如权利要求56所述的方法,还包括:
在从对等节点接收到路由协议状态变化后,向路由协议发送路由协议状态变化。
59.一种网络设备,包括:
备用控制器;以及
工作控制器,用于从对等节点接收路由协议状态变化,向备用控制器发送路由协议状态变化,从备用控制器系统接收路由协议状态变化的提交确认,在从备用控制器接收到提交确认后提交路由协议状态变化,向对等节点发送提交确认。
60.如权利要求59所述的网络设备,其中工作控制器在从备用控制器接收到提交确认后向路由协议发送路由协议状态变化。
61.如权利要求59所述的网络设备,其中工作控制器在从对等节点接收到路由协议状态变化后向路由协议发送路由协议状态变化。
62.一种提供指令的机器可读介质,当指令被处理器执行时,可使处理器执行操作,该操作包括:
工作控制器系统从对等节点接收路由协议状态变化;
向备用控制器系统发送路由协议状态变化;
由工作控制器系统从备用控制器系统接收路由协议状态变化的提交确认;
在工作控制器系统中提交路由协议状态变化;以及
由工作控制器系统向对等节点发送提交确认。
63.如权利要求62所述的机器可读介质,还提供指令,当指令被处理器执行时,可使处理器执行操作,该操作包括:
在从备用控制器接收到提交确认后向路由协议发送路由协议状态变化。
64.如权利要求62所述的机器可读介质,还提供指令,当指令被处理器执行时,可使处理器执行操作,该操作包括:
在从对等节点接收到路由协议状态变化后向路由协议发送路由协议状态变化。
CNB018220290A 2000-12-07 2001-12-06 路由器和路由协议冗余 Expired - Lifetime CN1314243C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/733,284 US6910148B1 (en) 2000-12-07 2000-12-07 Router and routing protocol redundancy
US09/733,284 2000-12-07

Publications (2)

Publication Number Publication Date
CN1502191A true CN1502191A (zh) 2004-06-02
CN1314243C CN1314243C (zh) 2007-05-02

Family

ID=24946970

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018220290A Expired - Lifetime CN1314243C (zh) 2000-12-07 2001-12-06 路由器和路由协议冗余

Country Status (11)

Country Link
US (2) US6910148B1 (zh)
EP (1) EP1342340B1 (zh)
JP (1) JP4033769B2 (zh)
CN (1) CN1314243C (zh)
AT (1) ATE334537T1 (zh)
AU (1) AU2002232605A1 (zh)
CA (1) CA2431034C (zh)
DE (1) DE60121798T2 (zh)
ES (1) ES2267850T3 (zh)
HK (1) HK1066659A1 (zh)
WO (1) WO2002047329A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761577A (zh) * 2011-04-29 2012-10-31 深圳市友讯达科技发展有限公司 Cfda采集平台
CN103535016A (zh) * 2011-05-09 2014-01-22 瑞典爱立信有限公司 从活跃tcp应用到备用tcp应用的无中断切换

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7273601B2 (en) * 2000-07-18 2007-09-25 The University Of Western Ontario Preparation of radiolabelled haloaromatics via polymer-bound intermediates
FR2808353B1 (fr) * 2000-04-28 2003-12-05 Airsys Atm S A Dispositif de gestion d'entrees/sorties redondant, notamment de routage informatique
US7613183B1 (en) 2000-10-31 2009-11-03 Foundry Networks, Inc. System and method for router data aggregation and delivery
US6894970B1 (en) * 2000-10-31 2005-05-17 Chiaro Networks, Ltd. Router switch fabric protection using forward error correction
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
FR2819360B1 (fr) 2001-01-11 2003-04-11 Cit Alcatel Systeme de routage assurant la continuite de service des interfaces associees aux reseaux voisins
FR2819359B1 (fr) 2001-01-11 2003-04-11 Cit Alcatel Systeme de routage assurant la continuite de service, des machines a etats associees aux systemes de routage voisins
JP2005503047A (ja) * 2001-02-06 2005-01-27 エン ガルデ システムズ、インコーポレイテッド 安全なネットワークを供給するための装置と方法
WO2002091203A1 (en) * 2001-05-03 2002-11-14 Nokia Inc. Method and system for implementing mpls redundancy
US7359377B1 (en) * 2001-06-19 2008-04-15 Juniper Networks, Inc. Graceful restart for use in nodes employing label switched path signaling protocols
JP3908483B2 (ja) * 2001-06-28 2007-04-25 富士通株式会社 通信装置
US7441017B2 (en) * 2001-06-29 2008-10-21 Thomas Lee Watson System and method for router virtual networking
FR2827102B1 (fr) * 2001-07-09 2003-10-03 Cit Alcatel Systeme de routage inter systemes autonomes tolerant aux fautes
US7020716B2 (en) * 2001-08-31 2006-03-28 Adaptec, Inc. Method and system for verifying the hardware implementation of TCP/IP
US7788381B2 (en) 2001-09-17 2010-08-31 Foundry Networks, Inc. System and method for router keep-alive control
US7483433B2 (en) * 2001-09-17 2009-01-27 Foundry Networks, Inc. System and method for router data distribution
US7406527B2 (en) * 2001-11-02 2008-07-29 Microsoft Corporation Method for advance negotiation of computer settings
US8769154B2 (en) * 2002-01-24 2014-07-01 Alcatel Lucent Method and apparatus for facilitating routing protocol redundancy in a network element
US8005980B2 (en) * 2002-01-24 2011-08-23 Alcatel Lucent Method and apparatus for synchronizing redundant communication tasks
US7406035B2 (en) * 2002-01-24 2008-07-29 Alcatel-Lucent Canada Inc. Method and apparatus for providing redundant protocol processes in a network element
US20040078625A1 (en) * 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication
US7978598B1 (en) * 2002-03-01 2011-07-12 Cisco Technology, Inc. Connection replication
US7301894B1 (en) * 2002-03-25 2007-11-27 Westell Technologies, Inc. Method for providing fault tolerance in an XDSL system
US7209449B2 (en) * 2002-03-27 2007-04-24 Intel Corporation Systems and methods for updating routing and forwarding information
US20030185221A1 (en) * 2002-03-29 2003-10-02 Alan Deikman Network controller with shadowing of software routing tables to hardware routing tables
US7304941B2 (en) * 2002-04-11 2007-12-04 International Business Machines Corporation Switchover system and method in a data packet switching network
US7209435B1 (en) * 2002-04-16 2007-04-24 Foundry Networks, Inc. System and method for providing network route redundancy across Layer 2 devices
US7334048B1 (en) * 2002-06-04 2008-02-19 Extreme Networks, Inc. Method and apparatus for fast route table update
US7275081B1 (en) 2002-06-10 2007-09-25 Juniper Networks, Inc. Managing state information in a computing environment
US8001269B1 (en) * 2002-06-18 2011-08-16 Cisco Technology, Inc. Network address translation with IP redundancy
FI20021235A0 (fi) * 2002-06-24 2002-06-24 Nokia Corp Menetelmä ja järjestelmä redundanttia IP-edelleenohjausta varten tietoliikenneverkossa
US7440394B2 (en) 2002-06-24 2008-10-21 Nokia Corporation Method and system for redundant IP forwarding in a telecommunications network
US8037196B2 (en) * 2002-06-26 2011-10-11 Alcatel Lucent Method for maintaining communication between communication devices having inconsistent protocols
US7236453B2 (en) * 2002-06-27 2007-06-26 Jeremy Benjamin, Trustee High available method for border gateway protocol version 4
US20040006640A1 (en) * 2002-07-03 2004-01-08 Inderieden Daniel W. Notification to routing protocols of changes to routing information base
US7480737B2 (en) 2002-10-25 2009-01-20 International Business Machines Corporation Technique for addressing a cluster of network servers
US7036051B1 (en) * 2002-12-18 2006-04-25 Juniper Networks, Inc. Responsive virtual routing system
US7382769B1 (en) 2003-02-07 2008-06-03 Juniper Networks, Inc. Automatic filtering to prevent network attacks
US7814232B2 (en) * 2003-03-28 2010-10-12 Cisco Technology, Inc. Network address translation with gateway load distribution
JP4385834B2 (ja) * 2003-04-15 2009-12-16 パナソニック株式会社 ルーティング制御方法およびルータ装置
US7433343B1 (en) 2003-05-20 2008-10-07 Mark Jeffrey Smith Wireless system for communication
US8078758B1 (en) * 2003-06-05 2011-12-13 Juniper Networks, Inc. Automatic configuration of source address filters within a network device
WO2004112327A1 (ja) * 2003-06-11 2004-12-23 Nec Corporation ルータ装置およびネットワーク接続方式
US7751312B2 (en) * 2003-06-13 2010-07-06 International Business Machines Corporation System and method for packet switch cards re-synchronization
EP1501257A1 (en) * 2003-07-25 2005-01-26 Hewlett-Packard Development Company, L.P. Improvements in or relating to fault tolerant systems
US7406030B1 (en) 2003-08-25 2008-07-29 Juniper Networks, Inc. Dynamic renegotiation of graceful restart time to avoid double-failure traffic loss
US7562145B2 (en) * 2003-08-28 2009-07-14 International Business Machines Corporation Application instance level workload distribution affinities
US7839843B2 (en) 2003-09-18 2010-11-23 Cisco Technology, Inc. Distributed forwarding in virtual network devices
US7751416B2 (en) * 2003-09-18 2010-07-06 Cisco Technology, Inc. Virtual network device
US7178052B2 (en) * 2003-09-18 2007-02-13 Cisco Technology, Inc. High availability virtual switch
US7739403B1 (en) * 2003-10-03 2010-06-15 Juniper Networks, Inc. Synchronizing state information between control units
WO2005039142A1 (en) * 2003-10-17 2005-04-28 Siemens Aktiengesellschaft A basic message service for redundant devices
US8009556B2 (en) * 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
US8526427B1 (en) 2003-10-21 2013-09-03 Cisco Technology, Inc. Port-based loadsharing for a satellite switch
US7929424B2 (en) * 2003-10-31 2011-04-19 Ericsson Ab Switchover for broadband subscriber sessions
US7599285B2 (en) * 2003-11-03 2009-10-06 Cisco Technology, Inc. Combined electro-mechanical and solid state switching fabric
US20050111352A1 (en) * 2003-11-21 2005-05-26 Boon Ho Method and system for monitoring a network containing routers using a backup routing protocol
US9032095B1 (en) * 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
CN100407727C (zh) * 2004-01-18 2008-07-30 中兴通讯股份有限公司 一种基于消息的处理器间通信方法
US8265058B2 (en) * 2004-02-05 2012-09-11 Ericsson Ab Method and an apparatus for route selection in routing protocols
US7773596B1 (en) 2004-02-19 2010-08-10 Juniper Networks, Inc. Distribution of traffic flow criteria
US8990430B2 (en) 2004-02-19 2015-03-24 Cisco Technology, Inc. Interface bundles in virtual network devices
US7506194B2 (en) * 2004-03-24 2009-03-17 Cisco Technology, Inc. Routing system and method for transparently rocovering routing states after a failover or during a software upgrade
US7293198B2 (en) * 2004-03-25 2007-11-06 Emc Corporation Techniques for maintaining operation of data storage system during a failure
US8208370B1 (en) 2004-03-31 2012-06-26 Cisco Technology, Inc. Method and system for fast link failover
US7889733B2 (en) 2004-04-28 2011-02-15 Cisco Technology, Inc. Intelligent adjunct network device
FR2870420B1 (fr) * 2004-05-17 2006-09-08 Alcatel Sa Dispositif de gestion d'un protocole de mobilite pour un equipement d'un reseau de communications ip, en vue d'une continuite de service
US7710957B2 (en) * 2004-05-19 2010-05-04 Cisco Technology, Inc. System and method for implementing multiple spanning trees per network
US7706364B2 (en) * 2004-05-19 2010-04-27 Cisco Technology, Inc. Virtual network device clusters
US7284148B2 (en) * 2004-06-17 2007-10-16 International Business Machines Corporation Method and system for self-healing in routers
US7436836B2 (en) 2004-06-30 2008-10-14 Cisco Technology, Inc. Method and apparatus for detecting support for a protocol defining supplemental headers
US7808983B2 (en) 2004-07-08 2010-10-05 Cisco Technology, Inc. Network device architecture for centralized packet processing
US8730976B2 (en) 2004-08-17 2014-05-20 Cisco Technology, Inc. System and method for preventing erroneous link aggregation due to component relocation
US7515525B2 (en) * 2004-09-22 2009-04-07 Cisco Technology, Inc. Cooperative TCP / BGP window management for stateful switchover
US8717899B2 (en) 2004-10-13 2014-05-06 Cisco Technology, Inc. System and method for reporting out-of-resources (OOR) conditions in a data network
US8693350B2 (en) * 2004-10-26 2014-04-08 Jds Uniphase Corporation Method of collecting BGP routing protocol messages
US7808889B1 (en) * 2004-11-24 2010-10-05 Juniper Networks, Inc. Silent failover from a primary control unit to a backup control unit of a network device
US7742444B2 (en) 2005-03-15 2010-06-22 Qualcomm Incorporated Multiple other sector information combining for power control in a wireless communication system
US7573811B2 (en) * 2005-03-28 2009-08-11 Alcatel-Lucent Usa Inc. Network transparent OSPF-TE failover
JP2006285448A (ja) * 2005-03-31 2006-10-19 Oki Electric Ind Co Ltd 冗長システム
US7609617B2 (en) * 2005-04-14 2009-10-27 Cisco Technology, Inc. BGP hitless upgrade approaches
JP2006311254A (ja) * 2005-04-28 2006-11-09 Kddi Corp ネットワークシステム
US7751311B2 (en) * 2005-05-19 2010-07-06 Cisco Technology, Inc. High availability transport protocol method and apparatus
US8040899B2 (en) * 2005-05-26 2011-10-18 Genband Us Llc Methods, systems, and computer program products for implementing automatic protection switching for media packets transmitted over an ethernet switching fabric
US20060274649A1 (en) * 2005-06-06 2006-12-07 Sbc Knowledge Ventures Lp Method and apparatus for rerouting non-unicast traffic
US9055552B2 (en) 2005-06-16 2015-06-09 Qualcomm Incorporated Quick paging channel with reduced probability of missed page
US8750908B2 (en) 2005-06-16 2014-06-10 Qualcomm Incorporated Quick paging channel with reduced probability of missed page
US7606241B1 (en) 2005-08-12 2009-10-20 Juniper Networks, Inc. Extending standalone router syntax to multi-chassis routers
KR20070024302A (ko) * 2005-08-26 2007-03-02 한국전자통신연구원 셀룰러 시스템의 수면 모드 제어 장치 및 제어 방법
US7552262B1 (en) 2005-08-31 2009-06-23 Juniper Networks, Inc. Integration of an operative standalone router into a multi-chassis router
US9166904B2 (en) * 2005-09-08 2015-10-20 Cisco Technology, Inc. Method and apparatus for transferring BGP state information during asynchronous startup
US7881183B2 (en) * 2005-09-08 2011-02-01 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Recovery from control plane failures in the LDP signalling protocol
JP4747758B2 (ja) * 2005-09-21 2011-08-17 日立電線株式会社 ネットワーク装置
US7747999B1 (en) 2005-09-26 2010-06-29 Juniper Networks, Inc. Software installation in a multi-chassis network device
US8135857B1 (en) 2005-09-26 2012-03-13 Juniper Networks, Inc. Centralized configuration of a multi-chassis router
US7911940B2 (en) * 2005-09-30 2011-03-22 Genband Us Llc Adaptive redundancy protection scheme
US7948873B2 (en) * 2005-10-17 2011-05-24 Cisco Technology, Inc. Method for recovery of a controlled failover of a border gateway protocol speaker
US20090207790A1 (en) 2005-10-27 2009-08-20 Qualcomm Incorporated Method and apparatus for settingtuneawaystatus in an open state in wireless communication system
KR101022998B1 (ko) 2005-10-27 2011-03-22 퀄컴 인코포레이티드 무선 통신 시스템에서 섹터 유지 관리의 서비스 방법
US7518986B1 (en) 2005-11-16 2009-04-14 Juniper Networks, Inc. Push-based hierarchical state propagation within a multi-chassis network device
US7957380B2 (en) * 2005-11-21 2011-06-07 Cisco Technology, Inc. Support of unidirectional link in IS-IS without IP encapsulation and in presence of unidirectional return path
CN1980230B (zh) * 2005-11-30 2011-06-01 华为技术有限公司 对vrrp组进行管理的方法
US7804769B1 (en) * 2005-12-01 2010-09-28 Juniper Networks, Inc. Non-stop forwarding in a multi-chassis router
US7852778B1 (en) 2006-01-30 2010-12-14 Juniper Networks, Inc. Verification of network paths using two or more connectivity protocols
US7881188B2 (en) 2006-02-03 2011-02-01 Genband Us Llc Methods, systems, and computer program products for implementing link redundancy in a media gateway
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US7512776B2 (en) * 2006-03-06 2009-03-31 Alcatel Lucent Optimized control plane signalling for a high availability network device in a communications network
US8218654B2 (en) * 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
US7509528B2 (en) * 2006-03-10 2009-03-24 Alcatel Lucent Transaction bundling for improved redundancy
US8036213B1 (en) * 2006-03-30 2011-10-11 Cisco Technology, Inc. System and method for enhancing network stability by selectively controlling adjacency formation
US8089903B2 (en) * 2006-03-31 2012-01-03 Emc Corporation Method and apparatus for providing a logical separation of a customer device and a service device connected to a data storage system
US7502992B2 (en) 2006-03-31 2009-03-10 Emc Corporation Method and apparatus for detecting presence of errors in data transmitted between components in a data storage system using an I2C protocol
US8284656B2 (en) * 2006-04-28 2012-10-09 Alcatel Lucent System and method for resilient VPLS over multi-nodal APS protected provider edge nodes
US8208372B2 (en) * 2006-06-02 2012-06-26 Cisco Technology, Inc. Technique for fast activation of a secondary head-end node TE-LSP upon failure of a primary head-end node TE-LSP
US8441924B2 (en) * 2006-07-20 2013-05-14 Verizon Services Organization Inc. Redundant capability in a fiber optic network
CN101114892A (zh) * 2006-07-28 2008-01-30 华为技术有限公司 一种报文备份方法
US8031701B2 (en) 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
CN101193092A (zh) * 2006-11-29 2008-06-04 鸿富锦精密工业(深圳)有限公司 网络设备及其数据同步传输方法
CN100579072C (zh) * 2006-12-22 2010-01-06 华为技术有限公司 一种在ip设备之间进行通信的方法和系统
US8051326B2 (en) 2006-12-29 2011-11-01 Futurewei Technologies, Inc. System and method for completeness of TCP data in TCP HA
US9648147B2 (en) * 2006-12-29 2017-05-09 Futurewei Technologies, Inc. System and method for TCP high availability
US7937531B2 (en) * 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US8769591B2 (en) * 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US20080253369A1 (en) 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US20080285437A1 (en) * 2007-05-18 2008-11-20 Adc Dsl Systems, Inc. Ethernet protection switching system
US8442072B2 (en) * 2007-05-25 2013-05-14 Futurewei Technologies, Inc. Method of preventing transport leaks in hybrid switching networks by extension of the link layer discovery protocol (LLDP)
US8806472B2 (en) * 2007-09-27 2014-08-12 Ericsson Ab In-service software upgrade utilizing metadata-driven state translation
US7957330B1 (en) 2007-11-27 2011-06-07 Juniper Networks, Inc. Failsafe management of periodic communications during system upgrade for a network device
US8134915B2 (en) * 2007-12-12 2012-03-13 Cisco Technology, Inc. Method and apparatus for providing network redundancy
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US8243591B2 (en) * 2008-02-12 2012-08-14 Alcatel Lucent Method and tool for router interface L2 redundancy
US8031722B1 (en) 2008-03-31 2011-10-04 Emc Corporation Techniques for controlling a network switch of a data storage system
US20090252173A1 (en) * 2008-04-03 2009-10-08 Rangaprasad Sampath Method For Improving Efficiency Of Redundancy Protocols
US20100005263A1 (en) * 2008-07-04 2010-01-07 Huawei Technologies Co., Ltd. Information backup method, firewall and network system
JP5113684B2 (ja) * 2008-09-05 2013-01-09 株式会社日立製作所 アクセスゲートウェイ装置の制御方法及び通信システム
US8644186B1 (en) 2008-10-03 2014-02-04 Cisco Technology, Inc. System and method for detecting loops for routing in a network environment
US7969974B2 (en) * 2008-10-15 2011-06-28 Cisco Technology, Inc. System and method for providing a multipath switchover between redundant streams
US8467296B2 (en) * 2009-01-09 2013-06-18 Foundry Networks, Llc Hierarchical rate color marker
US8730812B2 (en) * 2009-01-09 2014-05-20 Brocade Communications Systems, Inc. Hierarchical rate color marker
CN101853137B (zh) * 2009-03-31 2012-06-06 联想(北京)有限公司 一种多硬件系统数据处理设备及其中的切换方法
CN101534309B (zh) 2009-04-14 2013-03-13 华为技术有限公司 节点注册方法、路由更新方法、通讯系统以及相关设备
US8335943B2 (en) * 2009-06-22 2012-12-18 Citrix Systems, Inc. Systems and methods for stateful session failover between multi-core appliances
US8045477B2 (en) * 2009-07-17 2011-10-25 Cisco Technology, Inc. Smart protection escalation mechanism prevention
US8154992B2 (en) * 2009-08-11 2012-04-10 Google Inc. System and method for graceful restart
US8363549B1 (en) 2009-09-02 2013-01-29 Juniper Networks, Inc. Adaptively maintaining sequence numbers on high availability peers
CN102045185B (zh) * 2009-10-21 2014-07-16 中兴通讯股份有限公司 用户信息备份方法及装置
US8369345B1 (en) 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
US8873377B2 (en) * 2009-11-18 2014-10-28 Juniper Networks, Inc. Method and apparatus for hitless failover in networking systems using single database
US9274851B2 (en) 2009-11-25 2016-03-01 Brocade Communications Systems, Inc. Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines
US8472311B2 (en) 2010-02-04 2013-06-25 Genband Us Llc Systems, methods, and computer readable media for providing instantaneous failover of packet processing elements in a network
US8769155B2 (en) * 2010-03-19 2014-07-01 Brocade Communications Systems, Inc. Techniques for synchronizing application object instances
US8576703B2 (en) 2010-03-19 2013-11-05 Brocade Communications Systems, Inc. Synchronization of multicast information using bicasting
US9168946B2 (en) * 2010-03-19 2015-10-27 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
JP2013524557A (ja) * 2010-03-26 2013-06-17 ロックスター ビーアイディーシーオー,エルピー ルーティングされるEthernetネットワークでの分散した障害回復
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
US9104619B2 (en) 2010-07-23 2015-08-11 Brocade Communications Systems, Inc. Persisting data across warm boots
US8495418B2 (en) 2010-07-23 2013-07-23 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single CPU
WO2012070173A1 (en) * 2010-11-22 2012-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US20120281695A1 (en) * 2011-05-05 2012-11-08 Brocade Communications Systems, Inc. Control packet bicasting between stackable devices
US9143335B2 (en) 2011-09-16 2015-09-22 Brocade Communications Systems, Inc. Multicast route cache system
US8913485B2 (en) * 2011-09-16 2014-12-16 Telefonaktiebolaget L M Ericsson (Publ) Open shortest path first (OSPF) nonstop routing (NSR) with link derivation
US8964758B2 (en) 2011-09-29 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) OSPF nonstop routing (NSR) synchronization reduction
US8923312B2 (en) 2011-09-29 2014-12-30 Telefonaktiebolaget L M Ericsson (Publ) OSPF nonstop routing synchronization nack
JP5703201B2 (ja) * 2011-12-02 2015-04-15 アラクサラネットワークス株式会社 冗長制御装置およびネットワークシステム
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9203690B2 (en) 2012-09-24 2015-12-01 Brocade Communications Systems, Inc. Role based multicast messaging infrastructure
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
US8902780B1 (en) 2012-09-26 2014-12-02 Juniper Networks, Inc. Forwarding detection for point-to-multipoint label switched paths
US20140149819A1 (en) * 2012-11-28 2014-05-29 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for protocol data unit recovery in an is-is system
US9258234B1 (en) 2012-12-28 2016-02-09 Juniper Networks, Inc. Dynamically adjusting liveliness detection intervals for periodic network communications
US8953460B1 (en) 2012-12-31 2015-02-10 Juniper Networks, Inc. Network liveliness detection using session-external communications
US9118409B2 (en) * 2013-01-17 2015-08-25 Strata Products Worldwide, Llc Method, controller, and system for tunnel communication
CN103973571A (zh) * 2013-02-05 2014-08-06 中兴通讯股份有限公司 网络处理器及其路由查找方法
US9256660B2 (en) * 2013-08-06 2016-02-09 Telefonaktiebolaget L M Ericsson (Publ) Reconciliation protocol after ICR switchover during bulk sync
US9268836B2 (en) * 2013-11-14 2016-02-23 Vmware, Inc. Intelligent data propagation in a highly distributed environment
US9230001B2 (en) * 2013-11-14 2016-01-05 Vmware, Inc. Intelligent data propagation using performance monitoring
US10193801B2 (en) 2013-11-25 2019-01-29 Juniper Networks, Inc. Automatic traffic mapping for multi-protocol label switching networks
US9769017B1 (en) 2014-09-26 2017-09-19 Juniper Networks, Inc. Impending control plane disruption indication using forwarding plane liveliness detection protocols
US9619349B2 (en) 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
CN104821913B (zh) * 2015-05-05 2019-01-29 新华三技术有限公司 一种数据报文转发方法和装置
US9778354B2 (en) 2015-08-10 2017-10-03 Mitsubishi Electric Research Laboratories, Inc. Method and system for coding signals using distributed coding and non-monotonic quantization
US9501717B1 (en) 2015-08-10 2016-11-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for coding signals using distributed coding and non-monotonic quantization
US20170093726A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. High-speed communications platform
CN106933547B (zh) 2015-12-29 2020-12-01 阿里巴巴集团控股有限公司 全局信息获取及处理的方法、装置和更新系统
CN106933548B (zh) 2015-12-29 2021-01-12 阿里巴巴集团控股有限公司 全局信息获取、处理及更新、方法、装置和系统
CN106933550B (zh) 2015-12-29 2021-01-08 阿里巴巴集团控股有限公司 全局信息获取、处理及更新方法、装置和系统
US10374936B2 (en) 2015-12-30 2019-08-06 Juniper Networks, Inc. Reducing false alarms when using network keep-alive messages
US10397085B1 (en) 2016-06-30 2019-08-27 Juniper Networks, Inc. Offloading heartbeat responses message processing to a kernel of a network device
CN107959636B (zh) * 2016-10-17 2021-01-26 新华三技术有限公司 Bgp消息的发送方法及装置
DE102017130167A1 (de) * 2016-12-16 2018-06-21 Hirschmann Automation And Control Gmbh Verfahren zur Optimierung der Ausfallerkennung von Redundanz-Protokollen mit Testdatenpaketen
US10771316B1 (en) * 2017-11-30 2020-09-08 Amazon Technologies, Inc. Debugging of a network device through emulation
US10447571B2 (en) 2018-01-12 2019-10-15 Cisco Technology, Inc. Dataplane-based seamless bidirectional forwarding detection monitoring for network entities
CN112567696B (zh) * 2018-08-24 2022-08-09 日立安斯泰莫株式会社 车载通信装置及车载系统
US11750441B1 (en) 2018-09-07 2023-09-05 Juniper Networks, Inc. Propagating node failure errors to TCP sockets
US10901399B2 (en) * 2018-09-28 2021-01-26 Rockwell Automation Technologies, Inc. High availability industrial automation controller and method of operating the same
CN115208824A (zh) * 2019-03-13 2022-10-18 华为技术有限公司 路由信息管理方法、装置及计算机存储介质
EP3942398A4 (en) 2019-05-23 2023-04-05 Hewlett Packard Enterprise Development LP SYSTEM AND METHOD FOR FACILITATING DATA REQUEST MANAGEMENT IN A NETWORK INTERFACE (NIC) CONTROLLER
CN115190061A (zh) * 2020-06-04 2022-10-14 华为技术有限公司 处理路由报文的方法、通信设备、存储介质及系统
CN114374642B (zh) * 2021-12-29 2023-06-16 中国电信股份有限公司 一种路由信息的维护方法及装置
CN116489085B (zh) * 2023-03-28 2023-10-27 网根科技(青岛)有限公司 一种基于Handle的解析路由安全监测方法和系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471469A (en) * 1994-02-08 1995-11-28 Metricon, Inc. Method of resolving media contention in radio communication links
US5453977A (en) * 1994-02-08 1995-09-26 Metricom, Inc. Method for network configuration via third party query
US5473599A (en) 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
US5541911A (en) 1994-10-12 1996-07-30 3Com Corporation Remote smart filtering communication management system
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
JPH0974412A (ja) * 1995-09-04 1997-03-18 Fujitsu Ltd Atm交換網のapsシステム
US5936936A (en) 1997-04-11 1999-08-10 International Business Machines Corporation Redundancy mechanisms for classical internet protocol over asynchronous transfer mode networks
US6366558B1 (en) * 1997-05-02 2002-04-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
JP3286584B2 (ja) * 1997-11-20 2002-05-27 株式会社日立製作所 多重化ルータ装置
JP3204302B2 (ja) 1997-11-27 2001-09-04 日本電気株式会社 ネットワークエレメント管理システム及びそれにおけるデータベース更新方法
US6577634B1 (en) * 1998-07-01 2003-06-10 Hitachi, Ltd. Method for sharing network information and a router apparatus
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6885635B1 (en) * 2000-11-21 2005-04-26 Juniper Networks, Inc. High capacity router having redundant components
US20020176355A1 (en) * 2001-05-22 2002-11-28 Alan Mimms Snooping standby router

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761577A (zh) * 2011-04-29 2012-10-31 深圳市友讯达科技发展有限公司 Cfda采集平台
CN103535016A (zh) * 2011-05-09 2014-01-22 瑞典爱立信有限公司 从活跃tcp应用到备用tcp应用的无中断切换

Also Published As

Publication number Publication date
CA2431034A1 (en) 2002-06-13
US6910148B1 (en) 2005-06-21
ES2267850T3 (es) 2007-03-16
WO2002047329A2 (en) 2002-06-13
JP4033769B2 (ja) 2008-01-16
AU2002232605A1 (en) 2002-06-18
ATE334537T1 (de) 2006-08-15
DE60121798D1 (de) 2006-09-07
HK1066659A1 (en) 2005-03-24
DE60121798T2 (de) 2007-08-09
US20050265346A1 (en) 2005-12-01
US7392424B2 (en) 2008-06-24
WO2002047329A3 (en) 2003-06-05
EP1342340A2 (en) 2003-09-10
JP2004534414A (ja) 2004-11-11
EP1342340B1 (en) 2006-07-26
CA2431034C (en) 2009-06-02
CN1314243C (zh) 2007-05-02

Similar Documents

Publication Publication Date Title
CN1314243C (zh) 路由器和路由协议冗余
CN1649341A (zh) 应用路由选择协议的堆叠式路由器
CN1310478C (zh) 具有独立协议堆栈体系结构的多业务网络交换机
CN1685675A (zh) 内部bgp下载器
CN1232071C (zh) 通信网络管理
CN1311377C (zh) 转寄信息封包的方法
CN1894890A (zh) 在因特网协议网络中的虚拟环上通信的系统与方法
CN1669001A (zh) 用于服务器整合环境的业务连续性策略
CN1679003A (zh) 启用远程直接存储器存取的网络接口控制器切换和切回支持
CN1299222C (zh) 存在管理的实现
CN1719831A (zh) 基于集群路由器结构的高可用分布式边界网关协议系统
CN1225709C (zh) 分散存储型多处理机系统及故障恢复方法
CN1637714A (zh) 远程复制网络
CN1855900A (zh) 网关系统
CN1656749A (zh) 数字内容分发系统、方法、程序及服务器和客户机
CN1756197A (zh) 用于管理设备的系统、设备、方法和计算机程序产品
CN1779660A (zh) 三者间的异步复制
CN1756196A (zh) 设置管理系统和设置管理程序
CN1222902C (zh) 通信网中的方法和设备
CN1677979A (zh) 通过网络在计算机之间共享对象的系统和方法
CN1213444A (zh) 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备
CN1630259A (zh) 内部代理装置、移动路由器、通信系统以及通信方法
CN1656738A (zh) 在连接多个数据通信网络的中间网络元件处的接入控制
CN1754351A (zh) 一种用于在网络中证实可达性的通信模型、信号、方法和设备 ,在该网络中,通过将静态标识符与动态分配的网络地址彼此相关联来获得主机可达性
CN1870532A (zh) 一种信令跟踪方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1066659

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: American Texas

Patentee after: Nokia Oyj

Address before: American California

Patentee before: Nokia Oyj

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140430

Address after: Espoo, Finland

Patentee after: Nokia Oyj

Address before: American Texas

Patentee before: Nokia Oyj

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160111

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190508

Address after: American New York

Patentee after: Origin Asset Group Co., Ltd.

Address before: Espoo, Finland

Patentee before: Technology Co., Ltd. of Nokia

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070502