具有改进的故障转移通知的ip冗余的制作方法

文档序号:7873622阅读:195来源:国知局
专利名称:具有改进的故障转移通知的ip冗余的制作方法
背景技术
本发明一般地涉及使用在冗余组中一起工作的冗余或备用设备来提供虚拟路由器服务的网络系统。更具体地,本发明涉及用于在主成员停止运行时,向冗余组成员提供改进的故障转移(failover)通知,以允许故障转移(即,改变)到另一个组成员,并由此允许持续的虚拟路由器服务的方法和装置。
如上所述,局域网(LAN)通常通过一个或多个路由器彼此连接,从而一个LAN上的主机(PC或其他任意LAN实体)可以与不同LAN上的其他主机通信。通常,主机只能与其本地的LAN段上的实体直接通信。当其接收到向未被其认为是本地的地址发送数据分组的请求时,其通过路由器(或其他第三层或网关设备)通信,由路由器来确定如何在主机和远程网络中的目的地地址之间引导分组。不幸地,由于各种原因,路由器在创建触发事件时可能变为不能工作(例如,电源故障、重启、排定的维护等)。这种潜在的路由器故障已经导致了冗余系统的开发和使用,其中冗余系统具有不止一个路由器,以在主路由器故障事件中提供备份。当路由器发生故障时,通过不能工作的路由器进行通信的主机可以仍然与其他LAN通信,如果它能向连接到其LAN的另一路由器发送分组的话。
已经设计了各种协议来允许主机从网络中一组路由器之中选择一个路由器。其中的协议路由信息协议(或RIP)和ICMP路由器发现协议(IRDP)这两个协议是涉及主机动态参与的协议的例子。但是,因为RIP和IRDP都需要主机动态涉及到路由器选择中,所以性能可能被降低,并且可能需要专门的主机修改和管理。
在一种广泛使用并稍微简单一些的方法中,主机仅识别单个“默认路由器”(在某些实例中也可以称为“默认网关”)。本领域的技术人员将理解,在许多实例中,在本公开中的术语“路由器”和“网关”可以互换使用。在这种方法中,主机被配置为当其需要向其自身LAN之外的地址发送分组时,其向默认路由器发送分组。这不对可用路由器进行跟踪或作出向不同路由器切换的决定。这在主机部分只需要非常少的努力,但是具有很大的危险。如果默认路由器发生故障,则主机不能向其LAN外部发送分组。即使可能存在能够接替的冗余路由器,也可能是这样的情况,因为主机并不知道备份。不幸地,这种系统已经被用在任务关键应用(mission critical application)中,例如股票交易。
这些早期系统的缺点导致了冗余网关系统的开发和实现,其允许故障转移恢复。“故障转移”被定义为新的网关设备代替已经发生故障或者处于其他不可用的情况下的网关设备,其中新网关设备承担了发生故障的设备的职责和功能。例如,以备用工作模式工作的网关设备可以接替在故障之前以活动工作模式工作的另一网关设备。
一个这样的系统是加利福尼亚州圣何塞(San Jose,California)的Cisco Systems,Inc.的热备用路由器协议(HSRP)。对早先的系统以及HSRP类型系统的更详细的描述可以见于1995年12月5日向CiscoSystems,Inc.授权的题为“STANDBY ROUTER PROTOCOL”(备用路由器协议)的美国专利No.5,473,599(这里也称作′599专利),这里为了所有目的通过引用将其全部内容结合于此。在T.Li、B.Cole、P.Morton和D.Li的题为“Cisco Hot Standby Router Protocol(HSRP)”(Cisco热备用路由器协议)的RFC 2281中也对HSRP进行了详细描述,这里为了所有目的通过引用将其全部内容结合于此。
另一冗余网关系统是虚拟路由器冗余协议(VRRP),它是向LAN上的一组VRRP路由器中的一个动态指派分组转发职责的选举协议。VRRP路由器被配置为与连接到LAN的一个和多个其他路由器一同运行VRRP协议。在VRRP建立中,一个路由器被选举为“主控(Master)”路由器,其他路由器充当主控路由器发生故障时的“备份(Backup)”。在S.Knight等的题为“Virtual Router Redundancy Protocol”(虚拟路由器冗余协议)的RFC 2338中对VRRP进行了详细描述,这里为了所有目的通过引用将其全部内容结合于此。
HSRP被广泛用来对网段的主路由器进行备份。在HSRP中,“备用(Standby)”路由器被指定为对“活动(Active)”路由器的备份。备用路由器链接到由活动路由器服务的网段或多个网段。活动和备用路由器共享“虚拟IP地址”,并且可能共享“虚拟媒体访问控制(MAC)地址”,虚拟MAC地址实际上在一个时刻只能被一个路由器使用。来自相关专用网络的所有因特网通信都采用虚拟IP和MAC地址。在任何给定时刻,活动路由器是采取并使用虚拟地址的唯一路由器。然后,如果活动路由器由于任何原因而应该停止,则备用路由器(通过采取虚拟地址)接替活动路由器的负载。这允许主机总将数据分组引导到运转的路由器,而不需要监视网络的路由器。
图1A和图1B示出了Cisco HSRP系统。从图1A中看到,四个网关110A~110D工作在正常模式中,向公共IP子网提供活动/备用配置中的冗余默认网关服务。在图1A中,多个路由器110A~110D形成冗余组108(RG),并共享虚拟MAC地址118和虚拟IP地址116。公共子网130上的主机120A~120C将它们的默认网关IP地址126和MAC地址ARP缓存128设置为用于它们的子网的RG 108内的虚拟地址116、118。在现有的HSRP系统的RG 108中,基于预先配置的优先级或其他合适的标准和/或方法来选择“活动”RG成员110A(例如,“活动HSRP使能路由器”)。
RG 108的初始活动路由器110A响应所有对虚拟IP地址116的地址解析协议(“ARP”)请求(或路由器用来向请求方提供地址信息的任何相似或相近机制),从而在正常工作期间向公共子网130的所有主机120提供默认网关服务。在正常工作期间,RG 108的副RG成员(例如,图1A中的成员110B)保持“备用”模式。如果RG 108的主成员110A发生故障,则如图1B所示,备用路由器110B将采取虚拟MAC地址118和虚拟IP地址116,由此有效地变为主成员(或“活动路由器”),并且此后向公共子网130的所有主机120提供不中断的网关服务,而不需要额外的ARP发现和/或解析。这种配置向网关设备提供了可靠的故障转移功能。
VRRP提供功能与HSRP相似的服务。VRRP将HSRP活动路由器指示为主路由器,并且将任何HSRP备用/侦听路由器指示为备份路由器。VRRP以与HSRP相近的方式应用虚拟IP地址和虚拟MAC地址机制,这样向主机提供默认虚拟路由器或网关,以与本地LAN外部通信。
诸如VRRP和HSRP之类的第一跳冗余协议通常具有数秒的故障转移期,在此期间不转发流量。这种延时是由于这些协议中所使用的检测机制造成的。在VRRP中,通过在3个Hello期加上任何偏移时间内没有接收到主公告,检测到主路由器的故障。例如,典型的公告期是1秒,这意味着将在3~4秒后检测到发生故障的主路由器。这种延迟不能有效地支持高可用性路由环境,其中只有活动路由器或网关设备应该路由流量。HSRP采用类似的故障转移机制,其通常在改变到新的活动路由器或其他网关设备之前等待3个Hello期(在HSRP中也被称为保持时间(Holdtime))。
考虑到上述原因,希望提供具有改进的故障切换通知的冗余网关服务。

发明内容
本发明涉及使用网关设备组中多于一个的网关设备以将通信引导出LAN的冗余网关方法、装置和系统。从而在活动路由器或其他网关设备发生故障的事件中,提供故障转移服务。
根据本发明一个实施例的故障转移监视单元包括存储器和耦合到存储器的处理器。监视单元还包括连接到处理器的网关端口。每个网关端口被配置为将网关设备连接到监视单元。监视单元被配置为收集和存储关于冗余组的冗余组数据,其中冗余组包括多个连接到监视单元的网关设备。冗余组包括活动网关设备和一个或多个备用网关设备。监视单元监视网关端口,以检测活动网关设备的故障。当检测到故障时,监视单元向每个冗余组备用网关设备通知活动网关设备故障。
在本发明的另一实施例中,一种在冗余组中执行故障转移的方法包括在连接到冗余组的监视单元中收集和存储冗余组数据,其中冗余组包括多个网关设备。这些冗余组网关设备包括活动网关设备和备用网关设备。根据该方法,监视单元监视冗余组网关设备,并检测冗余组活动网关设备的故障。一旦检测到活动网关设备故障,监视单元就向冗余组备用网关设备通知活动网关设备故障。在一个实施例中,检测冗余组活动网关设备故障的步骤包括检测连接到监视单元的网关设备的故障,然后查询冗余组数据以判断发生故障的网关设备是否是活动网关设备。
在本发明的另一实施例中,一种用于在冗余组中执行故障转移的装置具有用于在用于监视冗余组的装置中收集和存储冗余组数据的装置,所述冗余组连接到监视装置,其中冗余组包括多个网关设备,所述多个网关设备包括活动网关设备和备用网关设备。该装置还具有用于监视冗余组网关设备的装置,和用于检测冗余组活动网关设备的故障的装置。一旦该装置检测到活动网关设备故障,该装置就使用用于向冗余组备用网关设备通知活动网关设备故障的装置来实现故障转移。
在本发明的另一实施例中,一种用于实现在冗余组中执行故障转移的方法的计算机程序产品具有用于在连接到冗余组的监视单元中收集和存储冗余组数据的计算机代码,其中冗余组包括多个网关设备,所述网关设备包括活动网关设备和备用网关设备。计算机程序产品还包括用于监视冗余组网关设备的计算机代码,和用于检测冗余组活动网关设备的故障的计算机代码。该产品还具有用于向冗余组备用网关设备通知活动网关设备的故障的计算机代码。
在前述每个实施例中,监视单元可以是第二层交换机。另外,网关设备可以是路由器或第三层设备。此外,在某些实施例中,冗余组可以是HSRP组或VRRP组。
当阅读下面的详细描述并研究附图中的各个图形时,本发明的这些以及其他优点将变得清楚。


结合附图参考下面的描述,将最好地理解本发明,附图中图1A是用于LAN中主机的HSRP网关服务的示意图。
图1B是用于LAN中主机的HSRP网关服务的示意图,示出了网关设备中的一个发生故障时的故障转移模式。
图2A是示出了使用本发明一个实施例,通过冗余组连接到外部目的地的专用网络的逻辑网络配置的网络图。
图2B是示出了如图2A所示的这类系统的物理配置,包括图2A的网络图中的元素之间的一些逻辑连接和关系。
图3是示出了使用本发明一个实施例的方法的流程图。
图4是可以在其中实现本发明实施例的交换机或其他第二层设备的图形表示。
具体实施例方式
定义现在将详细参考本发明的优选实施例。在附图中图示了利用由CiscoSystems所开发、出售和/或使用的产品、协议、方法、系统和其他技术的优选实施例的示例。虽然将结合该优选实施例来描述本发明,但是应该理解,这并不是要将本发明限制到一个优选实施例,或限制到它的仅仅与Cisco产品和系统有关的实现方式。而是,下面的描述意在覆盖由所附权利要求所定义的发明精神和范围内可以包括的替代、修改和等同物。在下面的描述中,列出了许多具体细节,以便提供对本发明的彻底理解。没有这些具体细节中的某些或全部,也能实施本发明。在其他实例中,没有详细描述公知的处理操作,以避免不必要地使本发明模糊。
在本说明书中使用了下列术语。它们的定义被提供用于帮助理解这里所描述的优选实施例,但是并不必然地限制本发明的范围。在本公开中别的地方也可能出现或提供其他定义,并且同样是提供来帮助理解这里所描述的优选实施例,而不是必然地限制本发明的范围。
“主机”是PC,或者处于LAN上的其他任意网络实体,其周期性地通过路由器或网桥与该主机所处的LAN外部的网络实体通信。在该公开中,可以等同地使用术语“用户”。
“IP(因特网协议)地址”是用于在IP协议套中工作的设备的网络层地址。IP地址通常是32位的字段,其至少有一部分包含与其具体网段相对应的信息。这样,路由器的IP地址可以取决于其在网络中的位置而改变。
“MAC地址”是数据链路层设备地址,由处理具体类型的LAN所特有的问题的IEEE 802委员会定义。可用MAC(媒体访问控制的首字母缩写)地址的LAN类型包括令牌环、FDDI和以太网。MAC地址通常是要应用于具体的物理设备,而不管该设备在何处接入到网络中。这样,MAC地址通常被硬编码到设备中——例如,硬编码到路由器的ROM中。这应该与上述的网络层地址的情况相区别,网络层地址取决于其在何处接入网络而改变。真MAC地址(诸如“烧入地址”或BIA MAC地址)也可以与可以包括虚拟MAC地址的“虚拟地址”(如下定义)相区别。
“分组”是包括源和目的地节点地址在内的控制信息和数据的集合,其被格式化以从一个节点传输到另一节点。在本发明的环境中,重要的是要注意,通过将LAN连接起来的路由器或网桥,一个LAN上的主机向另一LAN上的主机发送分组。
“路由器”是一种硬件,其在网络层工作,以在网络的各个LAN或WAN之间引导分组。网络层通常通过寻找穿过一串连接起来的节点的路径,允许网络中的实体对互相通信。本公开中可能用到的其他术语包括第三层交换机、第三层设备和网关或网关设备,它们未必与路由器相同,但是可以在与路由器相同的地方和相同的方式运行。这些术语中的任何一个或者全部都应尽可能宽的进行解释,除非特别地对其进行更窄的限定。
“交换机”是在数据链路层工作的硬件设备,其将LAN分段为分别的冲突域。
“虚拟地址”是与虚拟实体相对应的地址,通常由一组真实网络实体共享。在本发明的环境中,两个或多个真实路由器中的一个真实路由器通过采取虚拟地址来模拟虚拟路由器,并且另一实体(通常是主机)被配置为向这样的虚拟地址发送数据分组,而不管当前由哪一个真实路由器来模拟虚拟路由器。在优选实施例中,虚拟地址可以包括MAC层和网络层(IP)地址。通常,组中的各个成员每一个都具有采取(一个或多个)虚拟地址以模拟虚拟实体的能力。
概述使用IP协议的专用网络中的主机(例如,工作站、用户和/或数据中心服务器)利用默认网关来从本地专用网络出去并访问包括公共网络在内的远程网络。在这样的设置中,每个专用网络主机必须具有对网关IP地址的在先知识,其中网关IP地址通常是路由器或第三层交换机IP地址。主机或者被静态地配置有默认网关的IP地址,或者通过配置协议(诸如DHCP)在启动时被指派地址。在任一种情形中,每个主机对预定要从本地专用网络出去的所有网络流量使用相同的默认网关IP地址。
如上所述,冗余系统可以向与本地和/或专用网络外部通信的主机提供改进的服务。图2A是示出了使用本发明的一个实施例,通过冗余组连接到外部目的地的专用网络的逻辑网络配置的网络图。虽然图2A为了说明的目的而被大大简化,但是结合附图所表现的示例向本领域的技术人员提供了关于如何实现并使用本发明的知识。例如,将使用Cisco的HSRP冗余网关系统来解释图2A所图示的系统。
其他IP冗余方案和/或协议也可以以相似的方式利用本发明,并且这些相似的实现方式和使用对本领域的技术人员而言是清楚的。因此,用来描述本发明的一个或多个实施例的术语不是限于单个冗余系统。例如,被表述为“活动路由器”或“活动网关设备”或处于“活动工作模式”等的网关设备是指对离开给定网络(例如,专用网络)的传输负责的路由器或其他网关设备。处于这种活动工作模式中的路由器可以是HSRP组中处于活动状态的路由器、VRRP组中处于主控状态的路由器,或者某些其他相似设备。在“备用工作模式”中工作或被指示为“备用路由器”或“备用网关设备”的路由器等是指对离开给定网络(例如,专用网络)的传输负责的活动路由器或其他设备的可能的替代者的路由器或其他网关设备。处于这种备用工作模式中的路由器可以是处于HSRP备用状态的HSRP路由器(或其他网关设备)、处于VRRP备份状态的VRRP路由器(或其他网关设备)或某些其他相似或相近的设备。
在图2A所示的逻辑网络配置中,专用网络220(使用地址空间10.0.0.0)通过逻辑或虚拟路由器210连接到公共网络或其他目的地240。虚拟路由器210包括三个“真实”或物理路由器212、214、216。虚拟路由器210在接口217上连接到专用网络220,并且在接口219上连接到目的地240。在图2A中,如这里所描述的,系统被配置以实现本发明的一个实施例。
如上所述,在每个HSRP组中,只有一个真实路由器担当“活动”路由器,其将分组转发离开专用网络220。在本发明的一个实施例的该示例中,路由器212是活动HSRP路由器,而路由器214是备用HSRP路由器,路由器216处于HSRP“侦听”状态,这意味着只有路由器212在转发分组。备用路由器通常在当前的活动路由器发生故障或处于其他不能工作的事件中,HSRP中活动状态的队列中的下一路由器。
但是,在某些情形中,其中在前一活动路由器发生故障后进行选举来确定给定HSRP中或者其他冗余组中哪个路由器将接替作为新的活动路由器,故障转移时间是冗余组被通知需要选举新的活动路由器或其他网关设备所花的时间。本发明通过缩短在活动网关设备发生故障与向其他冗余组成员通知需要选举新的活动网关设备之间流逝的时间,将加快这种替换。
当活动路由器212的LAN接口发生故障或路由器212本身发生故障时,路由器212不能与工作于备用工作模式的路由器214通信来通知路由器214需要代替的活动路由器。这样,备用路由器214不能立即接替。而是,备用路由器214通常必须等待数秒来接替活动工作模式中的操作,其间其等待来自活动路由器的排定的(一个或多个)保持活动消息。
第一跳冗余协议(例如,VRRP和HSRP)的早期版本通常具有数秒的故障转移期,在此期间,不转发流量。这是由于如下事实造成的故障检测是基于在指定的一段时间内没有接收到来自活动路由器的周期性、排定的通信(例如,保持活动或Hello通知)。例如,在HSRP中,处于备用工作模式的路由器可能等待3个Hello期(由HSRP冗余组中的活动路由器广播的Hello消息,用于将该活动路由器仍然正常并在运行通知给非活动成员活动路由器)。典型的Hello期是1秒,因此将在3秒内检测到处于活动工作模式的路由器的故障。
图2B示出了诸如图2A所示的这类系统的典型物理配置。虽然图2A示出了图2A的网络图中的元素之间的逻辑连接和关系,但是图2B示出了至少一些实际物理连接,这些物理连接通常被用在诸如图2A所示的这类系统中。例如,在所图示的示例的物理配置中,交换机250通常提供LAN连通性。主机222、224和226可以分别连接到交换机端口250a、250b和250c。各个真实路由器212、214、216连接到各个交换机端口(例如,分别连接到端口250x、250y和250z),交换机可以监视这些端口,就如本领域的技术人员所理解的那样。在本发明的一个实施例中,监视单元(例如,交换机250)被用来识别工作于冗余组的活动工作模式的路由器的故障,并且将相关的状态改变传送给有关各方,例如工作于备用工作模式的(一个或多个)路由器。这样,备用路由器可以开始在该组的活动工作模式中工作,由此减少转发停工时间。不是等待没有从不能运行的活动路由器接收到保持活动消息,而是监视单元可以直接且更迅速地将活动路由器发生故障或其他不可用的情况通知给备用路由器。
本领域的技术人员可以使用各种方法和装置来实施本发明。可以用来获得这种功能的一种机制是图2B所示的实施例。具体地说,交换机250监视工作于活动工作模式的任何(一个或多个)路由器的通知组播(例如,公告),并记录识别这些活动路由器所连接的交换机端口所需的信息。交换机250被配置为收集并存储这种类型的公告详细资料(以及可能在执行本发明时有用的可能的其他可用于交换机250的可收集信息),用于将来使用。交换机250还可以收集并存储关于与交换机端口连接的冗余组中所有路由器和/或其他设备的数据。任何这些根据本发明帮助监视单元(例如,交换机)来提供故障转移和通知功能的信息和/或数据在这里将被称为“网关设备信息”或“冗余组数据”。在本发明的一个实施例中,监视单元只收集识别工作于活动工作模式的冗余组网关设备以及这些活动设备所连接的监视单元端口所需的数据。
当交换机250上的一个端口发生故障时(例如,当所连接的设备不再是活动的时),交换机250检查在其存储器(或多个存储器)中所存储的冗余组数据,以查看工作于活动工作模式的路由器是否连接到该端口。如果交换机250判断出活动路由器连接到发生故障的端口,则交换机250生成关于发生故障的路由器/端口的通知消息。例如,在VRRP中,交换机250可以生成让位(resignation)消息(优先级等于0的公告分组),并将该公告分发到与交换机250连接的的任何(一个或多个)备用路由器。这样,相比于其中备用路由器必须等待至等待期过期的先前的系统,大大减小了故障转移期,由此允许备用路由器更迅速地变为新的活动路由器。在主机使用真BIA MAC地址来与网关设备接触的系统中(即,工作的网关设备用真MAC地址而不是虚拟MAC地址来响应对虚拟IP地址的ARP请求),交换机或新的活动路由器也能向主机和/或其他冗余组成员发送适当的ARP删除消息,以通知它们状态的改变,和/或以清除包含发生故障的网关设备的MAC地址或其他过时信息的ARP缓存。这减少了主机向最近发生故障的冗余组成员的MAC地址发送外出分组的机会。
本领域的技术人员应该理解,在本发明的某些实施例中,其他设备可以用作监视单元。在图2B的示例性说明中使用了交换机250。但是,允许监视工作于活动工作模式的路由器的运行的任何第二层设备或其他机制都将是适合的。第二层交换机将网络分段为分别的冲突域。这些交换机获悉所连接的设备的MAC地址,这样适当地过滤和转发分组。这种获悉、保持并随后估计关于与第二层交换机连接的设备的信息的能力使得它们成为用于本发明的合适设备。但是,也可以使用处理或实现必需功能的任何其他设备或设备组合作为监视单元。
作为另一示例,图3是图示了本发明一个实施例的流程图。图3的流程图的组织方式可能暗示系统通过事件循环或轮询来检验某些动作。其实并不是要进行这种限制。从而,这里所提出和/或讨论的任何过程流程图都不应该被理解为暗示系统必须以列出的方式和顺序来检验事件。虽然该示例向本领域的技术人员提供了对本发明的一种方法的理解,以及对其在其他环境中的使用的理解,但是图3所示的示例不应该被理解为要做出任何限制。
该方法始于步骤310。在步骤320,监视单元收集并存储关于与监视单元端口连接的冗余组网关设备的冗余组数据(尽管监视单元可以连续执行这一功能)。在步骤325,监视单元监视其与冗余组网关设备连接的端口。在步骤330,监视单元检测到端口没有在运行。如上所述,这可能是由于监视单元和冗余组网关设备之间的接口中的故障和/或设备故障造成的。在步骤340,监视单元然后查询其存储的关于发生故障的网关设备的冗余组数据,以判断与发生故障的端口连接的网关设备是否是活动设备。如果发生故障的网关设备工作于备用工作模式,则监视单元不进行任何操作,并在步骤320继续其正在进行的监视、收集和存储功能。
但是,如果在发生故障时发生故障的成员是活动网关设备,则在步骤350,监视单元采取措施来加速备用网关设备向其活动工作模式的故障转移升级。监视单元向冗余组中工作于备用工作模式的任何网关设备发出消息(例如,监视单元可以代表发生故障的活动网关设备发出让位消息或任何其他合适的通知)。在步骤360,监视单元还可以在网关设备状态改变的同时通知主机,并建议主机删除用于发生故障的活动网关设备的MAC地址的任何ARP条目。某些情形中,监视单元也可能向主机通知新活动网关设备的MAC地址,用于进行ARP目的的缓存。在某些情形中这可能是不适当的和/或不可行的(例如,当冗余组仍然必须选举活动成员时,或在冗余组使用在活动网关设备发生故障后不改变的虚拟MAC地址的情形中)。
通常,用于实现本发明的技术可以以软件和/或硬件的方式实现。例如,这些技术可以实现在操作系统内核中、在分别的用户进程中、在绑定到网络应用中的库程序包中、在专门构建的机器上、或者在网络接口卡上。在本发明的具体实施例中,本发明的技术被实现在诸如操作系统之类的软件中或在操作系统上运行的应用中。
本发明的软件或软件/硬件混合分组处理系统优选地实现在由存储在存储器中的计算机程序选择性地激活或重配置的通用可编程机器上。这些可编程机器可以是被设计为处理网络流量的网络设备。这些网络设备通常具有多个端口,适当的网关设备可以连接到这些端口。这些网络设备的具体示例包括交换机。例如,本发明的分组处理系统可以被结合在专门配置的交换机中,这些交换机例如是来自可从加利福尼亚州圣何塞的CiscoSystems,Inc.获得的Catalyst 3000、4000、5000或6000系列的型号。下面给出的描述中会出现这些机器中的某一些的通用体系结构。在可替换的实施例中,系统可以实现在诸如个人计算机或工作站之类的通用网络主机机器上。另外,本发明可以至少部分地实现在用于网络设备或通用计算设备的卡(例如,接口卡)上。
现在参考图4,示出了适于担当监视单元(例如,图2B的监视单元250)并由此实现本发明实施例的交换机400。该交换机400结合了CiscoCatalyst 6000交换机或类似设备的相关组件,其可以用作图2B中的监视单元250。
图4中的交换机400包括交换结构(switching fabric)420,监控模块(supervisor module)410以及一个或多个线卡(linecard)430、440(为了说明目的,示出了两个线卡;本领域的技术人员将理解,可以使用更少或更多的线卡490)被连接到该交换结构420。线卡430、440可以实现专用或非专用的端口模块。交换结构420可以适当地实现数据总线、控制总线和/或结果总线。监控模块410可以包括处理器412,处理器412除了其他功能之外,能够支持线卡430、440,并管理多层交换能力。如果适当的话,监控模块还可以包括一个或多个存储器单元414。最后,本领域的技术人员会理解,监控模块可以包含一个或多个交换机管理单元、特征卡和表。本领域的技术人员可以按需选择并实现监控模块410的具体特征。线卡430、440提供对各种物理接口的支持,这些物理接口例如10/100Mbps以太网和吉比特以太网。
线卡430、440分别可以具有多个端口432、442,每个端口可以包括一个或多个适当的专用集成电路(ASIC)设备434、443、444,以及各自有关的存储缓冲器436、445、446,它们可以用于发送和接收经过交换机400的分组。这些类型的设备的基本体系结构和特征对本领域的技术人员而言是公知的,并且在实现本发明的一个或多个实施例时,可以使用这种类型的交换设备的替换实施例以及其他可用设备作为监视单元。
本领域的技术人员将理解,还可以简化交换机。例如,用于本发明的交换机可以与具有处理器、存储器和多个物理以太网端口(例如,10/100Mbps)的单个卡一样简单。实际上,在某些情形中,通过这种简化的监视单元,可以增强本发明的一个或多个实施例的实现。因此,上面对交换机的详细描述只是用于对本发明进行说明,而不是限制这里所要求的发明的范围。本领域的技术人员会理解,这里以及所附权利要求中使用的术语“处理器”意思是可以提供本发明所需的控制和处理功能的诸如交换机400之类的设备中的任何一个组件(例如,而非限制地,监控模块410或ASIC设备434、443、444中的一个)或组件组合。类似地,本领域的技术人员会理解,术语“存储器”意思是可以提供本发明所需的数据存储和/或缓冲功能的诸如交换机400之类的设备中的任何一个组件(例如,而非限制地,监控模块410中的存储缓冲器或缓冲器436、445、446中的一个)或组件组合。在权利要求中所使用的这些术语要在它们最广的含义中解释。在实现本发明的实施例时,交换机400所使用的任何存储器和处理器可以以本领域公知的适当方式放置、连接和配置。
当在适当的软件或固件的控制下动作时,交换机400负责诸如表计算、使用中的端口的监视以及网络管理的任务。优选地,在含有操作系统(例如,Cisco System,Inc.的Catalyst OS)和任何适当的应用软件的软件的控制下完成所有这些功能。为了例如对数据进行缓存和/或存储、对指令进行编程之类的多种目的,可以使用额外的存储器。
无论设备的配置如何,其都可以应用一个或多个存储器或存储器模块,这些存储器或存储器模块被配置为存储用于通用网络操作和/或这里所描述的发明性技术的数据、程序指令。例如,程序指令可以控制操作系统和/或一个或多个应用的运行。存储器或多个存储器也可以被配置为存储所接收到的分组、标识符,以跟踪每个流以及这种流的数目等。
因为可以应用这些信息和程序指令来实现这里所述的系统/方法,所以本发明涉及包括用于执行这里所述的各种操作的程序指令、状态信息等的机器可读介质。机器可读介质的示例包括但不限于诸如硬盘、软盘、磁带之类的磁介质;诸如CD-ROM盘和DVD之类的光介质;诸如光软盘(floptical disk)之类的磁光介质;以及被专门配置来存储和执行程序指令的硬件设备,诸如只读存储器设备(ROM)和随机访问存储器(RAM)。本发明也可以体现于在适当介质上传输的载波中,这些介质例如是无线电波、光学线路、电子线路等。程序指令的示例包括诸由编译器产生的机器代码以及包含更高级代码的文件,计算机使用解释程序可以执行这些更高级代码。
虽然为了清楚理解,在某些细节方面对前述发明进行了描述,但明显的是,可以在所附权利要求的范围内实施某些改变和修改。因此,所述实施例应该被理解为说明性的,而不是限制性的,并且本发明不应该限于这里所给出的细节,而是应该由所附权利要求及其等同物的全部范围来定义,无论现在或是在将来能否预见到的。
权利要求
1.一种故障转移监视单元,包括存储器;和耦合到所述存储器的处理器;连接到所述处理器的多个网关端口,其中每个网关端口被配置为将网关设备连接到所述监视单元;其中,所述存储器和所述处理器被配置为收集和存储关于冗余组的冗余组数据,所述冗余组包括多个连接到所述监视单元的网关设备,其中,所述冗余组包括活动网关设备和备用网关设备;其中,所述存储器和所述处理器还被配置为监视所述多个网关端口,以检测活动网关设备的故障;并且其中,所述存储器和所述处理器还被配置为向每个冗余组备用网关设备通知所述活动网关设备故障。
2.根据权利要求1所述的故障转移监视单元,其中,所述监视单元是第二层交换机。
3.根据权利要求1所述的故障转移监视单元,其中,每个网关设备是路由器。
4.根据权利要求1所述的故障转移监视单元,其中,每个网关设备是第三层设备。
5.根据权利要求3所述的故障转移监视单元,其中,所述冗余组是热备用路由器协议组。
6.根据权利要求3所述的故障转移监视单元,其中,所述冗余组是虚拟路由器冗余协议组。
7.根据权利要求1所述的故障转移监视单元,其中,所述多个网关设备被配置为提供第一跳冗余服务,其中在所述活动网关设备发生故障的事件中,所述备用网关设备接替所述活动网关设备。
8.根据权利要求1所述的故障转移监视单元,其中,所述存储器和所述处理器被配置为通过代表所述发生故障的活动网关设备发出让位消息,向每个冗余组备用网关设备通知所述活动网关设备故障。
9.一种包括第二层交换机的故障转移设备,所述交换机包括存储器;和耦合到所述存储器的处理器;连接到所述存储器和所述处理器的多个端口,其中所述多个端口中的每个端口被配置为将路由器连接到所述交换机;其中,所述存储器和所述处理器被配置为收集和存储关于冗余组的冗余组数据,所述冗余组包括多个连接到所述交换机的路由器,其中,所述冗余组包括活动路由器和备用路由器;其中,所述存储器和所述处理器还被配置为检测活动路由器的故障;并且其中,所述存储器和所述处理器还被配置为向所述冗余组备用路由器通知活动路由器故障。
10.根据权利要求9所述的故障转移设备,其中,所述冗余组是热备用路由器协议组。
11.根据权利要求9所述的故障转移设备,其中,所述冗余组是虚拟路由器冗余协议组。
12.根据权利要求9所述的故障转移设备,其中,所述多个路由器被配置为提供第一跳冗余服务,其中在所述活动路由器发生故障的事件中,所述备用路由器接替所述活动路由器。
13.根据权利要求9所述的故障监视单元,其中,所述存储器和所述处理器被配置为通过代表所述发生故障的活动路由器发出让位消息,向每个冗余组备用路由器通知所述活动路由器故障。
14.一种在冗余组中执行故障转移的方法,所述方法包括在连接到冗余组的监视单元中收集和存储冗余组数据,其中所述冗余组包括多个网关设备,所述多个网关设备包括活动网关设备和备用网关设备;监视所述冗余组网关设备;检测所述冗余组活动网关设备的故障;向所述冗余组备用网关设备通知所述活动网关设备故障。
15.根据权利要求14所述的方法,其中,所述监视单元是具有多个端口的第二层交换机,其中每个网关设备连接到所述端口中的一个上。
16.根据权利要求14所述的方法,其中,检测所述冗余组活动网关设备的故障的步骤包括检测连接到所述监视单元的网关设备的故障;以及查询所述冗余组数据,以判断所述发生故障的网关设备是否是所述活动网关设备。
17.根据权利要求14所述的方法,其中,每个网关设备是路由器。
18.根据权利要求14所述的方法,其中,每个网关设备是第三层设备。
19.根据权利要求14所述的方法,其中,所述冗余组是热备用路由器协议组。
20.根据权利要求14所述的方法,其中,所述冗余组是虚拟路由器冗余协议组。
21.根据权利要求14所述的方法,其中,所述多个网关设备被配置为提供第一跳冗余服务,其中在所述活动网关设备发生故障的事件中,所述备用网关设备接替所述活动网关设备。
22.根据权利要求14所述的方法,其中,所述冗余组数据包括关于所述活动网关设备和所述备用网关设备的身份的信息。
23.一种在冗余组中执行故障转移的方法,所述方法包括在连接到冗余组的第二层交换机中收集和存储冗余组数据,其中所述冗余组包括多个路由器,所述多个路由器包括活动路由器和备用路由器;监视所述冗余组路由器;检测连接到监视单元的发生故障的冗余组路由器;判断所述发生故障的冗余组路由器是所述活动路由器;以及向所述冗余组备用路由器通知所述活动路由器故障。
24.根据权利要求23所述的方法,其中,所述冗余组是热备用路由器协议组。
25.根据权利要求23所述的方法,其中,所述冗余组是虚拟路由器冗余协议组。
26.根据权利要求23所述的方法,其中,所述多个路由器被配置为提供第一跳冗余服务,其中在所述活动路由器发生故障的事件中,所述备用路由器接替所述活动路由器。
27.根据权利要求23所述的方法,其中,所述冗余组数据包括关于所述活动网关设备和所述备用网关设备的身份的信息。
28.一种用于在冗余组中执行故障转移的装置,所述装置包括用于在用于监视冗余组的装置中收集和存储冗余组数据的装置,所述冗余组连接到所述监视装置,其中,所述冗余组包括多个网关设备,所述多个网关设备包括活动网关设备和备用网关设备;用于监视所述冗余组网关设备的装置;用于检测所述冗余组活动网关设备的故障的装置;用于向所述冗余组备用网关设备通知所述活动网关设备故障的装置。
29.根据权利要求28所述的装置方法,其中,所述监视装置是具有多个端口的第二层交换机,其中每个网关设备连接到所述端口中的一个上。
30.根据权利要求28所述的装置,其中所述检测装置包括用于检测连接到监视单元的网关设备的故障的装置;和用于查询所述冗余组数据以判断所述发生故障的网关设备是否是所述活动网关设备的装置。
31.根据权利要求28所述的装置,其中,每个网关设备是路由器。
32.根据权利要求28所述的装置,其中,每个网关设备是第三层设备。
33.根据权利要求28所述的装置,其中,所述冗余组是热备用路由器协议组。
34.根据权利要求28所述的装置,其中,所述冗余组是虚拟路由器冗余协议组。
35.根据权利要求28所述的装置,其中,所述多个网关设备被配置为提供第一跳冗余服务,其中在所述活动网关设备发生故障的事件中,所述备用网关设备接替所述活动网关设备。
36.根据权利要求28所述的装置,其中,所述冗余组数据包括关于所述活动网关设备和所述备用网关设备的身份的信息。
37.一种计算机程序产品,用于实现在冗余组中执行故障转移的方法,其中只有在网关设备工作于活动工作模式时,所述网关设备才处理进入第一网络以及从第一网络出去的传输,所述计算机程序产品包括其中含有计算机可读代码的计算机可用介质,所述计算机可读代码包括用于在连接到冗余组的监视单元中收集和存储冗余组数据的计算机代码,其中所述冗余组包括多个网关设备,所述多个网关设备包括活动网关设备和备用网关设备;用于监视所述冗余组网关设备的计算机代码;用于检测所述冗余组活动网关设备的故障的计算机代码;用于向所述冗余组备用网关设备通知所述活动网关设备故障的计算机代码。
38.根据权利要求37所述的计算机程序产品,其中,所述监视单元是具有多个端口的第二层交换机,其中每个网关设备连接到所述端口中的一个上。
39.根据权利要求37所述的计算机程序产品,其中,所述用于检测所述冗余组活动网关设备的故障的计算机代码包括用于检测连接到所述监视单元的网关设备的故障的计算机代码;和用于查询所述冗余组数据以判断所述发生故障的网关设备是否是所述活动网关设备的计算机代码。
40.根据权利要求37所述的计算机程序产品,其中,每个网关设备是路由器。
41.根据权利要求37所述的计算机程序产品,其中,每个网关设备是第三层设备。
42.根据权利要求37所述的计算机程序产品,其中,所述冗余组是热备用路由器协议组。
43.根据权利要求37所述的计算机程序产品,其中,所述冗余组是虚拟路由器冗余协议组。
44.根据权利要求37所述的计算机程序产品,其中,所述多个网关设备被配置为提供第一跳冗余服务,其中在所述活动网关设备发生故障的事件中,所述备用网关设备接替所述活动网关设备。
45.根据权利要求37所述的计算机程序产品,其中,所述冗余组数据包括关于所述活动网关设备和所述备用网关设备的身份的信息。
全文摘要
冗余网关方法、装置和系统使用网关设备组中多于一个的网关设备来将通信引导出LAN。从而在活动路由器或其他网关设备发生故障的事件中,提供故障转移服务。故障转移监视单元包括存储器和耦合到存储器的处理器。监视单元还包括连接到处理器的网关端口。每个网关端口被配置为将网关设备连接到监视单元。监视单元被配置为收集并存储关于冗余组的冗余组数据,其中冗余组包括多个连接到监视单元的网关设备。冗余组包括活动网关设备和一个或多个备用网关设备。监视单元监视网关端口,以检测活动网关设备的故障。当检测到故障时,监视单元向每个冗余组备用网关设备通知活动网关设备故障。
文档编号H04L12/26GK1701569SQ03825256
公开日2005年11月23日 申请日期2003年9月19日 优先权日2002年9月19日
发明者格拉哈姆·克里其菲尔德 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1