通过虚拟路由转发表(vrf)认知nat来处理共享服务的装置和方法

文档序号:7605936阅读:1103来源:国知局
专利名称:通过虚拟路由转发表(vrf)认知nat来处理共享服务的装置和方法
技术领域
本发明涉及用于处理计算机网络中的数据的方法和装置。更具体地说,本发明涉及用于转发分组的机制,该机制经由服务提供商网络请求或提供对多个虚拟专用网络(VPN)可用的共享服务。
对于与网络(例如因特网)中其他计算机或web服务器通信的特定计算机来说,该特定计算机必须具有唯一的IP地址。IP协议版本4指定了32位的IP地址,其理论上给出大约4,294,967,296个唯一的IP地址。但是,实际上仅有32到33亿的IP地址是可用的,因为这些地址被分为多个类,并且被预留用于多播、测试和其他特殊用途。随着因特网的迅速发展,IP地址的数量已经不足以对每个计算机给出一个唯一的IP地址。
利用有限数量的IP地址来对计算机寻址的一个解决方案被称为网络地址转换(NAT)。NAT允许位于因特网和本地网络之间的中间设备(例如计算机、路由器或交换机)充当本地计算机群组的代理。小范围的IP地址或单个IP地址被分配来代表这个群组的本地计算机。本地群组中的每个计算机还被给予了一个本地IP,该本地IP仅在本地群组中使用。但是,群组的本地IP地址可以与另一本地网络内使用的IP地址相同。当本地计算机尝试与本地网络之外的计算机通信时,中间设备将本地计算机的本地IP地址与中间设备的分配IP地址之一进行匹配。然后,中间设备将本地计算机的本地地址替换为匹配的分配IP地址。然后,该匹配的分配IP地址被用来在本地计算机和外部计算机之间通信。于是,NAT技术允许IP地址在本地网络上重复。
除了IP地址以外,分组还可包含嵌入在需要转换的有效载荷中的一个或多个地址。特定应用可在有效载荷中嵌入一个或多个地址,以用于各种特定应用目的。在NAT环境中,用于支持在有效载荷中嵌入IP地址的应用(例如DNS(域名服务器)、FTP(文件传输协议)、H.225/H.245)的现有手段是在NAT设备自身中添加特定应用知识。该手段在LucentTechnologies的P.Srisuresh和M.Holdrege撰写的题为“IP NetworkAddress Translator(NAT)Terminology and Considerations”的因特网工程任务组的请求注释文献RFC 2663(1999年8月)中有详细描述,该文献通过全文引用而被包含于此。
企业网一般是与诸如公司或商行等企业相关联的专用网络。为了让企业网与服务提供商网络或因特网通信,NAT设备截获分组,并在将分组转发到想去往的接收者之前,对其执行网络地址转换。虽然企业网可能在单个位置或站点处实现,但是企业网经常在物理上分离的位置处实现。换言之,与单个企业网(例如公司)相关联的多个站点可被服务提供商网络视为单个网络。这是通过将每个企业(例如商行或顾客)与虚拟专用网络(VPN)相关联而实现的。以此方式,与单个企业相关联的多个顾客站点可被服务提供商视为单个实体。
根据各种现有技术机制,每个企业(例如顾客)可用一个虚拟专用网络标识。每个企业站点一般使用不被服务提供商认识的专用地址。因此,NAT设备一般用来转换在企业与服务提供商网络之间传输的分组的地址。
各种公司和企业都可能有它们想向顾客或合伙人提供或共享的服务。因此,服务提供商可能希望向多个企业顾客提供服务(即共享服务)。例如,这种共享服务可包括语音IP、语音网守(Gatekeeper)和因特网访问。因此,访问这些由服务提供商提供的共享服务的客户端应是可唯一编址的。虽然IPv6允诺了超出可见的未来的连接性需求的地址空间,但是IPv6还是仅处在其早期开发阶段。因此,使企业客户端能被唯一编址一般是通过NAT实现的。
一般地,NAT设备在每个企业站点处实现。因此,公共地址池一般必须是被预分配给每个企业顾客的。此外,由于NAT设备一般被置于每个企业站点处,因此由具有多个站点的企业来实现NAT可能是不方便且成本很高的。
有鉴于此,如果能够实现用于提供NAT的改良技术,则将是很有益处的。

发明内容
本发明公开了用于执行NAT的方法和装置。具体而言,在与服务提供商网络的接口相关联的服务提供商网络设备处执行NAT。当服务提供商网络设备接收到分组时,对分组执行NAT和相应的路由。
根据本发明的一个方面,在这里被称为服务提供商边缘盒的网络设备还包括用于执行NAT的NAT设备,或与NAT设备相关联。为了使得服务提供商可执行NAT,其必须能够区分两个或多个VPN中的可能相同的专用地址。因此,网络设备维护多个路由选择表(即虚拟路由转发表(VRF)),每个路由选择表与不同的虚拟专用网络(例如顾客)相关联。根据一个实施例,当从虚拟专用网络内部转换和发送分组到虚拟专用网络外部的地址时,VRF或VPN标识符被存储在转换表条目中。此外,如果合适的话,则由VRF或VPN标识的合适的路由选择表被以分组的路由选择表更新。当从公共域接收到分组时,分组包括指示或标识适用于路由分组的多个路由选择表之一的信息。根据一个实施例,分组包括VRF或VPN标识符。当对分组执行NAT时,合适的路由选择表之一被识别(例如通过使用存储在转换表条目中的VRF或VPN)。然后,使用从所接收的分组获得的IP源和目的地地址来识别路由选择表中的条目。然后,使用所识别出的路由选择表条目来路由分组。
根据各种实施例,本发明与利用多协议标记交换(MPLS)能力而增强的网络兼容,所述MPLS能力在1999年3月Rosen等人的题为“BGP/MPLS VPNs”的RFC 2547中定义,该文献通过引用被包含于此,以用于各种目的。因此,所接收的分组包括MPLS标签,其包括VPN标识符(或VRF表标识符)。因此,例如可通过使用在每个表条目中包括VPN标识符的转换表来完成NAT。为了路由被转换的分组,服务提供商设备维护多个路由选择表(即虚拟路由转发表),这些表与多个VPN相关联。识别出对应于分组中出现的VPN或VRF表标识符(例如MPLS标签)(也存储在用于执行NAT的转换表条目中)的路由选择表之一。一旦识别出路由选择表,即使用来自分组的IP源和目的地地址来识别路由选择表中的条目。然后,可使用识别出的路由选择表条目来路由所述分组。
根据本发明的各种实施例,网络设备所接收的分组的MPLS标签标识了负责执行NAT的服务提供商网络设备。因此,如果接收设备不同于设备标识符,则接收设备仅仅向前转发分组。如果接收设备被MPLS标签中的设备标识符所标识,则接收网络设备执行NAT并路由分组,如此处所公开的那样。
根据本发明的各种实施例,每个路由选择表被到共享服务的默认路由更新。换言之,当为共享服务接收到通告时,通告的默认路由在每个路由选择表中被添加或更新。以此方式,与每个虚拟专用网络相关联的每个路由选择表被更新,以使得共享服务能被每个虚拟专用网络接收。当然,也可例如在单独的路由选择表中或在通过使用共享服务标签或标识符而在所有VPN间共享的单个表中以其他方式为到共享服务的默认路由加上标签。
根据本发明另一方面,NAT设备执行网络地址转换(NAT)。一般而言,在两个专用域或区域间提供用于转换流量的网络地址的机制(例如在路由器/NAT设备组合中)。这些机制还可用来在专用和公共域之间转换流量。
根据本发明另一方面,本发明涉及可操作来执行网络地址转换的网络地址转换(NAT)系统。NAT系统包括一个或多个处理器和一个或多个存储器。存储器和处理器中的至少一个适用于提供上述方法操作中的至少一些。在另一实施例中,本发明涉及用于对数据执行网络地址转换的计算机程序产品。该计算机程序产品具有至少一个计算机可读介质和存储在至少一个计算机可读产品中的计算机程序指令,所述指令被配置为执行上述方法操作中的至少一些。
本发明的上述和其他特征及优点将在下面对本发明的说明中和附图中更详细地陈述,所述说明和附图示例性地描述了本发明的原理。


图1是根据本发明的一个实施例可在其中由服务提供商网络实现本发明的技术的网络的几个部分的示意图。
图2是示出了根据本发明各种实施例由提供商NAT设备维护的多个虚拟路由转发表的示意图。
图3是示出了根据本发明的各种实施例被NAT设备转发的包括多协议标记交换(MPLS)标签的分组的过程流程图。
图4是示出了根据本发明各种实施例由NAT设备维护的转换表的示意图。
图5是示出了根据本发明各种实施例由NAT设备处理分组的方法的过程流程图。
图6是示出了根据本发明各种实施例利用到共享服务的默认路由来更新多个虚拟路由转发表的方法的过程流程图。
图7是示出了其中可实现本发明实施例的路由器的示意图。
具体实施例方式
现在详细描述本发明的具体实施例。在附图中示出了所述实施例的一个示例。虽然将结合该具体实施例来描述本发明,但是应当理解,这并不意味着将本发明限制为一个实施例。相反,替换、修改和等同物都将被包括在所附权利要求所限定的本发明的精神和范围内。在下面的描述中阐述了各种具体细节,以提供对本发明的详细理解。本发明可在没有一些或全部这些具体细节的情况下被实践。在其他情形下,公知的过程操作未被详细描述,以避免不必要地模糊本发明的主题。
在下面的说明中,本发明的各实施例提出了这样的解决方案,其使得提供商网络可向多个VPN和相关顾客提供“共享服务”。这些服务可包括但并不限于因特网访问、语音网守和代理。为了支持这些对具有相关虚拟专用网络的顾客的服务,提供商网络为每个要联系NAT处理使用的虚拟专用网络维护路由信息。以此方式,对IP服务的支持可被扩展到多个企业顾客。以此方式,执行NAT的负担可从顾客转移到服务提供商网络。
图1是根据本发明的一个实施例其中可实现本发明技术的网络100的几个部分的示意图。一般来说,本发明提供用于在多个不同的域之间执行网络地址转换(NAT)的机制。所述不同的域可以都是专用域,可以都是公共域,或者一个是专用域而另一个是公共域。根据优选实施例,选定的域对应于虚拟专用网络(VPN)。此外,每个域可实现不同版本的IP。在所示实施例中,这些NAT技术在路由器和NAT设备组合104中实现。当然,本发明的NAT技术可在任何合适数量和类型的设备中实现。根据本发明的各种实施例,NAT设备在服务提供商边缘盒(edge box)中实现,所述边缘盒在服务提供商网络的入口接口处和/或服务提供商网络的出口接口处实现。
在所示示例中,服务提供商边缘盒(以及NAT设备)104具有5个接口INT1到INT5。其中的4个接口INT1到INT4中的每一个都耦合到专用域。例如,接口INT1耦合到专用域103,接口INT4耦合到专用域4。每个域可包括任意合适数量的本地和专用网络。如图所示,域1103包括主机(例如102a、102b和102c)的专用局域网(LAN)102。在此示例中,域1103被实现为虚拟专用网络(VPN),并且被称为与顾客A的第一顾客站点即站点1相对应的VPN 1。域2114与对应于顾客B的VPN 2相关联。域3116与顾客A的第二顾客站点即站点2相关联,从而也与VPN 1相关联。域4118与对应于顾客C的VPN 3相关联,并且包括主机120和DNS服务器122。域4118可包括其他服务器或客户端平台(未示出)。服务提供商边缘盒(以及NAT设备)104还通过接口INT5耦合到公共域105(例如服务提供商网络)108。域5108包括服务器112,其可通过路由器110而被访问。因此,诸如web服务器和相关web站点之类的共享服务可经由服务器112而被访问。
任意数量的路由器和/或NAT设备可被分布于整个网络100上。例如,每个域可与其自己的路由器/NAT设备相关联。但是,根据本发明的各种实施例,服务提供商边缘盒104为多个顾客执行NAT,从而无需在每个VPN或顾客站点处设置单独的NAT设备。
服务提供商可能希望部署多种共享服务并提供对这些共享服务的访问。实际上,附加服务的提供可成为对竞争者进行区分的因素。因此,企业顾客可受益于服务提供商所提供的更广泛服务。此外,执行任何必要的地址转换的负担被转移到服务提供商网络,这将顾客从复杂的管理任务中解脱出来。于是,顾客可继续使用专用寻址,并且保持到共享服务和因特网的访问。此外,在服务提供商网络中合并NAT功能还可降低企业顾客的总成本,因为企业网边缘的顾客企业路由器不必执行NAT功能。
由于服务提供商边缘盒为每个顾客企业网(远程顾客)提供VPN访问,因此服务提供商维护多个用于各VPN的路由选择表(即虚拟路由转发表)。以此方式,服务提供商可区分多个VPN所支持的有可能相同的专用地址。
图2的示意图示出根据本发明的各种实施例的多个虚拟路由转发表,它们由提供商NAT设备维护。如图所示,服务提供商边缘盒208耦合到一个或多个虚拟专用网络。具体而言,在本示例中,三个不同的VPN202、204和206耦合到服务提供商边缘盒208。服务提供商边缘盒208维护多个VRF表209,每个路由选择表与不同的VPN相关联。如图所示,VRF表1210与VPN1相关联,VRF表2212与VPN2相关联,VRF表3214与VPN3相关联。路由选择表210、212、214可存储在提供商边缘盒208(如图所示)中,或存储在与提供商边缘盒208相关联的存储器中。
为了路由分组,服务提供商必须首先识别合适的路由选择表。传统上,每个顾客企业网络维护它自己的路由选择表。通过支持多个路由选择表,服务提供商网络可识别合适的路由选择表并相应地转发分组。这可通过获得指示VPN和/或VRF表的信息以路由分组来完成。具体而言,该信息可从要被路由的分组获得。
很多服务提供商现在都利用多协议标记交换(MPLS)来增强它们的网络。图3的过程流程图示出根据本发明各种实施例的由NAT设备转发的包括多协议标记交换(MPLS)标签的分组。如图所示,分组300包括IP头部302,其包括IP目的地地址304和IP源地址306。在此示例中,IP目的地地址304是服务器112,IP源地址306是主机120。分组300还包括有效载荷308和MPLS标签310。MPLS标签的简化版本示出了提供商边缘设备标识符312,其标识了发送该分组的提供商边缘设备。此外,VPN标识符314标识了发送该分组的虚拟专用网。在此示例中,VPN标识符314标识VPN3。RFC 2547公开了MPLS标签的内容的更详细说明。
为了执行NAT,一般使用转换表。图4的示意图示出根据本发明各种实施例由NAT设备维护的转换表。具体而言,转换表400包括多个条目402。每个条目402包括VPN标识符或VRF表标识符404、“内部”本地地址406、“内部”公共地址408、“外部”本地地址410以及“外部”公共地址412。换言之,“本地”地址对应于可在虚拟专用网络中使用的IP地址(即专用地址),“公共”地址对应于可在虚拟专用网络外部使用的IP地址(即公共地址)。当分组被发送往虚拟专用网络内部的节点时,使用本地地址,而当分组被发送往虚拟专用网络外部的节点时,使用公共地址。“外部”地址对应于虚拟专用网络外部的地址或节点,而“内部”地址标识虚拟专用网络内部的那些地址或节点。在此示例中,图1的服务器112具有地址192.1.1.1,而图1的主机120具有地址10.1.1.1。具体而言,地址10.1.1.1可被多个VPN的多个主机共享。因此,转换表条目的VPN标识符可用来区分这些主机。VPN标识符例如可从分组的MPLS标签获得。
根据一个实施例,当分组被从VPN内部发送到VPN外部时,NAT被执行,并且转换表条目被创建。如上所述,VRF或VPN标识符被存储在转换表条目中。由VRF或VPN标识符标识出的合适的路由选择表也被更新。
一旦合适的条目已被用IP源和目的地地址以及VPN标识符识别出,对应的公共地址就被获得,以执行NAT,来将分组从主机发送到web站点。然后,可利用修改后的公共地址来发送分组。在此示例中,主机地址10.1.1.1被转换为172.1.1.1,而服务器地址保持不变,因为它是公共地址。因此,当从专用IP源地址发送分组时,IP源地址被从专用地址转换为公共地址。
为了从web站点向主机发送分组,服务提供商盒使用IP源地址盒目的地地址来查找合适的转换表条目。服务器的源IP地址保持不变,而目的地IP地址172.1.1.1被转换为10.1.1.1。因此,当分组被从公共IP源地址发送时,如果IP目的地地址位于专用网络或VPN中,则公共IP目的地地址被转换为专用地址。下面参照图5更详细描述对从VPN外部的服务提供商网络设备接收的分组的处理方法。
如参照图4所述,当分组被从VPN内部被发送到VPN外部的节点时,转换和路由选择表可被更新。图5的过程流程图示出了根据本发明各种实施例由服务提供商网络NAT设备对从VPN外部接收的寻址到VPN内部节点的分组的处理方法。如框502所示执行NAT。例如,如上所述,MPLS标签可标识负责执行NAT和路由分组的网络设备。此外,MPLS标签还可标识VPN网络。因此,VPN可从MPLS标签确定,从而在如图4所示的转换表中识别条目。一旦使用从分组中获得的IP源地址(和/或端口)、IP目的地地址(和/或端口)以及VPN标识符在转换表中识别出条目,就使用该转换表条目的内容来对分组执行NAT。
一旦NAT已被执行,分组就可被路由。具体而言,在框504处,服务提供商网络设备所维护的多个路由选择表之一必须被识别,以路由分组。如上所述,根据一个实施例,VPN和/或VRF表标识符在MPLS标签中被标识。该VPN标识符优选地还被存储在转换表条目中。因此,使用VPN标识符可识别出与特定VPN相关联的合适的路由选择表,所述VPN标识符是从MPLS标签获得的,或者是从存储在先前用于对分组执行NAT的转换表条目中的VPN标识符获得的。
在识别出与VPN相关联的路由选择表之后,使用分组中的IP源地址和IP目的地地址来识别路由选择表中的条目,如框506所示。然后在框508处,使用所识别出的路由选择表条目来路由分组。
为了确保每个VRF表(路由选择表)被更新,通告的路由被添加到由服务提供商边缘盒维护的每个路由选择表。图6的过程流程图示出了根据本发明各种实施例利用到共享服务的默认路由来更新多个虚拟路由转发表的方法,如600所示。提供对每个VPN可用的一个或多个共享服务的每个网络设备通告到达所述网络设备的“默认路由”。如框602所示,到对每个VPN可用的共享服务的一个或多个通告的默认路由被服务提供商边缘盒接收。然后,在框604处,对应于各VPN的多个路由选择表中的每一个都被更新,以包括默认路由。换言之,每个默认路由定义了到达提供对每个VPN可用的一个或多个共享服务的网络设备的路由。
一般地,根据本发明的各种实施例来执行网络地址转换和路由选择的技术可在软件和/或硬件上实现。例如,它们可实现在操作系统内核中,在独立的用户进程中,在与网络应用程序绑定的库程序包中,在专门构造的机器上,或在网络接口卡上。在本发明特定实施例中,本发明的技术被实现在诸如操作系统或操作系统上运行的应用程序这样的软件中。
本发明的软件或软件/硬件混合分组处理系统优选地在下述通用可编程机器上实现,所述机器被存储器中存储的计算机程序选择性地激活或重配置。这种可编程机器可以是被设计为处理网络流量的网络设备。这种网络设备一般具有多个网络接口,例如包括帧中继和ISDN接口。这种网络设备的具体示例包括路由器和交换机。例如,本发明的分组处理系统可以是专门配置的路由器,例如可从San Jose,California的思科系统有限公司获得的专门配置的型号为1600,2500,2600,3600,4500,4700,7200,7500和12000的路由器。下面将描述这些机器中某些机器的通用结构。在可替换实施例中,分组处理系统(例如NAT设备或服务提供商边缘盒)可在诸如个人计算机或工作站等通用网络主机机器上实现。此外,本发明至少可部分实现在网络设备或通用计算设备的卡(例如接口卡)上。
现在参照图7,适于实现本发明实施例的路由器10包括主中央处理单元(CPU)62、接口68和总线15(例如PCI总线)。当在合适的软件或固件控制下动作时,CPU 62负责诸如路由选择表计算和网络管理之类的路由器任务。它还可负责确定地址是否是专用地址,确定是否存在对专用地址的绑定,以及将专用地址或DNS有效载荷地址转换为公共池地址,等等。它优选地在包括操作系统(例如思科系统有限公司的因特网操作系统(IOS))和任何合适的应用软件在内的软件的控制下完成所有这些功能。CPU 62可包括一个或多个处理器63,例如来自摩托罗拉微处理器族或MIPS微处理器族的处理器。在可替换实施例中,处理器63是专门设计的用于控制路由器10的操作的硬件。在特定实施例中,存储器61(例如非易失性RAM和/或ROM)也形成了CPU 62的一部分。但是,还有很多不同的能将存储器耦合到系统的方式。存储器块61可用于多种目的,例如缓存和/或存储数据、程序指令等。
接口68一般被提供为接口卡(有时称为“线路卡”)。一般地,它们控制网络上的数据分组或数据段的发送和接收,有时支持与路由器10一起使用的其他外设。可被提供的接口有以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口等等。此外,还可提供各种甚高速接口,例如快速以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口,等等。一般地,这些接口可包括适于与合适的介质通信的端口。在某些情形中,它们还可包括独立的处理器,在某些情形中还包括易失性RAM。所述独立处理器可控制诸如分组交换、媒体控制和管理等通信密集型任务。通过提供用于通信密集型任务的单独的处理器,这些接口允许主微处理器62高效执行路由计算、网络诊断以及安全功能等。
虽然图7所示的系统是本发明的一个特定路由器,但是它绝非可实现本发明的唯一路由器体系结构。例如,常常使用具有单个处理通信和路由计算等的处理器的体系结构。此外,其他类型的接口和介质也可与路由器一起使用。
不论网络设备的配置如何,它都可采用一个或多个存储器或存储器模块(例如存储器块65),这些存储器或存储器模块被配置为存储用于通用网络操作和/或此处所述的创造性技术的数据和程序指令。所述程序指令可控制例如操作系统和/或一个或多个应用程序的操作。所述一个或多个存储器还可被配置为存储用于每个虚拟专用网络的虚拟路由转发表。
因为上述信息和程序指令可被用来实现此处所述的系统/方法,因此本发明涉及包括用于执行此处所述的各种操作的程序指令、状态信息等的机器可读介质。机器可读介质的示例包括但不限于磁介质,例如硬盘、软盘和磁带;光介质,例如CD-ROM盘和DVD;磁-光介质,例如可光读软磁盘(floptical disk);以及被专门配置来存储和执行程序指令的硬件设备,例如只读存储器设备(ROM)和随机访问存储器(RAM)。本发明还可实现在通过合适的介质传播的载波中,例如无线电波、光线路、电线路,等等。程序指令的示例包括例如由编译器产生的机器代码,以及包含可由计算机使用解释器执行的高级代码的文件。
虽然为了清楚理解起见,上面已描述了本发明的某些细节,但是很明显,可在所附权利要求的范围内实践某些改变和修改。例如,虽然参照使用多个路由选择表描述了本发明,但是通过在每个路由选择表条目中插入VPN标识符,可使用单个路由选择表。因此,所描述的实施例应被理解为说明性而非限制性的,并且本发明不应被限制为此处给出的细节,而是应由所附权利要求及其等同物的整个范围来限定。
权利要求
1.一种在网络设备中执行NAT的方法,包括维护多个路由选择表,所述多个路由选择表中的每一个与不同的虚拟专用网络相关联;接收分组,所述分组包括IP源地址和IP目的地地址,所述分组还包括指示所述多个路由选择表之一以路由所述分组的信息;对所述分组执行NAT;识别所述多个路由选择表之一以路由所述分组;使用所述IP目的地地址来识别所述多个路由选择表之一中的条目;以及使用所述识别出的路由选择表条目来路由所述分组。
2.如权利要求1所述的方法,其中每个虚拟专用网络与不同的顾客相关联。
3.如权利要求1所述的方法,其中所述网络设备与服务提供商网络的入口接口相关联。
4.如权利要求1所述的方法,其中所述网络设备与服务提供商网络的出口接口相关联。
5.如权利要求1所述的方法,其中所述网络设备与服务提供商网络相关联。
6.如权利要求1所述的方法,其中对所述分组执行NAT包括当所述分组是从专用网络中的网络设备接收的时,将所述IP源地址从专用地址转换为公共地址。
7.如权利要求1所述的方法,其中对所述分组执行NAT包括当所述分组是从公共网络中的网络设备接收的时,将所述IP目的地地址从公共地址转换为专用地址。
8.如权利要求7所述的方法,其中所述公共网络中的网络设备向每个虚拟专用网络提供一个或多个服务。
9.如权利要求1所述的方法,还包括接收由提供对每个虚拟专用网络可用的一个或多个共享服务的网络设备所通告的默认路由;以及更新所述多个路由选择表中的每一个,以包括到所述提供对每个虚拟专用网络可用的一个或多个共享服务的网络设备的所述默认路由。
10.如权利要求1所述的方法,其中所述分组包括指示虚拟专用网络的MPLS标签,其中识别所述路由选择表之一包括根据所述MPLS标签确定所述虚拟专用网络;以及识别与所述虚拟专用网络相关联的所述路由选择表之一。
11.如权利要求10所述的方法,其中所述MPLS标签还标识负责执行NAT和路由所述分组的网络设备。
12.如权利要求1所述的方法,其中所述分组包括指示虚拟专用网络的MPLS标签,其中对所述分组执行NAT包括根据所述MPLS确定所述虚拟专用网络;在包括所述IP源地址、所述IP目的地地址和标识所述虚拟专用网络的虚拟专用网络标识符的转换表中识别条目;以及使用所述转换表中的所述条目来对所述分组执行NAT。
13.如权利要求12所述的方法,其中识别所述路由选择表之一以路由所述分组包括根据所述转换表中的所述条目来识别所述路由选择表之一。
14.一种在网络设备中执行NAT的方法,包括维护多个路由选择信息集合,所述多个路由选择信息集合中的每一个与不同的虚拟专用网络相关联;接收分组,所述分组包括IP源地址和IP目的地地址,所述分组还包括指示所述多个路由选择表之一以路由所述分组的信息;对所述分组执行NAT;使用所述IP目的地地址来识别所述多个路由选择信息集合之一中的条目;以及使用所述识别出的路由选择表条目来路由所述分组。
15.如权利要求14所述的方法,其中与每个虚拟专用网络相对应的所述多个路由选择信息集合中的每一个被存储在单独的路由选择表中。
16.如权利要求14所述的方法,其中与每个虚拟专用网络相对应的所述多个路由选择信息集合中的每一个被存储在单个路由选择表中,其中所述路由选择表中的每个条目包括标识所述对应的虚拟专用网络的VPN标识符。
17.如权利要求14所述的方法,还包括接收由提供对每个虚拟专用网络可用的一个或多个共享服务的网络设备所通告的默认路由;以及更新所述多个路由选择信息集合,以包括到所述提供对每个虚拟专用网络可用的一个或多个共享服务的网络设备的所述默认路由。
18.如权利要求17所述的方法,其中更新所述多个路由选择信息集合包括更新单个路由选择表以包括所述默认路由。
19.如权利要求18所述的方法,其中所述单个路由选择表专用于存储到对每个虚拟专用网络可用的共享服务的默认路由。
20.如权利要求18所述的方法,其中所述单个路由选择表存储所述多个路由选择信息集合。
21.如权利要求17所述的方法,其中更新所述多个路由选择信息集合包括更新多个路由选择表以包括所述默认路由,所述多个路由选择表中的每一个与不同的虚拟专用网络相关联。
22.一种其上存储有用于在网络设备中执行NAT的计算机可读指令的计算机可读介质,包括用于维护多个路由选择表的指令,所述多个路由选择表中的每一个与不同的虚拟专用网络相关联;用于接收分组的指令,所述分组包括IP源地址和IP目的地地址,所述分组还包括指示所述多个路由选择表之一以路由所述分组的信息;用于对所述分组执行NAT的指令;用于识别所述多个路由选择表之一以路由所述分组的指令;用于使用所述IP目的地地址来识别所述多个路由选择表之一中的条目的指令;以及用于使用所述识别出的路由选择表条目来路由所述分组的指令。
23.一种适用于执行NAT的网络设备,包括用于维护多个路由选择表的装置,所述多个路由选择表中的每一个与不同的虚拟专用网络相关联;用于接收分组的装置,所述分组包括IP源地址和IP目的地地址,所述分组还包括指示所述多个路由选择表之一以路由所述分组的信息;用于对所述分组执行NAT的装置;用于识别所述多个路由选择表之一以路由所述分组的装置;用于使用所述IP目的地地址来识别所述多个路由选择表之一中的条目的装置;以及用于使用所述识别出的路由选择表条目来路由所述分组的装置。
24.一种适用于执行NAT的网络设备,包括处理器;以及存储器,所述处理器和所述存储器中的至少一个适用于维护多个路由选择表,所述多个路由选择表中的每一个与不同的虚拟专用网络相关联;接收分组,所述分组包括IP源地址和IP目的地地址,所述分组还包括指示所述多个路由选择表之一以路由所述分组的信息;对所述分组执行NAT;识别所述多个路由选择表之一以路由所述分组;使用所述IP目的地地址来识别所述多个路由选择表之一中的条目;以及使用所述识别出的路由选择表条目来路由所述分组。
全文摘要
本发明公开了用于执行NAT的方法和装置。具体而言,在与服务提供商网络的接口相关联的服务提供商网络设备处执行NAT。当分组从VPN被发送往服务提供商网络外部的节点时(例如以便访问共享服务),分组包括VPN标识符(或VRF标识符)。根据各种实施例,每个分组包括MPLS标签,该MPLS标签包括VPN标识符。VPN标识符被存储在转换表条目中。存储VPN标识符将使得从共享服务网络到顾客VPN的答复分组能够被用由VPN标识符标识出的路由选择表来路由。
文档编号H04L12/46GK1781297SQ200480011093
公开日2006年5月31日 申请日期2004年6月8日 优先权日2003年6月19日
发明者马赫德福·索玛荪达拉姆 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1