CN1754374B - 带有网关负载分配的网络地址转换 - Google Patents

带有网关负载分配的网络地址转换 Download PDF

Info

Publication number
CN1754374B
CN1754374B CN200480004960XA CN200480004960A CN1754374B CN 1754374 B CN1754374 B CN 1754374B CN 200480004960X A CN200480004960X A CN 200480004960XA CN 200480004960 A CN200480004960 A CN 200480004960A CN 1754374 B CN1754374 B CN 1754374B
Authority
CN
China
Prior art keywords
address
gateway device
gateway
mapping
main frame
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.)
Expired - Fee Related
Application number
CN200480004960XA
Other languages
English (en)
Other versions
CN1754374A (zh
Inventor
苏雷什·沙塔帕蒂
伊恩·赫伯特·威尔逊
道格拉斯·麦柯拉格恩
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1754374A publication Critical patent/CN1754374A/zh
Application granted granted Critical
Publication of CN1754374B publication Critical patent/CN1754374B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses

Abstract

本发明公开了使用具有网关设备的冗余组向本地网络上的单个主机或大量主机提供网关和NAT服务。唯一IP地址池(310)被划分为地址块(310a-310d),其中一个地址块被分配给一个网关设备(212、214、216、218)。对于去往外部网络的主机分组,网关设备使用分配给其的地址块中的唯一IP地址,将本地网络上的主机的本地IP地址转换成来自该网关设备的已分配地址块中的唯一IP地址,并且创建该转换的映射。网关设备将该映射告知冗余组中的其他网关设备。只要网关设备之一执行了转换,主映射数据库或本地映射数据库就会被更新。在网关设备之一停止使用网关设备的虚拟MAC地址(VMAC)转发主机的外出分组的情况下,该虚拟MAC地址被重新分配给冗余组(212、214、216、218)中正工作的网关设备,以允许继续转发去往外部网络的主机分组。

Description

带有网关负载分配的网络地址转换 
技术领域
本发明一般涉及使用冗余或备用设备的网络系统,所述冗余或备用设备一起工作在冗余组和负载分配布置中以提供虚拟路由器服务。更具体而言,本发明涉及用于提供网络地址转换服务,同时允许使用负载分配虚拟路由器来转发分组的方法和装置。 
背景技术
专用和/或本地网络一般通过一个或多个网关设备(例如路由器)被连接到因特网,以使本地网络上的主机(PC或其他任意的网络实体)能够与因特网上的节点通信。通常,主机在其本地网络内和在因特网上,都将分组发送到使用地址(例如,因特网协议或“IP”地址)标识的位置。为了接收来自因特网的分组,本地网络或在该网络上的主机必须具有全球唯一的地址。通常,每个这样的地址使用4个八位字节的格式来产生32位的IP地址。这些IP地址通常以带点的十进制格式表示,其中每个八位字节被写作一个十进制整数,这个十进制整数利用小数点与其他八位字节相分离。 
全球IP地址已经由被称为因特网号码分配机构(“IANA”)的中央机构发布给企业。IANA按照三种普遍使用的类别之一来发布这样的地址。A类IP地址采用它们的第一个八位字节作为“网络标识符”,并将其余三个八位字节用作“主机标识符”。网络标识符标识企业网络,而主机标识符标识网路上的特定主机。由于三个八位字节可用于指定主机,因此具有A类地址的企业有224(接近1千7百万)个地址可用于布置可能的主机。因此,即使最大的公司也远远无法充分利用可用的A类地址。显而易见,A类地址只发布给非常大的实体。B类地址采用它们的前两个八位字节来标识网络(网络标识符),并用它们的后两个八位字节来标识主机 (主机标识符)。因此,具有B类地址的企业可以使用在大约64000台主机上的那些地址。最后,C类地址将它们的前三个八位字节用作网络标识符,并将最后一个八位字节用作主机标识符。具有单个C类网络标识符的企业只可获得254个主机地址。 
在因特网上已经存在相当多的主机,它们与发布给大实体的如此多A类和B类许可耦合,以至于现在几乎无法获得B类地址。很多现在需要接入因特网的组织所具有的主机数都远远大于254台(单个C类网络地址可使254台主机获得唯一的IP地址)。中大型企业平均具有1000到10000台主机是很常见的。这样的公司显然无法为其每台主机获得足够的IP地址。 
为了解决这个问题,已经开发出网络地址转换(“NAT”)协议。参见K.Egevang和P.Francis的“The IP Network Address Translator(NAT)”(请求注解“RFC”1631,Cray Communications,NTT,1994年5月),这里为了所有用途通过参考而并入其内容。NAT基于本地网络内的地址重用概念,并通过将叶(leaf)或桩(stub)域的可重用(也被称为“本地”或“专用”)IP地址(参见RFC 1918,下面将参考并并入)映射到与因特网上主机通信所需的全球唯一地址来进行工作。在本地网络内使用的IP地址可以是可重用的不唯一IP地址,例如根据Y.Rekhter等人的RFC 1918,“Address Allocation for Private Internets”,Cisco Systems等1996年2月的请求注解“RFC”1918,这里为了所有用途通过参考而并入其内容。 
在实现中,想要接入因特网的本地主机从企业可用的这种地址池(例如254个C类地址)中接收临时IP地址。当主机发送和接收因特网上的分组时,它具有任意其他主机都不可用的全球IP地址。在主机从因特网断开连接之后,企业可以取回该全球IP地址,并使其对想要接入公共网络或因特网的其他主机可用。通过NAT映射,全球IP地址可以被分配给使用专用IP地址的主机。这些映射可以由使本地网络与诸如因特网之类的公共网络相分离的路由器或其他网关设备来维护。为了实现NAT,必须在企业本地网络和因特网(或其他公共网络)之间设置转换系统。出于这个原 因,NAT服务在网关位置处被实现。 
如上所述,局域网(LAN)一般通过一个或多个路由器而彼此连接,从而使在一个LAN上的主机(PC或其他任意的LAN实体)可以与不同LAN上的其他主机通信。通常,主机只可以与其本地LAN网段上的实体直接通信。当它需要向其不认为属于本地的地址发送数据分组时,它通过路由器(或其他第3层或网关设备)通信,该路由器确定如何在主机和远端网络中的目的地址之间导向分组。不幸的是,路由器可能出于各种原因而变得不起作用(例如电源故障、重启动、按计划维护等等),从而创建触发事件。这种可能的路由器故障已经导致冗余系统的开发和使用,该冗余系统具有多于一个路由器,以在主要路由器故障的情况下提供备份。当在这样的冗余系统中的路由器发生故障时,通过不起作用的路由器通信的主机可以通过将分组发送到与主机的LAN相连接的另一路由器,从而仍旧保持连接到其他LAN。 
逻辑上,这样的系统类似于图1A。在图1A中,当主机120、122、124的流出分组以外部网络150(例如因特网)为目的地时,本地网络130使用单个网关110来转发这些分组。但是如图1B所示,冗余组系统100的实际物理配置使用若干路由器112、114、116、118来实现充当用于主机120、122、124的单个虚拟网关110的冗余组。 
各种协议已被设计,以允许主机从网络上的一组路由器中选择一个路由器。其中两个协议,即路由信息协议(RIP)和ICMP路由器发现协议(IRDP)是包含主机动态参与的协议示例。但是,由于RIP和IRDP都需要主机被动态牵连到路由器选择中,因此性能会被降低,并且可能需要特殊的主机修改和管理。 
在广泛使用并且更简单的方法中,主机只识别出单个“默认”路由器。使用IP协议的主机(例如工作站、用户和/或数据中心服务器)利用该默认路由器来离开本地网络并访问远端网络。因此,每个主机必须预先具有网关IP地址(通常是路由器或第3层交换机的IP地址)的知识。主机被静态配置默认网关的IP地址,或者在启动(boot-up)时,通过配置协议(例如Cisco的DHCP)而被分配地址。在任意一种情况下,主机对 于想要离开本地网络的所有网络流量都使用相同的默认网关IP地址。 
为了向默认网关转发流量,主机必须执行IP-ARP解析,以获知默认网关的数据链路媒体访问控制(MAC)地址。主机将ARP询问发送到网关的IP地址,以请求网关的MAC地址。默认网关通过告知主机网关的MAC地址来响应主机的ARP请求。主机需要默认网关的MAC地址,以经由数据链路层传输向网关转发网络流量。当只使用一个网关设备时,该设备返回其自身的“预烧入”(BIA)MAC地址,作为主机流出分组的地址。 
在这种方法中,主机被配置为当其需要向其本身LAN外的地址发送分组时,将数据分组发送到默认路由器。它不保持跟踪可用路由器,或是执行判断以切换到不同的路由器。这几乎不需要主机部分做出任何努力,但具有严重的危险。如果默认路由器失败,主机则无法将分组发送到其LAN外部。即使存在能够接管的冗余路由器,也可能如此,因为主机不知道这种备份。不幸的是,这样的系统在任务关键的应用(例如股票交易)中已被使用。 
这种早期系统的缺陷导致了冗余网关系统的开发和实现,所述冗余网关系统在网关设置中提供了失败转移。一种这样的系统是加州San Jose的Cisco系统公司的热备用路由器协议(HSRP)。在美国专利No.5,473,599(这里被称为“599专利”,题为“STANDBY ROUTER PROTOCOL”,1995年12月5日授权给Cisco系统公司)中可以找到关于早期系统和HSRP类型系统的更详细论述,这里为了所有用途通过参考而并入其全部内容。而且,在由T.Li、B.Cole、P.Morton和D.Li提交的题为“CiscoHot Standby Router Protocol(HSRP)”的RFC 2281中详细描述了HSRP,这里为了所有用途通过参考而并入其全部内容。 
HSRP被广泛用于备份用于某网段的主要路由器。在HSRP中,“备用”路由器被指定为“活动”路由器的备份。备用路由器被链接到活动路由器所服务的一个或多个网段。活动和备用路由器共享“虚拟IP地址”并且可能共享“虚拟媒体访问控制(MAC)地址”,该虚拟MAC地址实际上每次仅被一个路由器所使用。所有来自相关本地网关的网间网通信都采 用虚拟IP地址(还被称为“vIP地址”)和虚拟MAC地址(还被称为“vMAC地址”)。在任意给定时刻,活动路由器是采用和使用(多个)虚拟地址的唯一路由器。然后,如果活动路由器出于任何原因而应该停止操作,备用路由器则立即接管其负载(通过采用虚拟地址)。这允许主机一直将数据分组引导至正工作的路由器,而无需监控网络的路由器。 
一般HSRP系统的一个缺陷在于,在任意给定时刻,只有冗余组中的一台网关设备被使用。为了更好利用这种冗余系统中的系统资源,Cisco开发了网关负载平衡协议(GLBP),该GLBP是共同拥有的待审美国专利No.09/883,674(2001年6月18日递交,题为“GATEWAY LOADBALANCING PROTOCOL”)的主题,这里为了所有用途通过参考而并入其全部内容。这里的术语“负载共享”和“负载分配”等指的是将外出流量分配到多个网关设备,以使单个网关设备不必对来自LAN上所有主机的所有流出分组负责的能力。 
与HSRP类似,对于引导至LAN外部的通信,GLBP使用被冗余组中的多个网关设备(例如路由器)所共享的虚拟IP地址。这些路由器共享公共的虚拟IP地址(还被称为“vIP地址”),但是也维护实际的IP地址(还被称为“aIP地址”)。每个网关设备还具有其自身的BIA(实际)MAC地址(还被称为“aMAC地址”)和虚拟MAC地址(还被称为“vMAC地址”)。vMAC地址的使用允许路由器具有可交换能力,而无需重新对该系统编程。 
每个GLBP系统在冗余组中具有“主”网关设备(这里还被称为“活动虚拟网关”或AVG设备),其控制地址分配(ARP响应)和失败转移特性。AVG指示正在进行ARP的主机将外出通信寻址到分配给冗余组网关设备之一的虚拟MAC地址(根据标准GLBP命名法和操作,未充当主设备的网关设备可以被称为“备用”和/或“从”网关设备)。任何转发分组的网关设备在这里都被称为“活动虚拟转发器”或AVF设备。因此,每个冗余组具有一个AVG设备和一个或多个AVF设备。 
更具体而言,当主机想要向本地网络外部发送分组时,该主机将ARP消息发送到冗余组的虚拟IP地址。AVG选择一个AVF来处理该主机的外 出分组,并向该主机发送包含由AVG选出的AVF的vMAC的回复消息。主机将该vMAC地址填充到其ARP缓存。随后,主机将其流出分组寻址到其ARP缓存中的vMAC地址,从而向所分配的AVF/路由器发送这些分组。 
可以利用随机分配、轮循分配或通过使用另一预定的算法或方法为主机分配vMAC地址。在该组中分配的AVF失败的情况下,本来应该由失败的AVF处理的外出通信必须被发送到别处。在最初分配的AVF失败时,失败的AVF的vMAC地址被重新分配给另一AVF。随后,来自主机(以及将分组发送到重新分配的vMAC地址的任意其他主机)的外出分组被改为路由到重新分配的vMAC地址的新所有者。在AVG自身失败的情况下,采用其他步骤来指定或选择新的AVG,并且确保负载分配功能的连续性。 
但是,如果失败的网关设备也正在使用NAT为主机提供转换服务,那么转换数据库或其他信息就会丢失,或者无法访问已经对其分配了失败的AVF的vMAC地址的那个AVF。从而,由于诸如Cisco的GLBP系统之类负载共享方案的结构和操作,NAT(转换)服务还未被同时提供。 
鉴于以上论述,将希望在确保冗余的负载共享网关服务依然可用于本地网络的同时,为来自本地网络外部的通信提供NAT服务。 
发明内容
本发明提供了用于向本地网络上的主机提供网关和NAT服务的方法、装置、产品、技术和系统。网络设备的冗余组响应于ARP请求,通过向用户被定向到的每个网关设备分配虚拟MAC地址,从而共担来自用户的外出分组的责任。 
本发明的一个方面在于在包含网关设备的负载共享冗余组中提供网关和NAT服务的方法,其中唯一IP地址池被划分为地址块,地址块之一被分配给一个网关设备。使用在分配给其的地址块中的唯一IP地址,网关设备将主机的本地IP地址转换成来自该网关设备的已分配的地址块的唯一IP地址,并且创建该转换的映射。然后网关设备将该映射告知冗余组中的 一个或多个其他网关设备。每个网关设备维护主映射数据库,只要网关设备之一执行转换,该主映射数据库就会被更新。在网关设备之一停止使用网关设备的虚拟MAC地址转发主机的外出分组的情况下,该虚拟MAC地址被重新分配给冗余组中正工作的网关设备,以允许继续转发去往外部网络的主机分组。 
本发明的另一方面涉及被配置为向本地网络上的主机提供网关和NAT服务的网关设备。该网关设备具有一个或多个处理器,以及与处理器中的至少一个处理器通信的存储器。处理器和存储器中的至少一个被配置或设计为通过将本地IP地址映射到唯一IP地址来转换主机的本地IP地址,所述唯一IP地址是包含在唯一IP地址的地址块中的一个地址。网络设备还被配置为使用转换出的唯一IP地址来转发去往外部网络的分组,并将包含地址转换的更新发送到该网关设备是其一个成员的冗余组的成员。在寻址主机的外出分组的过程中,主机使用分配给网关设备的虚拟地址。在最初转发的网关设备停止转发去往外部网络的主机分组的情况下,该虚拟地址可以被重新分配给不同的网关设备。 
本发明的另一方面在于用于向本地网络上的主机提供网关和NAT服务的系统。该系统具有包括第一和第二网关设备的负载共享冗余组。每个网关设备具有可重新分配的虚拟地址,以及包含唯一IP地址的已分配地址块。第一网关设备被配置为使用转换的地址从主机向外部网络转发分组,其中转换的地址是主机的本地IP地址到第一多个唯一IP地址之一的映射。第一网关设备还被配置为将主机的本地IP地址到其转换的唯一IP地址的映射发送到第二网关设备。第一和第二网关设备中的每一个都维护主映射数据库的拷贝。第一网关设备利用它执行的映射来更新其主映射数据库的拷贝,而第二网关设备利用由第一网关设备发送的映射来更新其主映射数据库的拷贝。可重新分配的虚拟地址可以是虚拟的MAC地址。此外,第二网关设备可以被配置为如果第一网关设备停止转发去往外部网络的主机分组,则承担第一网关设备的可重新分配的虚拟地址。其他计算机程序产品和相关装置也被公开。 
在以下对本发明的说明和相关附图中,将更详细地示出本发明的这些 和其他特征和优点。 
附图说明
通过结合附图参考以下描述,将可以最好地理解本发明,在附图中: 
图1A是用于LAN中主机的网关服务的逻辑结构的示意图。 
图1B是图1A所示的网关服务的物理结构的示意图,其中多个网关设备被用于冗余组以提供弹性(resiliency)。 
图2是使用本发明的虚拟路由器的示意图,其中有若干路由器可用于引导本地网络外部的流量,还可用于使用冗余组成员可用的分布式NAT数据库来提供转换服务。 
图3示出了在划分用于NAT服务的唯一IP地址池之后,对单独的网关设备的地址块分配。 
图4示出了根据本发明一个实施例的冗余组的转换和更新。 
图5示出了冗余组成员的失败和NAT数据库的可用性,以及使用本发明一个实施例对失败的网关设备的vMAC地址的重新分配。 
图6是可以实现本发明实施例的路由器的图形表示。 
具体实施方式
1.定义
下面将详细参考本发明的优选实施例。在附图中示出了优选实施例的一个示例,其利用了由Cisco系统公司开发、出售和/或使用的产品、协议、方法、系统和其他技术。虽然本发明将结合优选实施例来描述,但是应该理解,本发明并不想要单独结合Cisco的产品和系统而局限于一个优选实施例或其实现方式。相反,以下描述想要覆盖可以被包括在由所附权利要求限定的本发明的精神和范围内的替代、修改和等同物。在以下描述中,阐述了多个具体细节,以便提供对本发明的全面理解。但是无需这些具体细节中的一些或全部,也可以实施本发明。在其他示例中,没有详细描述公知的过程操作,以避免不必要地模糊本发明。 
以下术语被用于当前说明书。所提供的它们的定义用于帮助理解这里 所述的优选实施例,但是不一定限制本发明的范围。在本公开中,术语“用户”可以与其等同使用。 
“主机”是位于LAN上的PC或其他任意的网络实体,它通过路由器或网桥周期性地与主机所在LAN外部的网络实体通信。 
“路由器”是工作在网络层上的一台硬件,其用于在网络的各个LAN或WAN之间引导分组。网络层一般通过找到穿过一系列连接的节点的路径而使网络中的多对实体能够彼此通信。在本公开中可能使用的其他术语包括第3层交换机、第3层设备和网关,或不一定与路由器相同的网关设备,但是它们可以在与路由器相同的位置并以与路由器相同的方式起作用。这些术语中的任意和全部都想要被尽量宽地解释,除非专门地被更窄地定义。 
“IP(因特网协议)地址”是以协议的IP族运行的设备的网络层地址。IP地址通常是32位字段,IP地址的至少一部分包含与其特定网段相对应的信息。因此,路由器的IP地址可以依赖于它在网络中的位置而改变。被称为“唯一”的IP地址可以是全球唯一的,或者可以是对于其想要实现的用途来说足够唯一的(例如,在如下受限的网络环境中:其中全球唯一的IP地址不是必需的,但是在本地网络上使用的本地IP地址不是足够唯一的)。 
“MAC地址”是数据链路层的设备地址,该地址由处理特定类型的LAN的特有问题的IEEE 802委员会所定义。可获得MAC(“媒体访问控制”的首字母缩写)地址的LAN的类型包括令牌环、FDDI和以太网。MAC地址一般想要被应用于具体物理设备,而无论它在何处被插入到网络。因此,MAC地址一般被硬编码到设备中(例如在路由器的ROM中)。这应该与上述网络层地址的情况相区分,所述网络层地址依赖于它在何处被插入到网络而改变。而且,真实的MAC地址(例如“预烧入地址”或BIA MAC地址)可以与“虚拟地址”(如下所述)相区分,所述虚拟地址可以包括虚拟MAC地址。 
“虚拟地址”通常被一组真实网络实体所共享,其对应于一个虚拟实体。在本发明的上下文中,来自两个或多个真实路由器中的一个真实路由 器通过采用虚拟地址来仿真虚拟路由器,并且另一实体(通常是主机)被配置为向这样的虚拟地址发送数据分组,而不管当前是哪个真实路由器正在仿真虚拟路由器。在优选实施例中,虚拟地址可以包含MAC层和网络层(IP)地址。通常,组中的各个成员中的每一个都具有采用虚拟地址来仿真虚拟实体的能力。 
“分组”是数据和包含源和目的节点地址的控制信息的集合,它被格式化为用于从一个节点到另一节点的传输。在本发明的上下文中,尤其需要注意,在一个LAN上的主机通过连接多个LAN的路由器或网桥将分组发送到另一LAN上的主机。 
“IP假名”是属于一个设备的多个地址,这些地址包括配置在设备接口上的地址以及未配置在接口上的任意地址,但是这些地址都属于该设备。 
2.概述
本发明结合NAT服务使用负载共享系统或协议,以允许分布式转发从需要唯一IP地址的主机所发送的分组,这些分组随后被发送穿过多个充当一个或多个虚拟网关的网关设备,以用于传输到本地子网外部。分布式NAT数据库(转换和上下文信息)在提供这种冗余的负载共享虚拟路由器服务的一组路由器中被维护。下面将使用Cisco的GLBP作为用于冗余组的负载共享协议的非限制性示例来说明本发明的一个或多个实施例。本领域技术人员将会意识到可以使用其它类似的方法、装置等,只要它们允许去往单个虚拟地址或其他IP地址的分组被多个实际网关设备所转发即可。这里所使用的短语“负载共享冗余组”指的是允许去往单个IP地址的分组被多个网关设备所转发的任意装置、方法等,其中所述多个网关设备还一起工作,以在一个网关设备失败的情况下提供失败转移服务。 
在图2所示的本发明的一个实施例中,冗余组是将路由器用作网关设备的GLBP组。在GLBP组中的每个路由器都是一个AVF,并被分配了一个虚拟MAC地址。在现有系统中,NAT通常由一个使用唯一IP地址池的单独分配/转换设备来实现,所述唯一IP地址池可以暂时分配给LAN中的主机所使用的非唯一本地地址。在这样的现有系统中,执行转换的分 配设备将主机的本地地址映射到可获得的唯一地址,并且还维护映射的数据库。 
在图2所示的本发明的实施例中,AVG 212维护主NAT数据库。使用本领域技术人员所公知的服务和/或协议,可以告知每个路由器中的NAT过程在GLBP组中的哪个路有器是该组的AVG。当NAT过程得知新的AVG时,它注册到AVG中的NAT过程,并将在回复中接收主NAT数据库的拷贝。在本发明的另一实施例中,NAT数据库被每个网关设备分别维护,因此每个路由器或其他设备自身具有网关NAT映射的拷贝。 
如图2所示,虚拟网关210由多个实际网关设备路由器212、214、216和218构成。每个网关设备具有aIP地址、aMAC地址和为其分配的可重分配的虚拟MAC地址(也被称为vMAC地址)。在冗余组210中的所有网关设备共享vIP地址10.0.0.100。如图所示,网关设备212使用实际IP地址10.0.0.254、实际MAC地址0000.0C12.3456以及vMAC地址0007.B400.0101;网关设备216使用实际IP地址10.0.0.252、实际MAC地址0000.0CDE.F123以及vMAC地址0007.B400.0103。在本发明的这个实施例中,vMAC地址的最后4个数字标识冗余组(例如图2中的01xx)以及转发网关设备(例如图2中的xx01、xx02、xx03或xx04)。其他寻址方案可以被使用,并且本领域技术人员在查看本公开之后将意识到这些变化。 
在本地子网上由虚拟路由器组210服务的主机是主机222、224和226。每个主机具有其自己的非唯一IP地址(在子网上是唯一的)和MAC地址。对于现有的GLBP系统,主机以任意适合于虚拟路由器组的网关地址(在这种情况下,10.0.0.100)的方式而被预编程。例如,主机224具有LAN IP地址10.0.0.2以及MAC地址AAAA.AAAA.AA02。ARP解析协议和装置类似于标准GLBP系统。如箭头步骤241所指出的,当主机224将ARP请求发送到网关IP地址(例如10.0.0.100)时,GLBP网关设备212在步骤242处将网关设备的vMAC地址发送到发出请求的主机224。在步骤243处,主机224缓存该vMAC地址,然后在步骤244处,主机224将去往LAN外的外部网络的分组发送到拥有缓存的vMAC地址 (这里,0007.B400.0103)的网关设备216。 
如图3所示,可用全球唯一IP地址(和/或用于转换目的的其他地址)的整个池310被划分为(例如用或在GLBP网关设备的控制下)地址块310a、310b、310c和310d。在图3的示例中,从将由冗余组和其主机使用的总的地址池310中可获得80个唯一IP地址(15.21.21.00到15.21.21.79)以用于NAT服务。一个或多个地址块被分配给每个单独的AVF 212、214、216和218在图3所示的示例中,块310a(包含地址15.21.21.00到15.21.21.19)被分配给网关设备212,块310b(包含地址15.21.21.20到15.21.21.39)被分配给网关设备214,块310c(包含地址15.21.21.40到15.21.21.59)被分配给网关设备216,并且块310d(包含地址15.21.21.60到15.21.21.79)被分配给网关设备218。 
一旦地址已被分配,网关设备就可以开始对子网上的主机提供NAT服务。主机根据预定的算法或方法(下面将更详细地描述)而被分配AVF。在图4所示的本发明的实施例中,主机224使用诸如图2所示的方法而已发出ARP请求,并且接收到主机224应该向其发送外出分组的网关设备(路由器216)的MAC地址(vMAC地址0007.B400.0103)。 
当主机224向路由器216发送分组时,在步骤421处,分组最初进入路由器216的转换系统400以估计对转换服务的需求以及执行其他操作。路由器216判断出需要转换,这是由于主机224的LAN IP地址(10.0.0.2)是非唯一的并且分组去往外部网络或其他外部目的地150。因此,在步骤422处,系统400已分配给其的块310c中的地址中获得可用地址(这里,地址15.21.21.40被选出)。系统400在步骤423处创建映射,该映射示出了本地IP地址10.0.0.2到全球唯一IP地址15.21.21.40的绑定。一旦建立了该映射,路由器216就可以以任意适当的方式(本领域技术人员将会意识到)准备用于传输的分组,然后在步骤424处,将LAN的分组发送到外部的其目的地150。 
在图4所示的本发明的实施例中,AVG维护用于冗余组的主NAT映射数据库。因此,在步骤425处,AVF/路由器216的系统400将对于主数据库的更新发送到AVG/路由器212(在本示例中的AVG)。在本发明的其他实施例中,AVF可以仅仅周期性地将这些更新发动到其他AVF,而不是在每次创建转换映射时都更新主NAT映射数据库。
然后,AVG可以将主NAT映射数据库的变化量(例如最近的版本)多点传送到冗余组的所有成员,其中每个成员将确认接收到该更新。如果没有接收到来自多于一个冗余组成员的适当确认,那么可以再次多点传送该更新。如果只有一个冗余组成员的适当确认没被接收到,则可以将该更新单点传送到该路由器。 
在本发明的其他实施例中,AVF/路由器216可以将其新的映射发送到冗余组的所有成员,以允许它们更新它们自身的主映射数据库的拷贝。这将需要每个更新其映射数据库(对应于分配给其的地址池块)的AVF发送这些消息,并在多点传送每个更新之后,适当地对每个其他冗余组成员执行确认检查。在阅读了本公开之后,对于本领域技术人员,用于维护该分布式数据库信息的其他方法和机制将变清楚。 
如图5所示,当AVF/路由器失败时,对于向可重分配的VMAC地址发送的流量和利用可重新分配的vMAC地址(以及任意分配的地址块)而被发送的流量的责任被冗余组的另一成员承担和/或被分配给冗余组的另一成员。在图5中,AVF/路由器216在点521处失败,并且来自主机224的使用vMAC地址0007.B400.0103作为其外出分组的目的地的流量无法再使用AVF/路由器216。外出流量必须被改为发送到另外的冗余组成员。失败的网关设备的vMAC地址和用于转换的地址块的重新分配如同其处于标准负载共享操作中一样被执行(通常由该组的AVG)。在图5所示的情况下,在步骤522处,失败的AVF/路由器216的vMAC地址和已分配的地址块被分配给AVF/路由器214。这种切换到路由器214对主机224来说是透明的,并且对任意从LAN外部向主机224发送通信/分组的任何一方来说都是透明的。 
由于AVF/路由器214具有主NAT数据库的拷贝,其包括由失败的AVF/路由器216所分配和维护的映射,因此分组传输和NAT服务不会中断。在步骤523处,发送到vMAC地址0007.B400.0103的流量现在到达AVF/路由器214,而不是到达失败的AVF/路由器216。由于AVF/路由器 还被分配了vMAC地址0007.B400.0102,因此寻址到该MAC地址的流量(例如在步骤524处来自主机222的流量)仍旧被AVF/路由器214所转发。 
Cisco的GLBP协议以及可以使用本发明的其他负载共享协议都使用各种负载共享算法来判断响应于对冗余组虚拟IP地址的ARP请求将发送哪个vMAC地址。当冗余组在提供NAT服务和/或其他冗余服务时,负载共享算法可以被使用。这种算法的一个示例是依赖于主机的负载共享算法,其中用AVF的数目对源主机(AVG接收该主机的ARP请求)的MAC地址求模而得到的散列。从而,对于一定数目的AVF而言,将确保每个主机在其每次对冗余组的虚拟IP地址执行ARP时都接收到相同的vMAC地址。这可以确保包含相同AVF实例的路由器或其他网关设备正在对每个流执行NAT转换。 
NAT可以被绑定到特定的负载共享组,该负载共享组使用Cisco的GLBP协议而被配置。然后AVG可以维护主NAT数据库。如上所述,随后可以使用适当的服务或协议告知每个路由器中的NAT过程对于该组的AVG的身份。当NAT过程得知新的AVG时,它将注册到AVG中的NAT过程,并将在回复中接收主NAT数据库的拷贝以。 
本领域的技术人员将会意识到在给定设置中使用的冗余和/或NAT协议的选择将受到各种因素的影响。但是,无论所选择的协议是什么,本发明都可以通过适当地选择冗余协议和系统的NAT需求而在虚拟路由器组或其他冗余组中被实现,从而可以获得所需性能。 
一般而言,用于实现本发明的技术可以被实现在软件和/或硬件上。例如,这些技术可以被实现在操作系统内核中、分离的用户进程中、绑定到网络应用的库包中、专门构建的机器上,或者网络接口卡上。在本发明的具体实施例中,本发明的技术可以以软件(例如操作系统或在操作系统上运行的应用)来实现。 
本发明的软件或软件/硬件混合的分组处理系统优选地被实现在通用可编程机器上,该通用可编程机器被存储在存储器中的计算机程序来有选择地激活或重配置。这样的可编程机器可以是被设计为处理网络流量的网 络设备。这样的网络设备通常具有多个网络接口,例如包括帧中继和ISDN接口。这样网络设备的具体示例包括路由器和交换机。例如,本发明的分组处理系统可以是被专门配置的路由器,例如可从加州San Jose的Cisco系统公司获得的被专门配置的路由器模块1600、2500、2600、3600、4500、4700、7200、7500和12000。对于这些机器中的一些的一般体系结构将从下面给出的描述中变清楚。在替换实施例中,该系统可以被实现在诸如个人计算机或工作站的通用网络主机机器上。此外,本发明可以至少部分实现在用于网络设备或通用计算设备的卡(例如接口卡)上。 
现在参考图6,适合于实现本发明的路由器610包括主中央处理单元(CPU)662、接口668和总线615(例如PCI总线)。当在适当的软件或固件的控制下工作时,CPU 662负责诸如路由表计算和网络管理之类的路由器任务。它还可以负责网络地址转换、虚拟网关操作等等。它优选地在包括操作系统(例如Cisco系统公司的因特网操作系统(IOS.RTM.))和任意适当的应用软件在内的软件的控制下实现所有这些功能。CPU 662可以包括一个或多个处理器663,例如来自Mototola微处理器族的处理器或来自MIPS微处理器族的处理器。在替换实施例中,处理器663是专门设计的硬件,其用于控制路由器610的操作。在优选实施例中,存储器661(例如,非易失性RAM和/或ROM)也构成CPU 662的一部分。但是,存在很多不同的可以将存储器耦合到系统的方式。 
接口668通常被设置为接口卡(有时被称为“线路卡”)。一般而言,它们控制网络上数据分组的发送和接收,并且有时支持与路由器610一起使用的其他外设。可以提供的接口包括以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口等等。另外,还可以提供各种非常高速的接口,例如快速以太网接口、千兆位以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口等等。一般而言,这些接口可以包括适合于与适当媒体通信的端口。在某些情况下,他们还可以包括独立的处理器,并且在某些情况下,还包括易失性RAM。独立处理器可以控制通信密集型任务,例如分组交换、媒体控制和管理。通过为通信密集型任务提供分离的处理器,这些接口允许主微处理器662有效地执行路由计算、网络诊 断、安全功能等等。 
虽然如图6所示的系统是本发明的一个优选的路由器,但是它并不意味着本发明只可以在该路由器体系结构上实现。例如,通常可以使用具有处理通信以及路由计算等的单个处理器的体系结构。此外,也可以与路由器一起使用其他类型的接口和媒体。 
无论网络设备的配置怎样,它都可以采用一个或多个被配置为存储用于通用网络操作和这里所述的地址转换操作的程序指令的存储器或存储器模块(包括存储器661)。例如,程序指令例如可以控制操作系统和/或一个或多个应用的运行。所述一个或多个存储器还可以被配置为存储相关的状态信息、数据结构等等,例如这里所述的地址转换列表(例如表格)。 
由于这样的信息和程序指令可以被用于实现这里所述的系统/方法,因此本发明涉及包括用于执行这里所述各种操作的程序指令、状态信息等等的机器可读介质。机器可读介质的示例包括,但不局限于,诸如硬盘、软盘和磁带之类的磁介质;诸如CD-ROM盘之类的光介质;诸如光盘之类的磁光介质;以及被专门配置为存储和执行程序指令的硬件设备,例如只读存储器设备(ROM)和随机访问存储器(RAM)。本发明还可以被包含通过适当的介质(例如无线电波、光线路、电线路等等)传播的载波中。程序指令的示例包括机器代码(例如由编译器所产生的代码)和包含可以由计算机使用解释器来执行的更高级代码的文件。 
虽然为了清楚理解而较详细地描述了上述发明,但是显然可以在所附权利要求的范围内实施某些改变和修改。因此,所述实施例应该被看作示例性的,而非限制性的,并且本发明不应局限于这里所给出的细节,而是应该由所附权利要求及其等同物的全部范围来限定,无论在现在和将来是可预知的还是不可预知的。 

Claims (36)

1.一种在包括第一网关设备和第二网关设备的负载共享冗余组中提供网关和NAT服务的方法,该方法包括:
将唯一IP地址池划分成多个地址块,所述多个地址块包括第一地址块和第二地址块,其中所述第一地址块包含来自所述池的至少一个唯一IP地址;
将所述第一地址块分配给所述第一网关设备,并将所述第二地址块分配给所述第二网关设备;
在所述第一网关设备中,创建所述第一地址块中的唯一IP地址到所述第一网关设备所服务于的主机的本地IP地址的映射;以及
将所述映射告知所述第二网关设备。
2.如权利要求1所述的方法,其中所述负载共享冗余组实现了Cisco的网关负载平衡协议。
3.如权利要求1所述的方法,其中将所述映射告知所述第二网关设备的步骤包括:
由所述第一网关设备将所述映射发送到所述第二网关设备;以及
利用所述映射更新驻留在所述第二网关设备上的主映射数据库,其中所述第二网关设备是活动虚拟网关设备并且所述第一网关设备是活动虚拟转发设备。
4.如权利要求1所述的方法,其中将所述映射告知所述第二网关设备的步骤包括:
由所述第一网关设备将所述映射提供到所述负载共享冗余组中的活动虚拟网关设备;
使所述活动虚拟网关设备利用所述映射更新驻留在该活动虚拟网关设备上的主映射数据库;以及
使所述活动虚拟网关设备将所述主映射数据库的变化量发送到所述第二网关设备,其中所述第二网关设备是所述负载共享冗余组中的一个活动虚拟转发设备。
5.如权利要求1所述的方法,其中所述第一网关设备和第二网关设备是路由器。
6.如权利要求1所述的方法,其中所述唯一IP地址池是全球唯一IP地址池。
7.如权利要求1所述的方法,还包括:
分配连接到所述负载共享冗余组的本地网络上的主机,以使用所述第一网关设备来转发来自所述主机的去往所述本地网络外的网络的分组;以及
根据所述映射,将所述主机的本地IP地址转换成在所述第一地址块中的唯一IP地址。
8.如权利要求7所述的方法,还包括:
将虚拟MAC地址分配给所述第一网关设备;
其中分配所述主机来使用所述第一网关设备的步骤包括:指示所述主机将去往所述本地网络外的网络的分组发送到分配给所述第一网关设备的虚拟MAC地址。
9.如权利要求8所述的方法,还包括:
所述第一网关设备停止从所述本地网络向外部网络转发分组;以及
将所述虚拟MAC地址分配给所述第二网关设备。
10.一种在连接到本地网络并具有多个冗余组成员的负载共享冗余组中提供网关和NAT服务的方法,所述冗余组成员包括活动虚拟网关AVG设备,并且还包括活动的虚拟转发AVF设备,所述方法包括:
将唯一IP地址池划分成多个地址块,所述多个地址块包括第一地址块和第二地址块,其中所述第一地址块包含来自所述池的至少一个唯一IP地址;
在所述AVG设备处创建主映射数据库,该主映射数据库包含由所述冗余组成员执行的任意NAT映射;
将所述第一地址块分配给所述AVF设备,并将所述第二地址块分配给所述AVG设备;
将主机分配给所述AVF设备,以从所述主机经由所述AVF设备向所述本地网络外的网络转发分组,其中所述主机使用所述本地网络上的本地IP地址;
创建所述第一地址块中的唯一IP地址到所述主机的本地IP地址的映射;以及
通过将所述映射添加到所述主映射数据库来更新所述AVG设备处的主映射数据库。
11.如权利要求10所述的方法,其中将所述主机分配给所述AVF设备的步骤包括:所述AVG设备响应于来自所述主机的ARP请求,将分配给所述AVF设备的虚拟MAC地址转发到所述主机。
12.如权利要求10所述的方法,其中所述AVF设备和AVG设备是路由器,其中所述AVG设备将所述映射发送到所述负载共享冗余组中的第三网关设备。
13.如权利要求10所述的方法,其中所述负载共享冗余组是Cisco网关负载平衡协议组。
14.如权利要求10所述的方法,其中每个冗余组成员都维护所述主映射数据库的拷贝;
另外,所述方法还包括:
将所述映射从所述AVF设备发送到其他每个冗余组成员;以及
其他每个冗余组成员利用所述映射更新其主映射数据库的拷贝。
15.如权利要求10所述的方法,其中所述AVG设备维护所述主映射数据库;
另外,通过将所述映射添加到所述主映射数据库来更新所述主映射数据库的步骤包括:
将所述映射从所述AVF设备发送到所述AVG设备。
16.如权利要求11所述的方法,还包括:
所述AVF设备停止从所述本地网络向外部网络转发分组;以及
将所述虚拟MAC地址分配给所述负载共享冗余组中的另一AVF设备以由该另一AVF设备转发分组。
17.一种在连接到本地网络并具有多个冗余组成员的负载共享冗余组中提供网关和NAT服务的装置,所述冗余组成员包括活动虚拟网关AVG设备,并且还包括活动的虚拟转发AVF设备,所述装置包括:
用于将唯一IP地址池划分成多个地址块的装置,所述多个地址块包括第一地址块和第二地址块,其中所述第一地址块包含来自所述池的至少一个唯一IP地址;
用于在所述AVG设备处创建主映射数据库的装置,该主映射数据库包含由所述冗余组成员执行的任意NAT映射;
用于将所述第一地址块分配给所述AVF设备,并将所述第二地址块分配给所述AVG设备的装置;
用于将主机分配给所述AVF设备,以从所述主机经由所述AVF设备向所述本地网络外的网络转发分组的装置,其中所述主机使用所述本地网络上的本地IP地址;
用于创建所述第一地址块中的唯一IP地址到所述主机的本地IP地址的映射的装置;以及
用于通过将所述映射添加到所述主映射数据库来更新所述AVG设备处的主映射数据库的装置。
18.一种用于在包括第一网关设备和第二网关设备的负载共享冗余组中提供网关和NAT服务的装置,该装置包括:
用于将唯一IP地址池划分成多个地址块的装置,所述多个地址块包括第一地址块和第二地址块,其中所述第一地址块包含来自所述池的至少一个唯一IP地址;
用于将所述第一地址块分配给所述第一网关设备,并将所述第二地址块分配给所述第二网关设备的装置;
用于在所述第一网关设备中,创建所述第一地址块中的唯一IP地址到所述第一网关设备所服务于的主机的本地IP地址的映射的装置;以及
用于将所述映射告知所述第二网关设备的装置。
19.如权利要求18所述的用于在包括第一网关设备和第二网关设备的负载共享冗余组中提供网关和NAT服务的装置,还包括:
用于分配连接到所述负载共享冗余组的本地网络上的主机,以使用所述第一网关设备来转发来自所述主机的去往所述本地网络外的网络的分组的装置;以及
用于根据所述映射,将所述主机的本地IP地址转换成所述第一地址块中的唯一IP地址的装置。
20.如权利要求19所述的用于在包括第一网关设备和第二网关设备的负载共享冗余组中提供网关和NAT服务的装置,还包括:
用于将虚拟MAC地址分配给所述第一网关设备的装置;
其中用于分配所述主机来使用所述第一网关设备的装置包括用于指示所述主机将去往外部网络的分组发送到分配给所述第一网关设备的虚拟MAC地址的装置。
21.如权利要求20所述的用于在包括第一网关设备和第二网关设备的负载共享冗余组中提供网关和NAT服务的装置,还包括用于在所述第一网关设备停止从所述本地网络向外部网络转发分组之后,将所述虚拟MAC地址分配给所述第二网关设备的装置。
22.一种被配置为向本地网络上的主机提供网关和NAT服务的网关设备,该网关设备包括:
用于创建唯一IP地址到所述主机的本地IP地址的映射的装置,其中所述唯一IP地址是包含在一地址块中的一个地址,所述地址块包含从一整个可用唯一IP地址池中获得的唯一IP地址,所述池被划分成用于多个网关设备的多个地址块;
用于使用所述映射来转发去往外部网络的分组的装置;以及
用于将所述映射发送到冗余组的成员的装置,其中所述网关设备是所述冗余组的一个成员。
23.如权利要求22所述的网关设备,还包括用于利用所述主机将去往外部网络的分组寻址到的第一可重分配虚拟地址的装置。
24.如权利要求23所述的网关设备,还包括用于承担之前由另一冗余组成员所使用的第二可重分配虚拟地址的装置,其中所述另一冗余组成员不再向外部网络转发分组。
25.如权利要求23所述的网关设备,其中所述第一可重分配虚拟地址是第一虚拟MAC地址。
26.如权利要求22所述的网关设备,还包括:用于对于所述冗余组的所有成员,维护主映射数据库的装置,所述主映射数据库包含本地IP地址到唯一IP地址的映射。
27.如权利要求22所述的网关设备,其中所述冗余组是负载共享冗余组。
28.一种配置为提供网关和NAT服务的网关设备,该网关设备包括:
用于创建来自一地址块的唯一IP地址到本地网络上的主机的本地IP地址的映射的装置,所述地址块包含来自一整个可用唯一IP地址池的多个唯一IP地址,所述池被划分成用于多个网关设备的多个地址块;
用于使用所述映射,转发来自所述主机的去往外部网络的分组的装置;以及
用于将所述映射发送到负载共享冗余组的成员的装置,其中所述网关设备是所述负载共享冗余组的一个成员。
29.如权利要求28所述的网关设备,还包括用于响应于来自所述主机的ARP请求,将第一可重分配虚拟地址提供给所述主机的装置。
30.如权利要求28所述的网关设备,还包括用于承担之前由所述负载共享冗余组的另一成员所使用的第二可重分配虚拟地址的装置,其中所述另一冗余组成员不再向外部网络转发分组。
31.如权利要求29所述的网关设备,其中所述第一可重分配虚拟地址是第一虚拟MAC地址。
32.如权利要求28所述的网关设备,还包括:用于对于所述负载共享冗余组的所有成员维护主映射数据库的装置,该主映射数据库包含本地IP地址到唯一IP地址的映射。
33.一种用于向本地网络上的主机提供网关和NAT服务的系统,该系统包括负载共享冗余组,该系统包括:
具有第一可重分配虚拟地址和包含第一多个唯一IP地址的第一地址块的第一网关设备;
连接到所述第一网关设备的第二网关设备,所述第二网关设备具有第二可重分配虚拟地址和包含第二多个唯一IP地址的第二地址块,所述第二多个唯一IP地址用于映射到第二网关设备所服务于的主机的本地IP地址;
其中,所述第一网关设备被配置为将所述第一多个唯一IP地址之一映射到所述本地网络上的主机的本地IP地址,
其中,所述第一网关设备被配置为使用所述第一多个唯一IP地址之一到所述本地网络上的主机的本地IP地址的映射从所述本地网络上的主机向外部网络转发分组,
其中,所述第一网关设备被配置为将所述第一多个唯一IP地址之一到所述本地网络上的主机的本地IP地址的映射发送到所述第二网关设备,
其中,所述第一网关设备和所述第二网关设备是包括在所述负载共享冗余组中的,并且
其中,所述第一网关设备被配置为将所述第一多个唯一IP地址之一到所述本地网络上的主机的本地IP地址的映射发送到所述负载共享冗余组中的其他成员。
34.如权利要求33所述的系统,其中,所述第一网关设备和第二网关设备中的每一个都维护主映射数据库的拷贝;所述第一网关设备利用所述第一多个唯一IP地址之一到所述本地网络上的主机的本地IP地址的映射来更新其主映射数据库的拷贝;所述第二网关设备利用由所述第一网关设备发送的映射来更新其主映射数据库的拷贝。
35.如权利要求33所述的系统,其中,所述第一可重分配虚拟地址是第一虚拟MAC地址,所述第二可重分配虚拟地址是第二虚拟MAC地址。
36.如权利要求33所述的系统,其中所述第二网关设备被配置为:如果所述第一网关设备停止转发来自所述本地网络上的主机的去往外部网络的分组,则承担所述第一可重分配虚拟地址。
CN200480004960XA 2003-03-28 2004-03-25 带有网关负载分配的网络地址转换 Expired - Fee Related CN1754374B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/401,902 2003-03-28
US10/401,902 US7814232B2 (en) 2003-03-28 2003-03-28 Network address translation with gateway load distribution
PCT/US2004/009324 WO2004088954A1 (en) 2003-03-28 2004-03-25 Network address translation with gateway load distribution

Publications (2)

Publication Number Publication Date
CN1754374A CN1754374A (zh) 2006-03-29
CN1754374B true CN1754374B (zh) 2011-05-18

Family

ID=33130437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480004960XA Expired - Fee Related CN1754374B (zh) 2003-03-28 2004-03-25 带有网关负载分配的网络地址转换

Country Status (6)

Country Link
US (1) US7814232B2 (zh)
EP (1) EP1609293B1 (zh)
CN (1) CN1754374B (zh)
AU (1) AU2004225384B2 (zh)
CA (1) CA2515462A1 (zh)
WO (1) WO2004088954A1 (zh)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108554B1 (en) 2002-05-16 2012-01-31 F5 Networks, Inc. Method and system for automatically mapping secure network address translations
JP4161791B2 (ja) * 2003-05-12 2008-10-08 ソニー株式会社 機器間認証システム及び機器間認証方法、通信装置、並びにコンピュータ・プログラム
US8045566B2 (en) * 2003-08-01 2011-10-25 Hewlett-Packard Development Company, L.P. Automated router load balancing
TWI230529B (en) * 2004-01-13 2005-04-01 Admtek Inc Method and apparatus for network address translation based on pure hardware architecture
US8401024B2 (en) * 2004-01-14 2013-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Ethernet address management system
US20060015635A1 (en) * 2004-06-17 2006-01-19 International Business Machines Corporation Method and apparatus for handling address resolution protocol requests for a device having multiple interfaces
US7480710B1 (en) * 2004-07-13 2009-01-20 Cisco Technology, Inc. Resolving duplication of IP addresses in IP networks
US8095501B1 (en) 2004-07-27 2012-01-10 Infoblox Inc. Automatic enforcement or relationships in a database schema
US7383281B1 (en) * 2004-09-24 2008-06-03 Infoblox, Inc. Multiversion database cluster management
US8364631B1 (en) 2004-09-24 2013-01-29 Infoblox Inc. Database migration
US7769886B2 (en) * 2005-02-25 2010-08-03 Cisco Technology, Inc. Application based active-active data center network using route health injection and IGP
US7710865B2 (en) * 2005-02-25 2010-05-04 Cisco Technology, Inc. Disaster recovery for active-standby data center using route health and BGP
US7580415B2 (en) * 2005-04-27 2009-08-25 Hewlett-Packard Development Company, L.P. Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
JP4900891B2 (ja) 2005-04-27 2012-03-21 キヤノン株式会社 通信装置及び通信方法
US7801150B1 (en) * 2006-02-14 2010-09-21 Juniper Networks, Inc. Multiple media access control (MAC) addresses
US20070214282A1 (en) * 2006-03-13 2007-09-13 Microsoft Corporation Load balancing via rotation of cluster identity
JP4652285B2 (ja) * 2006-06-12 2011-03-16 株式会社日立製作所 ゲートウェイ選択機能を備えたパケット転送装置
US7716356B2 (en) * 2006-06-30 2010-05-11 International Business Machines Corporation Server-based acquisition, distributed acquisition and usage of dynamic MAC addresses in a virtualized Ethernet environment
JP4886463B2 (ja) 2006-10-20 2012-02-29 キヤノン株式会社 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置
JP5054114B2 (ja) * 2006-10-31 2012-10-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ipネットワークをインタフェースするための方法及び装置
CN101192917B (zh) * 2006-11-24 2010-05-12 凹凸科技(中国)有限公司 基于网络地址转换对网络访问进行控制的方法和系统
US7948983B2 (en) * 2006-12-21 2011-05-24 Verizon Patent And Licensing Inc. Method, computer program product, and apparatus for providing passive automated provisioning
US8259720B2 (en) * 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US20080205376A1 (en) * 2007-02-28 2008-08-28 Michael Patmon Redundant router having load sharing functionality
US9071666B2 (en) * 2007-04-26 2015-06-30 Alcatel Lucent Edge router and method for dynamic learning of an end device MAC address
CN101141494B (zh) * 2007-10-12 2011-02-02 杭州华三通信技术有限公司 一种解决负载分担情况下资源分配冲突的方法
WO2009063555A1 (ja) * 2007-11-13 2009-05-22 Fujitsu Limited 制御代理装置、制御代理方法および制御代理プログラム
KR101442309B1 (ko) * 2007-12-18 2014-09-23 인터내셔널 비지네스 머신즈 코포레이션 다수의 아답터들을 통해서 다수의 가상 ip 어드레스를 동시에 지원하는 호스트내 페일오버
US8521856B2 (en) * 2007-12-29 2013-08-27 Cisco Technology, Inc. Dynamic network configuration
CN101217448B (zh) * 2008-01-18 2013-01-30 福建星网锐捷网络有限公司 实现网关动态负载分担的方法及系统
CN101247421B (zh) * 2008-03-28 2011-09-07 杭州华三通信技术有限公司 分布式架构下nat地址池的自适应分配方法和系统
CN101588325B (zh) * 2008-05-20 2013-08-07 华为技术有限公司 一种基于无线分组网关的容灾方法、设备及系统
US8149840B2 (en) * 2008-06-02 2012-04-03 Huawei Technologies Co., Ltd. Method, system and processor for processing network address translation service
CN101686172B (zh) * 2008-09-27 2013-03-20 华为技术有限公司 一种网关节点的选择方法、系统和设备
US8595378B1 (en) * 2009-03-30 2013-11-26 Amazon Technologies, Inc. Managing communications having multiple alternative destinations
KR101563195B1 (ko) 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
CN102025790B (zh) * 2009-09-23 2013-12-18 中兴通讯股份有限公司 地址分配方法、装置和系统
CN102025475A (zh) * 2009-09-23 2011-04-20 中兴通讯股份有限公司 热备份场景下的地址分配方法、装置和系统
CN102075587A (zh) * 2009-11-19 2011-05-25 中国移动通信集团公司 一种地址映射关系备份的方法和系统
US8526435B2 (en) * 2010-03-19 2013-09-03 Telefonaktiebolaget L M Ericsson (Publ) Packet node for applying service path routing at the MAC layer
US8499093B2 (en) * 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
US20120131156A1 (en) * 2010-11-24 2012-05-24 Brandt Mark S Obtaining unique addresses and fully-qualified domain names in a server hosting system
CZ305446B6 (cs) * 2010-11-26 2015-09-23 Microrisc S. R. O. Způsob vytvoření funkčního uspořádání obecné bezdrátové mesh sítě komunikačních zařízení s paketovým přenosem zpráv a způsob směrování paketového přenosu zpráv v takto vytvořené síti
JP5589866B2 (ja) 2011-01-24 2014-09-17 富士通株式会社 アドレス変換方法、アドレス変換代理応答方法、アドレス変換装置及びアドレス変換代理応答装置
US8837483B2 (en) * 2011-04-11 2014-09-16 Alcatel Lucent Mapping private and public addresses
US9275239B2 (en) 2011-05-27 2016-03-01 Hewlett-Packard Development Company, L.P. Transaction gateway
US8539055B2 (en) * 2011-06-30 2013-09-17 Aruba Networks, Inc. Device abstraction in autonomous wireless local area networks
US8767737B2 (en) 2011-11-30 2014-07-01 Industrial Technology Research Institute Data center network system and packet forwarding method thereof
US8938480B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for fast loading of data from an external distributed file system to a database management system
CN102821036A (zh) * 2012-04-20 2012-12-12 杭州华三通信技术有限公司 一种实现报文转发的方法及设备
US9083709B2 (en) * 2012-05-11 2015-07-14 Cisco Technology, Inc. Virtual internet protocol migration and load balancing
US9154415B1 (en) 2012-09-18 2015-10-06 Cisco Technology, Inc. Parallel processing for low latency network address translation
US10164913B2 (en) * 2013-01-16 2018-12-25 Cfph, Llc Router for performing NAT and/or PAT translations
US9973378B2 (en) 2013-01-23 2018-05-15 Hewlett Packard Enterprise Development Lp Implementing gateway redundancy in a network
CZ306142B6 (cs) 2013-08-26 2016-08-17 Microrisc S. R. O. Způsob potvrzování zpráv a/nebo sběru dat komunikačních zařízení s paketovým přenosem zpráv v bezdrátových mesh sítích a způsob zpřístupnění tohoto potvrzování a sběru dat pro vytvoření generické platformy
US9413713B2 (en) * 2013-12-05 2016-08-09 Cisco Technology, Inc. Detection of a misconfigured duplicate IP address in a distributed data center network fabric
US10135729B2 (en) * 2014-01-31 2018-11-20 Hewlett Packard Enterprise Development Lp Distributed gateway for local subnet
US9363158B2 (en) * 2014-02-05 2016-06-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reduce size of IPV6 routing tables by using a bypass tunnel
US9009353B1 (en) * 2014-04-11 2015-04-14 Cable Television Laboratories, Inc. Split network address translation
JP5729796B1 (ja) 2014-06-30 2015-06-03 Necプラットフォームズ株式会社 ゲートウェイ装置、通信システム、通信方法及び通信プログラム
US9554290B2 (en) * 2014-12-29 2017-01-24 Moxa Inc. Wireless communication system and method for automatically switching device identifications
US20160212055A1 (en) * 2015-01-21 2016-07-21 International Business Machines Corporation Host-based load balancing of network traffic
US10554547B2 (en) * 2015-05-07 2020-02-04 Cisco Technology, Inc. Scalable network address translation at high speed in a network environment
CN107534585B (zh) * 2016-03-29 2020-04-21 华为技术有限公司 通信方法和终端
US10382392B2 (en) 2016-08-01 2019-08-13 Big Switch Networks, Inc. Systems and methods for network address translation
US10693715B1 (en) * 2017-10-26 2020-06-23 Amazon Technologies, Inc. Dynamic network address space allocation for virtual networks
US10587507B2 (en) * 2017-11-09 2020-03-10 International Business Machines Corporation Routing between software defined networks and physical networks
CN111314504B (zh) * 2020-04-01 2022-07-05 江苏润和智融科技有限公司 一种电力传感设备虚拟化ip管理方法
US11303609B2 (en) 2020-07-02 2022-04-12 Vmware, Inc. Pre-allocating port groups for a very large scale NAT engine
CN111756861A (zh) * 2020-07-07 2020-10-09 成都运达科技股份有限公司 一种基于配置文件实现内外网络数据交换的系统
JP7371784B2 (ja) * 2020-07-13 2023-10-31 日本電信電話株式会社 通信中継装置、通信中継システム、通信中継方法、および、プログラム
CN111835857B (zh) * 2020-07-17 2022-09-16 北京百度网讯科技有限公司 用于访问数据的方法和装置
US20220060441A1 (en) * 2020-08-21 2022-02-24 Arrcus Inc. High Availability Network Address Translation
US11115381B1 (en) * 2020-11-30 2021-09-07 Vmware, Inc. Hybrid and efficient method to sync NAT sessions
US20220200952A1 (en) * 2020-12-21 2022-06-23 Oracle International Corporation Network address translation between networks
US11665131B1 (en) 2022-09-13 2023-05-30 Cisco Technology, Inc. Stateful redundancy for deterministic carrier-grade network address translation (NAT) services

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506987A (en) 1991-02-01 1996-04-09 Digital Equipment Corporation Affinity scheduling of processes on symmetric multiprocessing systems
EP0603269A1 (en) 1991-09-10 1994-06-29 Hybrid Networks, Inc. Remote link adapter for use in tv broadcast data transmission system
DE69324204T2 (de) 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5488412A (en) 1994-03-31 1996-01-30 At&T Corp. Customer premises equipment receives high-speed downstream data over a cable television system and transmits lower speed upstream signaling on a separate channel
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
WO1995034153A1 (en) 1994-06-08 1995-12-14 Hughes Aircraft Company Apparatus and method for hybrid network access
US5586121A (en) 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US5872773A (en) 1996-05-17 1999-02-16 Lucent Technologies Inc. Virtual trees routing protocol for an ATM-based mobile network
US6006266A (en) 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US5956346A (en) 1996-10-22 1999-09-21 Hybrid Networks, Inc. Broadband communication system using TV channel roll-off spectrum
US5959660A (en) 1996-08-26 1999-09-28 Hybrid Networks, Inc. Subchannelization scheme for use in a broadband communications system
US5892903A (en) 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US6052718A (en) 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US6324267B1 (en) * 1997-01-17 2001-11-27 Scientific-Atlanta, Inc. Two-tiered authorization and authentication for a cable data delivery system
US5953335A (en) 1997-02-14 1999-09-14 Advanced Micro Devices, Inc. Method and apparatus for selectively discarding packets for blocked output queues in the network switch
US5946048A (en) 1997-03-12 1999-08-31 Hybrid Networks, Inc. Network device for handling digital data over a TV channel
US5946047A (en) 1997-03-12 1999-08-31 Hybrid Networks, Inc. Network system for handling digital data over a TV channel
US5989060A (en) 1997-05-02 1999-11-23 Cisco Technology System and method for direct communication with a backup network device via a failover cable
US5959968A (en) 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US5950205A (en) 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US6195705B1 (en) * 1998-06-30 2001-02-27 Cisco Technology, Inc. Mobile IP mobility agent standby protocol
US6331984B1 (en) * 1998-08-21 2001-12-18 Nortel Networks Limited Method for synchronizing network address translator (NAT) tables using the server cache synchronization protocol
US6556547B1 (en) * 1998-12-15 2003-04-29 Nortel Networks Limited Method and apparatus providing for router redundancy of non internet protocols using the virtual router redundancy protocol
US6888837B1 (en) * 1999-03-23 2005-05-03 Nortel Networks Limited Network address translation in a network having multiple overlapping address domains
US6505254B1 (en) 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US6345294B1 (en) 1999-04-19 2002-02-05 Cisco Technology, Inc. Methods and apparatus for remote configuration of an appliance on a network
US6295276B1 (en) * 1999-12-31 2001-09-25 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6779035B1 (en) * 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US6779039B1 (en) * 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
US20010048661A1 (en) * 2000-05-24 2001-12-06 David Clear Method and apparatus for multi-protocol redundant router protocol support
US6944167B1 (en) * 2000-10-24 2005-09-13 Sprint Communications Company L.P. Method and apparatus for dynamic allocation of private address space based upon domain name service queries
US6910148B1 (en) * 2000-12-07 2005-06-21 Nokia, Inc. Router and routing protocol redundancy
US7035929B2 (en) * 2001-10-23 2006-04-25 Telcordia Technologies, Inc. Method for dynamically allocating IP addresses for time sensitive hosts based on priorities and guard bands
US7305489B2 (en) * 2002-01-31 2007-12-04 Utstarcom, Inc. Method and apparatus for aggregate network address routes
US6978206B1 (en) * 2002-06-21 2005-12-20 Infogation Corporation Distributed navigation system

Also Published As

Publication number Publication date
EP1609293A1 (en) 2005-12-28
EP1609293B1 (en) 2016-07-06
AU2004225384B2 (en) 2009-10-01
AU2004225384A1 (en) 2004-10-14
CN1754374A (zh) 2006-03-29
US20040215752A1 (en) 2004-10-28
CA2515462A1 (en) 2004-10-14
WO2004088954A1 (en) 2004-10-14
US7814232B2 (en) 2010-10-12

Similar Documents

Publication Publication Date Title
CN1754374B (zh) 带有网关负载分配的网络地址转换
CN1826773B (zh) 在虚拟网关中分发和平衡流量流
JP5809696B2 (ja) 分散型仮想ネットワーク・ゲートウェイ
US7633937B2 (en) Methods and apparatus for switching between Metro Ethernet networks and external networks
US20170353394A1 (en) Resource placement templates for virtual networks
US10298449B2 (en) Automatically generated virtual network elements for virtualized packet networks
CN1781297B (zh) 通过虚拟路由转发表(vrf)认知nat来处理共享服务的装置和方法
CN101809943B (zh) 用于虚拟端口通信的方法和系统
EP1892929B1 (en) A method, an apparatus and a system for message transmission
US20130024553A1 (en) Location independent dynamic IP address assignment
CN104272668A (zh) 层3覆盖网关
US20170359198A1 (en) Non-transitory computer-readable storage medium, communication control method, and communication control device
CN107852376A (zh) 用于支持高性能计算环境中跨虚拟路由器端口的smp连接性检查的路由器sma抽象的系统和方法
CN105262685A (zh) 一种报文处理方法和装置
CN104869058A (zh) 一种数据报文转发方法和装置
CN110474829B (zh) 传输报文的方法和装置
CN105577723A (zh) 虚拟化网络中实现负载分担的方法和装置
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN114338397B (zh) 云平台网络配置方法、装置、服务器、存储介质及系统
CN102946351A (zh) 一种数据传输方法和系统
CN103262480A (zh) 一种虚拟集群建立的方法及网络设备
CN115189920A (zh) 跨网络域通信方法和相关装置
US9166947B1 (en) Maintaining private connections during network interface reconfiguration
WO2012021827A1 (en) Systems and methods for managing network address information
CN107547247B (zh) 智能弹性架构中的三层管理网ip地址分配方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110518

Termination date: 20210325