首页 / 专利库 / 化妆品和香水 / 覆盖 / 通过地址空间聚合的虚拟化网络功能

通过地址空间聚合的虚拟化网络功能

阅读:348发布:2021-06-06

专利汇可以提供通过地址空间聚合的虚拟化网络功能专利检索,专利查询,专利分析的服务。并且在一些示例中,在第一客户边缘路由器处提供虚拟化运营商级网络地址转换(CGN)的示例方法可以包括:在第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道;对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包;从一个或多个聚合路由器中选择第一聚合路由器以发送经过NAT处理的第一数据包;利用与第一客户边缘路由器和第一聚合路由器之间建立的隧道对应的 覆盖 信息封装经过NAT处理的第一数据包;通过隧道向第一聚合路由器发送封装的经过NAT处理的第一数据包。,下面是通过地址空间聚合的虚拟化网络功能专利的具体信息内容。

1.一种在第一客户边缘路由器处提供地址转换的方法,所述第一客户边缘路由器是多个客户边缘路由器之一,所述方法包括:
由所述第一客户边缘路由器在所述第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道;
由所述第一客户边缘路由器对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,所述NAT是专用IP地址到公共IP地址的转换;
由所述第一客户边缘路由器从所述一个或多个聚合路由器中选择第一聚合路由器以发送所述经过NAT处理的第一数据包;
由所述第一客户边缘路由器利用与在所述第一客户边缘路由器和所述第一聚合路由器之间建立的隧道对应的覆盖信息来封装所述经过NAT处理的第一数据包;并且由所述第一客户边缘路由器通过所述隧道向所述第一聚合路由器发送所述封装的经过NAT处理的第一数据包。
2.根据权利要求1所述的方法,其中,所述公共IP地址是所述第一客户边缘路由器的设备地址。
3.根据权利要求2所述的方法,其中,所述设备地址是所述第一聚合路由器的功能IP地址空间中的单个IP地址。
4.根据权利要求1至3中任一项所述的方法,其中,所述第一客户边缘路由器和所述第一聚合路由器由第一运营商提供,并且所述第一客户边缘路由器与所述第一聚合路由器之间的隧道是使用所述第一运营商提供的网络电路建立的。
5.根据权利要求1至3中任一项所述的方法,其中,所述第一客户边缘路由器和所述第一聚合路由器由第一运营商提供,并且所述第一客户边缘路由器与所述第一聚合路由器之间的隧道是使用第二运营商提供的网络电路建立的。
6.根据权利要求1至5中的任一项所述的方法,还包括:由所述第一客户边缘路由器维护从所述专用IP地址到所述公共IP地址的NAT的记录。
7.根据权利要求1至6中任一项所述的方法,其中,所述覆盖信息包括覆盖标头,所述覆盖标头包括用于建立所述第一客户边缘路由器与所述第一聚合路由器之间的隧道的所述第一客户边缘路由器的端口地址和所述第一聚合路由器的端口地址。
8.根据权利要求1至7中任一项所述的方法,还包括:
由所述第一客户边缘路由器通过所述第一客户边缘路由器与所述第一聚合路由器之间建立的隧道接收第二数据包;
由所述第一客户边缘路由器从所述第二数据包中去除覆盖信息以创建解封装的第二数据包;
由所述第一客户边缘路由器对所述解封装的第二数据包执行反向NAT;并且转发所述经过反向NAT处理的解封装的第二数据包以传递到在所述经过反向NAT处理的解封装的第二数据包中指定的目标地址。
9.一种客户边缘路由器,所述客户边缘路由器被配置为提供地址转换,所述客户边缘路由器是多个客户边缘路由器之一,所述客户边缘路由器包括:
被配置为存储指令的存储器;以及
处理器,被配置为执行所述指令,其中,所述指令的执行使所述处理器进行以下操作:
在所述客户边缘路由器与一个或多个聚合路由器之间建立覆盖网络,所述覆盖网络包括所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道;
对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,所述NAT是专用IP地址到公共IP地址的转换;
选择发送所述经过NAT处理的第一数据包要通过的适当的隧道;
利用与所述选择的隧道对应的覆盖信息封装所述经过NAT处理的第一数据包;并且通过所述选择的隧道发送所述封装的经过NAT处理的第一数据包。
10.根据权利要求9所述的客户边缘路由器,其中,所述公共IP地址是所述客户边缘路由器的设备地址。
11.根据权利要求10所述的客户边缘路由器,其中,所述设备地址是所述一个或多个聚合路由器的功能IP地址空间中的单个IP地址。
12.根据权利要求9至11中任一项所述的客户边缘路由器,其中,所述客户边缘路由器和所述一个或多个聚合路由器由第一运营商提供,并且所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道是通过使用所述第一运营商提供的网络电路而建立的。
13.根据权利要求9至11中任一项所述的客户边缘路由器,其中,所述客户边缘路由器和所述一个或多个聚合路由器由第一运营商提供,并且所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道中的至少一个隧道是通过使用第二运营商提供的网络电路而建立的。
14.根据权利要求9至13中任一项所述的客户边缘路由器,其中,所述覆盖信息包括覆盖标头,所述覆盖标头包括所述客户边缘路由器的端口地址和所述客户边缘路由器与之建立隧道的聚合路由器的端口地址。
15.根据权利要求9至14中的任一项所述的客户边缘路由器,其中,所述指令的执行使所述处理器进行以下操作:
通过所述选择的隧道接收第二数据包;
从所述第二数据包中去除覆盖信息以创建解封装的第二数据包;
对所述解封装的第二数据包执行反向NAT;并且
转发所述经过反向NAT处理的解封装的第二数据包以传递到在所述经过反向NAT处理的解封装的第二数据包中指定的目标地址。
16.一种存储有指令的非暂时性计算机可读存储介质,所述指令响应于客户边缘路由器的处理器的执行而使所述处理器进行以下操作:
在所述客户边缘路由器与一个或多个聚合路由器之间建立覆盖网络,所述覆盖网络包括所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道;
对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,所述NAT是专用IP地址到公共IP地址的转换;
选择发送所述经过NAT处理的第一数据包要通过的适当的隧道;
利用与所述选择的隧道对应的覆盖信息封装所述经过NAT处理的第一数据包;并且通过所述选择的隧道发送所述封装的经过NAT处理的第一数据包。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述公共IP地址是所述客户边缘路由器的设备地址,所述设备地址是所述一个或多个聚合路由器的功能IP地址空间中的单个IP地址。
18.根据权利要求16或17所述的非暂时性计算机可读存储介质,其中,所述客户边缘路由器和所述一个或多个聚合路由器由第一运营商提供,并且所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道是通过使用所述第一运营商提供的网络电路而建立的。
19.根据权利要求16或17所述的非暂时性计算机可读存储介质,其中,所述客户边缘路由器和所述一个或多个聚合路由器由第一运营商提供,并且所述客户边缘路由器与所述一个或多个聚合路由器中的每个聚合路由器之间的相应隧道中的至少一个隧道是通过使用所述第二运营商提供的网络电路而建立的。
20.根据权利要求16至19中的任一项所述的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上进一步存储指令,所述指令响应于所述处理器的执行而使所述处理器进行以下操作:
通过所述选择的隧道接收第二数据包;
从所述第二数据包中去除覆盖信息以创建解封装的第二数据包;
对所述解封装的第二数据包执行反向NAT;并且
转发所述经过反向NAT处理的解封装的第二数据包以传递到在所述经过反向NAT处理的解封装的第二数据包中指定的目标地址。
21.一种用于在第一客户边缘路由器处提供地址转换的设备,所述第一客户边缘路由器是多个客户边缘路由器之一,所述设备包括:
用于由所述第一客户边缘路由器在所述第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道的装置;
用于由所述第一客户边缘路由器对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包的装置,所述NAT是专用IP地址到公共IP地址的转换;
用于由所述第一客户边缘路由器从所述一个或多个聚合路由器中选择第一聚合路由器以发送所述经过NAT处理的第一数据包的装置;
用于由所述第一客户边缘路由器利用与所述第一客户边缘路由器和所述第一聚合路由器之间建立的隧道对应的覆盖信息来封装所述经过NAT处理的第一数据包的装置;以及用于由所述第一客户边缘路由器通过所述隧道向所述第一聚合路由器发送所述封装的经过NAT处理的第一数据包的装置。
22.根据权利要求21所述的设备,还包括:用于实现根据权利要求2至8中的任一项所述的方法的装置。
23.一种包括指令的计算机程序、计算机程序产品或计算机可读介质,所述指令在由计算机执行时使所述计算机执行根据权利要求1至8中任一项所述的方法的步骤。

说明书全文

通过地址空间聚合的虚拟化网络功能

技术领域

[0001] 本公开总体上涉及网络通信。

背景技术

[0002] 目前企业和其他实体之间越来越倾向于架构。这种趋势的一个结果是企业客户要求他们的网络服务提供商提供更多的托管服务,诸如连接性和安全性服务(例如,安全连接性和数据传输、防火墙服务等)。
[0003] 本公开中要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的实施例。相反,此背景仅被提供来说明可以实施本公开中描述的一些实施例的一个示例技术领域。发明内容
[0004] 在独立权利要求中阐述了本发明的多个方面,并且在从属权利要求中阐述了优选特征。一方面的特征可以单独地或与其他方面结合地应用于每个方面。
[0005] 根据一些示例,描述了在多个客户边缘路由器中的客户边缘路由器处提供虚拟化运营商级网络地址转换(CGN)的方法。在多个客户边缘路由器的第一客户边缘路由器处提供虚拟化CGN的示例方法可以包括:由所述第一客户边缘路由器在所述第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道;并且由所述第一客户边缘路由器对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,所述NAT是专用IP地址到公共IP地址的转换。所述方法还可以包括:由所述第一客户边缘路由器从所述一个或多个聚合路由器中选择第一聚合路由器以发送所述经过NAT处理的第一数据包;由所述第一客户边缘路由器利用与所述第一客户边缘路由器和所述第一聚合路由器之间建立的隧道对应的覆盖信息(overlay information)来封装所述经过NAT处理的第一数据包;并且由所述第一客户边缘路由器通过所述隧道向所述第一聚合路由器发送所述封装的经过NAT处理的第一数据包。
[0006] 至少通过权利要求书中具体指出的要素、特征和组合来实现和达成实施例的目的和优点。前面的概述和下面的详细描述均作为示例给出,是说明性的,而不是限制如所要求保护的本发明。附图说明
[0007] 结合附图,通过以下描述和所附权利要求书,本公开的前述和其他特征将变得更加显而易见。要理解的是,这些附图仅描绘了根据本公开的几个实施例,因此不应被认为是对其范围的限制,将通过使用附图以附加的特征和细节来描述本公开,其中:
[0008] 图1示出了本公开的架构可以在其上工作的环境和设备的概览图;
[0009] 图2示出了图1的架构中的示例地址空间管理;
[0010] 图3示出了图1的架构中的所选设备的示例地址和功能分配;
[0011] 图4是示出示例网络流量流的序列图;
[0012] 图5是示出示例返回网络流量流的序列图;
[0013] 图6是示出发送经过NAT处理的数据包的示例过程的流程图
[0014] 图7是示出发送与经过NAT处理的数据包对应的返回数据包的示例过程的流程图;并且
[0015] 图8示出了根据本文描述的至少一些实施例布置的边缘网络设备的环境,该环境可以用于通过地址空间聚合来提供虚拟化的网络功能。

具体实施方式

[0016] 在下面的详细描述中,参考了构成本发明的一部分的附图。在附图中,除非上下文另外指出,否则相似的符号通常标识相似的部件。在详细描述、附图和权利要求书中描述的说明性实施例并不意味着限制。在不脱离本文提出的主题的精神或范围的情况下,可以利用其他实施例,并且可以进行其他改变。如本文总体上描述并且在附图中示出的本公开的各方面可以以各种不同的配置进行布置、替换、组合、分离和设计,所有这些在本文中都已被明确设想到。
[0017] 本公开除其他以外总体涉及与允许多个分布式网络节点参与并启用一个或多个托管服务(managed service)(本文中可互换地称为“网络功能”或“功能”)有关的方法、装置、系统、设备和/或计算机程序产品,通常使用少量集中式、大型网络设备来传递一个或多个托管服务。
[0018] 如上所述,企业要求他们的网络服务提供商提供更多的托管服务。在向企业提供托管服务时,网络服务提供商(在本文中可互换地称为“网络运营商(carrier)”或“运营商”)可以采用包括少量集中式网络节点或聚合节点的聚合层。网络服务提供商可以将企业客户放置在聚合层的一侧,而将企业客户之外的网络基础设施(诸如互联网)放置在聚合层的另一侧。网络服务提供商可以通过聚合层引导企业客户与企业客户之外的网络基础设施之间的所有网络流量。即,进出运营商网络的所有网络流量都经过聚合层中的少数集中式聚合节点。
[0019] 例如,运营商可以在聚合层中使用少量集中式对等路由器或提供商边缘路由器(在本文中可互换地称为“聚合节点”或“聚合路由器”),并且将少量集中式聚合路由器放置在运营商网络的公共边缘处或附近。运营商还可以在企业客户连接到运营商网络的运营商网络边缘处使用和管理多个路由器(例如,客户边缘路由器)。例如,客户边缘路由器可以位于企业客户的各个位置或场所。客户边缘路由器可以连接到运营商的提供商边缘(例如,聚合路由器),并且可以是运营商的最后点。运营商可以使用聚合路由器通告公共地址,因此通过聚合路由器将网络流量引导到运营商网络。运营商可以在聚合路由器与客户边缘路由器之间提供适当的路由。当进出运营商网络的所有网络流量都通过少量的集中式聚合路由器时,运营商可以在少量的集中式聚合路由器上提供托管服务。运营商还能够控制返回网络流量的路由(例如,使更多的网络流量通过运营商网络)。
[0020] 然而,使用少量的集中式聚合路由器带来少量节点必须维护非常大量且可能是海量信息的可扩展性问题。例如,运营商可以在聚合路由器处提供运营商级网络地址转换(CGN),以引导和控制网络流量通过聚合路由器进出运营商网络。CGN是这样一种方法:运营商能够提供客户边缘路由器(例如企业客户)专用地址,将网络流量从客户边缘路由器带到少量聚合路由器,并且将专用网络地址转换为聚合路由器处的聚合路由器的公共地址(例如,由聚合路由器通告的公共地址)。聚合路由器可以对去往客户边缘路由器的返回网络流量执行“反向”转换。因为聚合路由器可能正在为大量的网络地址(例如,网络节点)提供CGN,所以这可能要求少量的聚合路由器维护非常大量且可能海量的状态信息。这可能会带来可扩展性问题。此外,由于聚合路由器可能正在为成百上千个客户提供服务,因此聚合路由器的故障可能产生重大影响(例如,影响非常多的网络节点)。
[0021] 本公开总体上描述了参与并启用通常会使用少量集中式聚合节点来传递的一个或多个网络功能的任何数量的分布式网络节点。在一些实施例中,多个客户边缘路由器可以使用跨运营商网络域的分布式处理和地址空间聚合的组合,在运营商网络域中网络功能将被提供从而以虚拟化的方式传递网络功能。
[0022] 为了提供示例,将CGN功能描述为虚拟化网络功能的示例。本领域普通技术人员将理解,可以如本文关于CGN所描述的虚拟化的方式类似地提供其他网络功能,诸如防火墙、内容检查和过滤、客户驻地设备(CPE)等。这种网络功能的另一示例可以包括虚拟专用联网(VPN)和当从一个或多个VPN传输数据包和/或向一个或多个VPN传输数据包时的关联地址映射。
[0023] 在一些实施例中,可以在包括聚合平台层、功能端点层以及聚合的或功能的互联网协议(IP)地址空间的架构上提供虚拟化CGN功能。聚合平台层可以包括一个或多个聚合路由器。聚合平台层可以终止来自功能端点层的隧道,以充当外部网络(例如互联网)和执行虚拟化CGN功能的设备之间的网关。聚合平台层还可以通告聚合IP地址空间。通告的聚合IP地址空间可以为功能端点层提供返回路由能,使得功能端点层看起来是位于提供虚拟化CGN功能的运营商网络上。
[0024] 功能端点层可以包括执行网络地址转换(NAT)以共同形成虚拟化CGN运营商网络(例如,虚拟化CGN域)的设备。虚拟化CGN运营商网络可以通过聚合平台层进行访问。功能端点层可以包括一个或多个客户边缘路由器。每个客户边缘路由器可以建立到聚合平台层中的每个聚合路由器的隧道以建立覆盖网络。
[0025] 可以将聚合IP地址空间分配给功能端点层中的客户边缘路由器作为(例如)在面向运营商网络的连接上的单独的IP地址。在客户边缘路由器位于多个运营商网络中的情况下,可以将聚合IP地址空间分配给客户边缘路由器作为逻辑回送地址。聚合IP地址空间可以由运营商分配,并且可以从聚合平台层中的聚合路由器通告。在一些实施例中,聚合IP地址空间可以独立于运营商。这种架构的一个有益效果是,功能端点中的客户边缘路由器可以驻留在任何运营商域(例如,运营商网络)中,并在逻辑上与提供(管理)虚拟CGN功能的运营商绑定。
[0026] 在一些实施例中,每个聚合路由器可以通告聚合IP地址空间。聚合IP地址空间包括分配给客户边缘路由器的IP地址。每个客户边缘路由器都使用其分配的IP地址执行NAT。每个客户边缘路由器可以与每个聚合路由器建立隧道。用于建立隧道的合适协议例如包括通用路由封装(GRE)、互联网协议安全性(IPsec)、第2层隧道协议(L2TP)和/或其他协议。
[0027] 在接收到要进行NAT的数据包(例如网络流量)(例如来自企业客户的网络流量)后,客户边缘路由器可以使用分配给客户边缘路由器的IP地址执行数据包的NAT,用去往特定聚合路由器的隧道的覆盖信息封装经过NAT处理的数据包,并且通过隧道将封装的数据包发送到特定聚合路由器。在隧道的另一端,特定聚合路由器可以去除覆盖信息,维护通过其接收数据包的隧道的记录,并且将解封装的数据包转发到指定的目的地。例如,特定聚合路由器可以在路由表中维护通过其接收数据包的隧道的记录。
[0028] 在一些实施例中,客户边缘路由器可以执行VPN映射。例如,当从VPN接收数据包时,当执行数据包的NAT时,客户边缘路由器可以识别与数据包相关联的VPN。另外或可替代地,客户边缘路由器可以维护虚拟路由转发(VRF)表,该虚拟路由转发表标识在特定VPN内将路由哪些地址。例如,客户边缘路由器可以存储路由目标,用于路由区分器识别VPN。在数据包上执行的NAT可以寻址VPN路由,使得特定聚合路由器不存储任何VPN信息。本公开的实施例可以提供这样一种布置,使得企业可以获取连接到提供商(例如,Verizon或Comcast)的数据链路,并且可以经由客户边缘路由器而不是提供商边缘路由器获得VPN服务。
[0029] 当聚合路由器接收到返回数据包(例如,返回网络流量)时,聚合路由器可以基于返回数据包中的寻址信息将返回数据包转发到特定的(例如,正确的)客户边缘路由器。例如,在返回数据包中指定的目标地址可以是聚合IP地址空间中的地址的目标地址。由于这是返回数据包,因此返回数据包中的源地址和目标地址可以是原始的经过NAT处理的数据包中的源地址和目标地址的“反向(reverse)”。即,原始的经过NAT处理的源地址现在是返回数据包中的目标地址,而原始目标地址现在是返回数据包中的源地址。聚合路由器可以基于先前维护的隧道记录(通过该隧道接收经过NAT处理的数据包)来识别特定客户边缘路由器以及与该特定客户边缘路由器建立的隧道。聚合路由器可以利用去往所标识的客户边缘路由器的隧道的覆盖信息来封装返回数据包,并且通过隧道将封装的返回数据包发送到所标识的客户边缘路由器。在隧道的另一端,特定客户边缘路由器可以去除覆盖信息,对返回数据包执行反向转换(例如,反向NAT),并且将解封装的经反向转换的返回数据包转发到指定目的地。
[0030] 在一些实施例中,当客户边缘路由器接收返回数据包以执行反向NAT时,客户边缘路由器可以另外执行VPN映射。例如,NAT表可以标识返回数据包将被引导到哪个VPN。该VPN的VRF表可以标识将在VPN中的什么位置路由返回数据包。
[0031] 如上所述,在一些实施例中,该架构通过以下方式提供虚拟CGN功能的构造:允许每个客户边缘路由器执行网络流量的NAT,使用聚合路由器作为NAT功能的入口和出口点,并且通过使用每个客户边缘路由器和聚合路由器之间的隧道来在覆盖网络中路由网络流量。该架构提供的一个有益效果是可以极大地减少任何扩展问题。例如,由于虚拟CGN的规模可能会受到任何一个聚合路由器可能支持的网络流量和/或隧道数量的限制,所以通过将客户边缘路由器群集在附加聚合路由器周围,可以轻松解决此规模性问题。
[0032] 此外,由于每个客户边缘路由器在执行NAT功能,所以每个客户边缘路由器维护由客户边缘路由器执行的网络流量NAT的状态信息。聚合路由器不维护任何NAT状态信息。由于可能有许多客户边缘路由器执行NAT功能并且每个客户边缘路由器在服务单个客户,因此聚合路由器或任何客户边缘路由器的故障最多影响故障路由器维护的状态信息。因此,一个有益效果是,本文所述的架构是非常有弹性的,因为故障将可能具有很小的影响(例如,影响少量的网络节点)。
[0033] 参考附图说明本公开的实施例。
[0034] 图1示出了根据本文所描述的至少一些实施例布置的、本公开的架构可以在其上工作的环境100和设备的概览图。环境100可以包括功能提供商域102、网络提供商域104和106以及外部网络108。功能提供商域102、网络提供商域104和网络提供商域106可以是由诸如Verizon、AT&T、Sprint、Comcast等运营商提供和管理的运营商网络。外部网络108可以包括企业客户外部的任何网络基础设施,诸如互联网、一个或多个连接的公共网络等。功能提供商域102、网络提供商域104和106以及外部网络108可以通过通信链路110a-110e彼此逻辑连接。通信链路110a-110e可以是提供商之间(例如,载波之间)的链路。
[0035] 功能提供商域102可以提供聚合平台层功能。功能提供商域102可以包括少量的网络设备,诸如聚合路由器102a和102b。聚合路由器102a和102b可以位于或放置在运营商网络(例如,功能提供商域102)的公共边缘处或附近。功能提供商域102可以在网络提供商域104和106与外部网络108之间工作或充当网关。
[0036] 网络提供商域104和106可以提供网络地址转换(NAT)功能。网络提供商域104和106可以各自包括位于或放置在企业客户连接到运营商网络的运营商网络的边缘(例如分别为网络提供商域104和网络提供商域106)的多个网络设备,诸如客户边缘路由器。如图所示,网络提供商域104可以包括位于或放置在运营商网络的企业客户边缘(例如,网络提供商域104)处的客户边缘路由器104a和104b。网络提供商域106可以包括位于或放置在运营商网络的企业客户边缘(例如,网络提供商域106)处的客户边缘路由器106a和106b。
[0037] 在一些实施例中,网络提供商域104可以与功能提供商域102建立覆盖网络。例如,每个客户边缘路由器104a、104b、106a和106b可以配置为建立去往功能提供商域中的每个聚合路由器102a和102b的隧道。已建立的隧道使NAT执行位置(例如功能执行客户边缘路由器104a、104b、106a和106b)绑定或连接到聚合点(例如,聚合路由器102a和102b),从而以覆盖方式提供逻辑参考和连接。如图所示,可以在客户边缘路由器104a和聚合路由器102a之间建立隧道112a,可以在客户边缘路由器104a和聚合路由器102b之间建立隧道112b,可以在客户边缘路由器104b和聚合路由器102a之间建立隧道112c,可以在客户边缘路由器104d和聚合路由器102b之间建立隧道112d,可以在客户边缘路由器106a和聚合路由器102a之间建立隧道112e,可以在客户边缘路由器106a与聚合路由器102b之间建立隧道112f,可以在客户边缘路由器106b与聚合路由器102a之间建立隧道112g,并且可以在客户边缘路由器106d与聚合路由器102b之间建立隧道112h。在一些实施例中,可以使用除隧道外的抽象机制来提供网络提供商域104和功能提供商域102之间的逻辑参考和连接。
[0038] 在一些实施例中,功能提供商域102以及网络提供商域104和106可以由单个或同一个运营商提供。即,功能提供商域102以及网络提供商域104和106可以是由单个运营商提供和管理的运营商网络。例如,具有两个位置(第一位置和第二位置)的企业可能已经与诸如Verizon的运营商签约以管理其网络(例如,向企业客户提供包括CGN的托管服务)。Verizon可能能够利用其网络支持两个企业客户位置(例如,服务第一企业客户位置的网络提供商域104和服务第二企业客户位置的网络提供商域106)。即,Verizon可能具有足够的网络电路来支持两个企业客户位置。结果,功能提供商域102以及网络提供商域104和106可以是Verizon网络。Verizon可以将客户边缘路由器104a和104b放置在第一企业客户位置处,并且将客户边缘路由器106a和106b放置在第二企业客户位置处。Verizon可以管理每个客户边缘路由器104a、104b、106a和106b以执行NAT功能来提供虚拟CGN。即,客户边缘路由器104a、104b、106a和106b可配置为共同形成虚拟化CGN运营商网络。
[0039] 在一些实施例中,可以由与提供功能提供商域102的运营商不同的运营商来提供一个或多个网络提供商域(例如,网络提供商域104和/或网络提供商域106)。即,功能提供商域102可以是由第一运营商提供和管理的第一运营商网络,并且一个或多个网络提供商域(例如,网络提供商域104和/或网络提供商域106)可以是由第二运营商提供和管理的第二运营商网络。继续上面的Verizon示例,Verizon可能能够支持第一企业客户位置,但是不能支持第二企业客户位置。即,Verizon可能具有支持第一企业客户位置的基础设施(例如,网络电路),但是缺乏(例如,不具有)支持第二企业客户位置的基础设施。在这种情况下,Verizon可以从具有支持第二企业客户位置的基础设施的运营商租用必要的网络电路。例如,假设Comcast具有支持第二企业客户位置的基础设施,Verizon可以从Comcast租用必要的网络电路来支持第二企业客户位置。结果,功能提供商域102和网络提供商域104可以是为第一客户位置服务的Verizon网络,而网络提供商域106可以是为第二企业客户位置服务的Comcast网络。Verizon仅租用Comcast网络电路来支持第二企业客户位置。Verizon正在管理第一企业客户位置和第二企业客户位置两者处的企业客户网络。因此,Verizon可以将客户边缘路由器104a和104b放置在第一企业客户位置,并且将客户边缘路由器106a和106b放置在第二企业客户位置。尽管客户边缘路由器106a和106b是由Verizon管理的Verizon路由器,但是客户边缘路由器106a和106b被连接到Comcast网络电路。Verizon可以管理每个客户边缘路由器104a、104b、106a和106b,以执行NAT功能来提供虚拟CGN。即,客户边缘路由器104a、104b、106a和106b可配置为共同形成虚拟化CGN运营商网络。
[0040] 在不脱离本公开的范围的情况下,可以对图1进行修改、添加或省略。例如,虽然被示为包括两个提供商边缘路由器,但是功能提供商域102可以包括不同数量的聚合路由器。作为另一个示例,尽管被示为包括两个客户边缘路由器,但是网络提供商域104和/或106中的每一个或两个可以包括任意数量的客户边缘路由器,诸如数百个客户边缘路由器。作为又一个示例,基于企业客户位置的数量,可以存在不同数量的网络提供商域,例如数十个或可能数百个。此外,除了为功能提供商域提供运营商网络的运营商之外的多个运营商可能正在为某些网络提供商域提供运营商网络。
[0041] 图2示出了根据本文所述的至少一些实施例布置的图1的架构中的示例地址空间管理。图2的架构与图1的架构基本上相似,但具有额外细节。为了清楚起见,将不再描述图2中与图1的部件有相同标记的那些部件。更具体地,图2示出了将聚合平台层的聚合IP地址空间作为单个公共IP地址分配到功能端点层的示例。各个公共IP地址是聚合IP地址空间中的特定IP地址。在一些实施例中,提供功能提供商域102的运营商可以向功能提供商域102中的聚合路由器(例如,聚合路由器102a和102b)分配聚合IP地址空间。聚合IP地址空间可以是属于运营商的公共IP地址。运营商可以将来自聚合IP地址空间的特定主机IP地址分配给运营商正在通过功能提供商域102管理的每个客户边缘路由器(例如,客户边缘路由器104a、104b、106a和106b)。功能端点层中的每个客户边缘路由器都可以被配置为使用所分配的主机IP地址执行NAT。
[0042] 再次参考上面的Verizon示例并且如图2所示,聚合IP地址空间11.1.1.0/24可以是属于Verizon的公共IP地址块。Verizon可以将公共IP地址块分配给聚合路由器102a和102b。Verizon可以将公共IP地址块11.1.1.0/24分发给Verizon正在向其提供托管服务的企业客户。如图所示,Verizon可以将公共IP地址11.1.1.1/32分配给客户边缘路由器104a,将公共IP地址11.1.1.2/32分配给客户边缘路由器104b,将公共IP地址11.1.1.3/32分配给客户边缘路由器106a,将公共IP地址11.1.1.4/32分配给客户边缘路由器106b。即使在Comcast在提供网络提供商域106的上述示例中,Verizon仍可以将来自聚合IP地址空间的特定公共IP地址分配给客户边缘路由器106a和106b,因为这些路由器由Verizon管理。
[0043] 图3示出了根据本文所述的至少一些实施例布置的图1的架构中的所选设备的示例地址和功能分配。客户边缘路由器104a可以建立到聚合路由器102a的隧道112a。例如,隧道112a可以逻辑上连接到客户边缘路由器104a处的端口地址13.1.1.1以及聚合路由器102a处的端口地址15.1.1.1。隧道112a提供覆盖。提供商边缘路由器102a可以被配置为向公众通告分配给功能提供商域102的聚合IP地址空间。例如,提供商边缘路由器102可以向外部网络108通告IP地址前缀11.1.1.0/24。客户边缘路由器104a可以被配置为使用分配给客户边缘路由器104的特定主机IP地址执行数据包的NAT。特定主机IP地址是包括在聚合IP地址空间中的公共IP地址。例如,客户边缘路由器104a可以使用主机IP地址11.1.1.1/32执行NAT。使用其主机地址执行NAT并使用对聚合路由器102a的覆盖允许客户边缘路由器104a即使在电路由不同运营商提供的情况下也保持返回网络流量的可见性。即,返回网络流量能够回到客户边缘路由器104a。
[0044] 图4是示出根据本文描述的至少一些实施例布置的示例网络流量流的序列图。如图所示,网络流量流可以从源(例如客户端设备402)到目的地(例如客户端设备404)。客户端设备402可以具有专用IP地址10.1.1.1,并且客户端设备404可以具有专用IP地址12.1.1.1。客户端设备402可以发送或传输数据包406,该数据包指定源IP地址10.1.1.1:05和目标IP地址12.1.1.1(例如,来自端口:05)。数据包406还可以包括其他信息。
[0045] 客户边缘路由器104a可以接收数据包406,并且决定对数据包406执行NAT。例如,客户边缘路由器104a可以基于本地配置和/或一个或多个适用策略来决定执行NAT。在决定对数据包406执行NAT之后,客户边缘路由器104a可以将专用源IP地址10.1.1.1:05转换为公共IP地址11.1.1.1,该公共IP地址是分配给客户边缘路由器104a的设备IP地址。经过NAT处理的数据包可以指定新的源IP地址11.1.1.1和目标IP地址12.1.1.1。客户边缘路由器可以在NAT映射表中维护专用IP地址10.1.1.1:05到公共IP地址11.1.1.1的映射的记录。
[0046] 另外或可替代地,客户边缘路由器104a可以维护虚拟路由转发(VRF)表。例如,与客户边缘路由器104a相关联的企业可以操作多个VPN,每个VPN具有它们自己的VRF。基于从哪个VPN接收到数据包,客户边缘路由器104a可以在NAT表中创建条目以标识该数据包属于哪个VPN。如图4所示,数据包406可以来自VPN_1。客户边缘路由器104a可以另外在VRF表中为VPN_1创建条目,该条目标识去往地址10.1.1.1的数据包将从客户边缘路由器104a的接口_1出来。
[0047] 在一些实施例中,可以将地址范围分配给给定的客户,使得地址范围内的特定IP地址可以被提供给客户的一个或多个VPN。在这些和其他实施例中,地址范围可以覆盖组织可以利用的多个VPN。
[0048] 然后,客户边缘路由器104a可以决定经过NAT处理的数据包将要被发送到聚合路由器102a。例如,客户边缘路由器104a可以基于本地配置和/或一个或多个适用策略来选择适当的聚合路由器以接收经过NAT处理的数据包。在选择聚合路由器102a之后,客户边缘路由器104a可以利用与隧道112a对应(例如,标识隧道112a)的覆盖信息来封装经过NAT处理的数据包。例如,覆盖信息可以包括指定隧道112a的源端口地址13.1.1.1和隧道112a的目标端口地址15.1.1.1的覆盖标头(overlay head)。经封装并经过NAT处理的数据包408可以指定源IP地址11.1.1.1和目标IP地址12.1.1.1,并且包括指定源端口地址13.1.1.1和目标端口地址15.1.1.1的覆盖标头。客户边缘路由器104a可以通过隧道112a将经封装并经过NAT处理的数据包408发送到聚合路由器102a。封装并经过NAT处理的数据包408也可以包括其他信息。
[0049] 聚合路由器102a可以例如在隧道112a的另一端接收经封装并经过NAT处理的数据包408。聚合路由器102a可以从经封装并经过NAT处理的数据包408中去除覆盖标头(源端口地址13.1.1.1和目标端口地址15.1.1.1)以生成解封装的数据包410。解封装的数据包410可以指定源IP地址11.1.1.1和目标IP地址12.1.1.1。聚合路由器102a可以根据覆盖标头将隧道112a标识为通过其接收经封装并经过NAT处理的数据包408的隧道。聚合路由器102a可以例如在路由表中维护通过隧道112a接收经封装并经过NAT处理的数据包408的记录。例如,该记录可以指示IP地址11.1.1.1(例如,在解封装数据包410中指定的源IP地址)被路由到IP地址13.1.1.1(例如,在覆盖标头中指定的源端口地址)。聚合路由器102a可以使用该记录将返回网络流量正确地路由到客户边缘路由器104a。聚合路由器102a可以在其到客户端设备404的途中发送解封装的数据包410。例如,可以通过外部网络108将解封装的数据包410发送到其目标客户端设备404。
[0050] 图5是示出根据本文描述的至少一些实施例布置的示例返回网络流量流的序列图。返回网络流量流可以从客户端设备(例如,客户端设备404)到客户端设备(例如,客户端设备402)。例如,返回网络流可以是对从客户端设备402到客户端设备404的先前发送的一个或多个数据包的响应。客户端设备404可以具有专用IP地址12.1.1.1,并且客户端设备402可以具有专用IP地址10.1.1.1。客户端设备404可以发送或传输指定源IP地址12.1.1.1和目标IP地址11.1.1.1的数据包502。数据包502还可以包括其他信息。
[0051] 聚合路由器102a可以例如通过外部网络108接收数据包502。聚合路由器102a可以决定数据包502将被转发到对应功能端点层中的网络设备,诸如客户边缘路由器。聚合路由器102a可以基于数据包502中指定的目标IP地址进行决定。例如,聚合路由器102a可以决定在数据包502中指定的目标IP地址11.1.1.1是分配给聚合路由器102a的聚合IP地址11.1.1.0/24中的单独的公共IP地址。聚合路由器102a可以基于在数据包502中指定的目标IP地址及其路由表来识别适当的隧道以转发数据包502。例如,聚合路由器102a可以根据其路由表决定IP地址11.1.1.1(例如,在数据包502中指定的目标IP地址)将通过利用端口地址13.1.1.1建立的隧道来转发。聚合路由器102a可以利用与隧道112a(例如,到端口地址
13.1.1.1的隧道)对应(例如,标识隧道112a)的覆盖信息来封装数据包502。例如,覆盖信息可以包括指定隧道112a的源端口地址15.1.1.1和隧道112a的目标端口地址13.1.1.1的覆盖标头。经封装的数据包504可以指定源IP地址12.1.1.1和目标IP地址11.1.1.1,并且包括指定源端口地址15.1.1.1和目标端口地址13.1.1.1的覆盖标头。聚合路由器102a可以通过隧道112a向客户边缘路由器104a发送经封装的数据包504。经封装的数据包504也可以包括其他信息。
[0052] 客户边缘路由器104a可以例如在隧道112a的另一端接收经封装的数据包504。客户边缘路由器104a可以从经封装的数据包504中去除覆盖标头(源端口地址15.1.1.1和目标端口地址13.1.1.1)以解封装数据包504。客户边缘路由器104a可以决定对解封装的数据包执行反向NAT。例如,客户边缘路由器104a可以基于在解封装的数据包中指定的目标IP地址来决定执行反向NAT。客户边缘路由器104a可以根据其NAT表决定专用IP地址10.1.1.1:05已被转换为公共IP地址11.1.1.1(例如,在解封装的数据包中指定的目标IP地址)。客户边缘路由器104a可以将解封装的数据包中的公共目标IP地址11.1.1.1反向转换为专用IP地址10.1.1.1:05以生成经过反向NAT处理的数据包506。经过反向NAT处理的数据包506可以指定源IP地址12.1.1.1和新的目标IP地址10.1.1.1:05。经过反向NAT处理的数据包506还可以包含其他信息。客户边缘路由器104a可以在其前往经过反向NAT处理的数据包506中指定的目标地址(例如,客户端设备402)的途中发送经过反向NAT处理的数据包506。
[0053] 另外或可替代地,客户边缘路由器104a可以从NAT表中观察目标地址10.1.1.1:05与VPN_1相关联。客户边缘路由器104a可以相应地在与VPN_1相关联的VRF表中查找地址10.1.1.1:05。在这些和其他实施例中,客户边缘路由器104a可以基于VRF表来路由经过反向NAT处理的数据包506(例如,可以通过接口_1来路由数据包)。
[0054] 图6是示出根据本文所述的至少一些实施例布置的发送经过NAT处理的数据包的示例过程的流程图600。示例过程和方法可以包括如框602、604、605、606、608、610和/或610中的一个或多个所示出的一个或多个操作、功能或动作,并且在一些实施例中可以由网络节点(诸如图8的边缘网络设备802)执行。框602-612中描述的操作也可以作为计算机可执行指令被存储在计算机可读介质中,诸如边缘网络设备802的存储器814和/或数据存储设备816。
[0055] 如流程图600所示,发送经过NAT处理的数据包的示例过程可以从框602(“接收数据包”)开始,其中网络设备(诸如客户边缘路由器)可以接收数据包以进行处理。例如,客户边缘路由器可以位于由运营商管理的运营商网络的边缘,并且可以配置为提供NAT功能。客户边缘路由器可以是在网络功能层中共同提供虚拟化CGN域的多个设备之一。
[0056] 框602之后可以是框604(“执行NAT”),其中客户边缘路由器可以对所接收的数据包执行NAT。例如,客户边缘路由器可以将接收到的数据包中指定的源IP地址转换为其公共IP地址(例如,分配给客户边缘路由器的公共IP地址)。
[0057] 框604之后可以是框605(“维护VRF”),其中客户边缘路由器可以维护特定VPN内针对数据包的地址映射和/或路由的记录。例如,如果从给定VPN内的计算设备接收到数据包,则可以在VRF中输入计算设备的地址。
[0058] 框605之后可以是框606(“维护NAT记录”),其中客户边缘路由器可以维护专用IP地址到公共IP地址的地址转换(例如,映射)的记录。例如,客户边缘路由器可以维护NAT表中地址转换的记录。作为另一示例,客户边缘路由器可以在地址转换的记录中包括数据包所属的VPN。
[0059] 框606之后可以是框608(“决定用于经过NAT处理的数据包的隧道”),其中客户边缘路由器可以选择适当的隧道以转发经过NAT处理的数据包。例如,客户边缘路由器可以选择适当的聚合路由器以接收经过NAT处理的数据包。适当的聚合路由器可以是与客户边缘路由器的网络功能层相对应的聚合平台层中的聚合路由器。客户边缘路由器可能已经建立到相应聚合平台层中的聚合路由器的相应隧道。
[0060] 框608之后可以是框610(“用覆盖信息封装经过NAT处理的数据包”),其中网络节点可以用对应于所选隧道的覆盖信息来封装经过NAT处理的数据包。覆盖信息可以包括用于建立所选隧道的客户边缘路由器的端口地址和聚合路由器的端口地址。
[0061] 框610之后可以是框612(“通过隧道发送经封装的经过NAT处理的数据包”),其中客户边缘路由器可以通过所选隧道发送经封装的经过NAT处理的数据包。所选隧道另一端的聚合路由器可以从经封装的经过NAT处理的数据包中去除覆盖信息,然后将解封装的经过NAT处理的数据包转发到指定的目的地。聚合路由器可以维护接收经封装的经过NAT处理的数据包所通过的路由(例如,隧道)的记录。例如,记录可以包括在去除的覆盖信息中指定的源IP地址和在解封装的经过NAT处理的数据包中指定的源IP地址。
[0062] 本领域技术人员将理解,对于本文公开的这个和其他过程和方法,可以以不同的顺序来实施在过程和方法中执行的功能。此外,概述的动作和操作仅作为示例提供,并且在不背离所公开的实施例的实质的情况下,某些动作和操作可以是可选的,组合成较少的动作和操作,或者扩展成附加的动作和操作。
[0063] 图7是示出根据本文所述的至少一些实施例布置的发送与经过NAT处理的数据包对应的返回数据包的示例过程的流程图700。示例过程和方法可以包括如框702、704、706和/或708中的一个或多个所示出的一个或多个操作、功能或动作,并且在一些实施例中可以由网络节点(诸如图8的边缘网络设备802)执行。框702-708中描述的操作也可以作为计算机可执行指令被存储在计算机可读介质中,诸如边缘网络设备802的存储器814和/或数据存储设备816。
[0064] 如流程图700所示,发送与经过NAT处理的数据包对应的返回数据包的示例过程可以从框702(“接收数据包”)开始,其中网络设备(诸如聚合路由器)可以接收数据包以进行处理。例如,聚合路由器可以位于运营商网络的公共边缘处或附近,并且可以配置为将网络流量引导到可能提供虚拟CGN功能的客户边缘路由器。聚合路由器可以是聚合平台层中的多个设备之一。聚合路由器可以根据接收到的数据包的目标IP地址决定数据包将被转发到与聚合平台层相对应的功能端点层中的客户边缘路由器。
[0065] 框702之后可以是框704(“决定用于数据包的隧道”),其中聚合路由器可以识别将数据包转发到适当的客户边缘路由器所通过的隧道。例如,聚合路由器可以基于在接收的数据包中指定的目标IP地址及其路由表来识别隧道。聚合路由器可能在维护路由表,该路由表的条目标识从功能端点层接收经过NAT处理的数据包所通过的隧道。
[0066] 框704之后可以是框706(“用覆盖信息封装数据包”),其中聚合路由器可以利用与所识别的隧道对应的覆盖信息来封装数据包。覆盖信息可以包括用于建立所识别的隧道的聚合路由器的端口地址和客户边缘路由器的端口地址。
[0067] 框706之后可以是框708(“通过隧道发送经封装的数据包”),其中聚合路由器可以通过所识别的隧道发送经封装的数据包。所识别的隧道另一端的客户边缘路由器可以从经封装的数据包中去除覆盖信息。客户边缘路由器可以决定对解封装的数据包执行反向NAT。例如,客户边缘路由器可以决定在解封装的数据包中指定的目标IP地址是其设备地址(例如,客户边缘路由器的公共设备地址),并且由此决定执行反向NAT以将解封装的数据包正确地转发到适当的目的地。客户边缘路由器可以从其NAT表中识别正确的目标IP地址(例如,专用IP地址),然后对解封装的数据包中指定的目标IP地址进行反向NAT处理以创建经过反向NAT处理的数据包。客户边缘路由器可能在维护NAT表,该NAT表的条目标识从专用IP地址到其设备地址(例如,客户边缘路由器的公共IP地址)的转换的映射。客户边缘路由器可以在其前往经过反向NAT处理的数据包中指定的目标地址的途中转发经过反向NAT处理的数据包。
[0068] 另外或可替代地,客户边缘路由器可以识别与返回数据包相关联的VPN,并且可以在VRF表中针对VPN执行查找以决定将返回数据包路由到何处。
[0069] 图8示出了根据本文描述的至少一些实施例布置的边缘网络设备802的环境800,该环境可以用于通过地址空间聚合来提供虚拟化的网络功能。如图所示,边缘网络设备802可以包括用于与其他边缘网络设备804、806和808通信的多个潜在连接。例如,边缘网络设备802可以使用网络A 860与边缘网络设备804通信,使用网络B 870与边缘网络设备806通信和/或使用网络C 880与边缘网络设备808通信。边缘网络设备802、804、806和808可以与图1-5的聚合路由器102a和102b以及客户边缘路由器104a、104b、106a和106b相似或相当。环境800可以另外包括客户端设备850,该客户端设备可以例如跨外部网络域通信地耦接到边缘网络设备802。
[0070] 在一些实施例中,边缘网络设备802可以包括网络A连接820、网络B连接830和网络C连接840。如网络C连接840下方的省略号所示,还可以包括任何数量的附加或其他潜在连接。在这些和其他实施例中,边缘网络设备802可以包括用于连接到一个或多个潜在连接的多个电路。例如,边缘网络设备802可以包括用于网络A连接820的电路A822和电路B 824,用于网络B连接830的电路A 832和电路B 834,以及用于网络C连接840的电路A 842和电路B 844。在这些和其他实施例中,边缘网络设备802可以配置为基于由边缘网络设备802存储的一个或多个策略来沿着一个或多个电路路由流量。
[0071] 在一些实施例中,边缘网络设备802可以配置为监测各种连接的一个或多个属性。例如,边缘网络设备802可以监测从边缘网络设备802到边缘网络设备804、806和/或808的各种通信链路的抖动、等待时间、丢失和/或带宽。在这些和其他实施例中,边缘网络设备
802还可以监测和/或存储各种通信链路的安全属性。例如,可以在第一层安全方面考虑网络A 860上的链接862和864,可以在第二层安全方面考虑网络B 870上的链接872和874,可以在第三层安全方面考虑网络C 880上的链接882和884。在一些实施例中,链路862、864、
872、874、882和/或884中的一个或多个可以是隧道,诸如GRE隧道、IPsec隧道、L2TP隧道和/或其他。
[0072] 在一些实施例中,边缘网络设备802可以配置为基于流量的来源将流量路由到各个链路。例如,一个或多个策略可以指示沿着网络B连接830路由来自企业的一个公司部的流量,而可以沿着任何链路路由另一公司部门的流量。
[0073] 在一些实施例中,边缘网络设备802可以包括处理器812、存储器814、存储设备816和/或通信设备818。通常,处理器812可以包括任何合适的专用或通用计算机、计算实体或包括各种计算机硬件软件模块的处理设备,并且可以配置为执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器812可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或配置为解析和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。
[0074] 尽管在图8中被示为单个处理器,但是应当理解,处理器812可以包括分布在任意数量的网络或物理位置上的任意数量的处理器,这些处理器配置为单独地或共同地执行本公开中描述的任意数量的操作。在一些实施例中,处理器812可以解析和/或执行存储在存储器814、存储设备816或存储器814和存储设备816中的程序指令和/或处理数据。在一些实施例中,处理器812可以从数据存储器816获取程序指令,并且将程序指令加载到存储器814中。在程序指令被加载存储器814中之后,处理器812可以执行程序指令。
[0075] 存储器814和存储设备816可以包括计算机可读存储介质或用于承载或具有存储在其上的计算机可执行指令或数据结构的一个或多个计算机可读存储介质。这种计算机可读存储介质可以是通用或专用计算机(诸如处理器812)可访问的任何可用介质。在一些实施例中,边缘网络设备802可以包括或可以不包括存储器814和存储设备816中的任何一个。
[0076] 作为示例而非限制,这样的计算机可读存储介质可以包括非暂时性计算机可读存储介质,非暂时性计算机可读存储介质包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备、闪存设备(例如,固态存储设备)或可用于以计算机可执行指令或数据结构的形式携带或存储所需程序代码并且可被通用或专用计算机访问的任何其他存储介质。上述的组合也可以包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如配置为使处理器812执行特定操作或一组操作的指令和数据。
[0077] 通信设备818可以包括配置为发送或接收信息的任何部件、设备、系统或其组合。在一些实施例中,通信设备818可以与其他位置、相同位置或者甚至同一系统内的其他部件的其他设备通信。例如,通信设备818可以包括调制解调器、(无线或有线)网卡、光通信设备、射频换能器、超声换能器、红外通信设备、无线通信设备(诸如天线)和/或芯片组(诸如蓝牙设备、802.6设备(例如,城域网(MAN))、WiFi设备、WiMax设备、蜂窝通信设施或其他)和/或类似物和/或其组合。通信设备818可以允许与本公开中描述的网络和/或任何其他设备或系统交换数据。例如,通信设备818可以允许边缘网络设备802与其他系统通信,诸如边缘网络设备804、806和808中的任何一个或多个。
[0078] 在不脱离本公开的范围的情况下,可以对图8的环境800进行修改、添加或省略。例如,尽管被图示为包括一定数量的边缘网络设备802、804、806和808,但是环境800可以包括任意数量的边缘网络设备。作为另一示例,尽管被示出为包括三个通信网络(网络A 860、网络B 870和网络C 880),但是可以利用任何数量的通信网络。
[0079] 如上所述,本公开中描述的实施例可以包括使用专用或通用计算机(例如,图8的处理器812),该专用或通用计算机包括如本文中更详细地讨论的各种计算机硬件或软件模块。此外,如上所述,可以使用用于承载或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质(例如,图8的存储器814)来实施本公开中描述的实施例。
[0080] 根据一些示例,描述了在多个客户边缘路由器中的客户边缘路由器处提供虚拟化运营商级网络地址转换(CGN)的方法。在多个客户边缘路由器中的第一客户边缘路由器处提供虚拟化CGN的示例方法可以包括:由第一客户边缘路由器在第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道;由第一客户边缘路由器对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,NAT是专用IP地址到公共IP地址的转换;由第一客户边缘路由器从一个或多个聚合路由器中选择第一聚合路由器以发送经过NAT处理的第一数据包;由第一客户边缘路由器利用与第一客户边缘路由器和第一聚合路由器之间建立的隧道对应的覆盖信息封装经过NAT处理的第一数据包;并且由第一客户边缘路由器通过隧道向第一聚合路由器发送封装的经过NAT处理的第一数据包。在一些示例中,公共IP地址可以是第一客户边缘路由器的设备地址。在其他示例中,设备地址可以是第一聚合路由器的功能IP地址空间中的单个IP地址。
[0081] 根据另外的示例,可以由第一运营商提供第一客户边缘路由器和第一聚合路由器,并且可以通过使用第一运营商提供的网络电路建立第一客户边缘路由器与第一聚合路由器之间的隧道。在一些示例中,可以由第一运营商提供第一客户边缘路由器和第一聚合路由器,并且可以通过使用第二运营商提供的网络电路建立第一客户边缘路由器与第一聚合路由器之间的隧道。在其他示例中,该方法还可以包括由第一客户边缘路由器维护从专用IP地址到公共IP地址的NAT的记录。在另外的示例中,覆盖信息可以包括覆盖标头,覆盖标头包括用于在第一客户边缘路由器与第一聚合路由器之间建立隧道的第一客户边缘路由器的端口地址和第一聚合路由器的端口地址。
[0082] 根据其他示例,该方法还可以包括由第一客户边缘路由器通过第一客户边缘路由器与第一聚合路由器之间建立的隧道接收第二数据包;由第一客户边缘路由器从第二数据包中去除覆盖信息以创建解封装的第二数据包;由第一客户边缘路由器对解封装的第二数据包执行反向NAT;并且转发经过反向NAT处理的解封装的第二数据包以传递到在经过反向NAT处理的解封装的第二数据包中指定的目标地址。
[0083] 根据其他示例,描述了配置为提供虚拟化CGN的客户边缘路由器。示例的客户边缘路由器可以包括配置为存储指令的存储器和配置为执行指令的处理器。该指令的执行可以使处理器在客户边缘路由器与一个或多个聚合路由器之间建立覆盖网络,覆盖网络包括客户边缘路由器与一个或多个聚合路由器中的每一个之间的相应隧道;对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,NAT是专用IP地址到公共IP地址的转换;选择发送经过NAT处理的第一数据包要通过的适当的隧道;利用与选择的隧道对应的覆盖信息封装经过NAT处理的第一数据包;并且通过选择的隧道发送封装的经过NAT处理的第一数据包。在一些示例中,公共IP地址可以是客户边缘路由器的设备地址。在其他示例中,设备地址可以是一个或多个聚合路由器的功能IP地址空间中的单个IP地址。
[0084] 根据一些示例,可以由第一运营商提供客户边缘路由器和一个或多个聚合路由器,并且可以通过使用由第一运营商提供的网络电路在客户边缘路由器与一个或多个聚合路由器中的每一个之间建立各自的隧道。根据其他示例,可以由第一运营商提供客户边缘路由器和一个或多个聚合路由器,并且可以通过使用由第二运营商提供的网络电路在客户边缘路由器与一个或多个聚合路由器中的每一个之间建立各自的隧道。根据另外的示例,覆盖信息可以包括覆盖标头,覆盖标头包括客户边缘路由器的端口地址和客户边缘路由器与之建立隧道的聚合路由器的端口地址。
[0085] 根据一些示例,该指令的执行可以使处理器通过选择的隧道来接收第二数据包;从第二数据包中去除覆盖信息以创建解封装的第二数据包;对解封装的第二数据包进行反向NAT;并且转发经过反向NAT处理的解封装的第二数据包以传递到在经过反向NAT处理的解封装的第二数据包中指定的目标地址。
[0086] 根据其他示例,描述了非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质上存储有由客户边缘路由器的处理器执行的指令。一种示例的存储有指令的非暂时性计算机可读存储介质,指令响应于客户边缘路由器的处理器的执行可以使处理器:在客户边缘路由器与一个或多个聚合路由器之间建立覆盖网络,覆盖网络包括客户边缘路由器与一个或多个聚合路由器中的每一个之间的相应隧道;对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包,NAT是专用IP地址到公共IP地址的转换;选择发送经过NAT处理的第一数据包要通过的适当的隧道;利用与选择的隧道对应的覆盖信息封装经过NAT处理的第一数据包;并且通过选择的隧道发送封装的经过NAT处理的第一数据包。在其他示例中,公共IP地址可以是客户边缘路由器的设备地址,设备地址是一个或多个聚合路由器的功能IP地址空间中的单个IP地址。
[0087] 在一些示例中,示例的非暂时性计算机可读存储介质上可以存储有指令,该指令响应于客户边缘路由器的处理器的执行可以使处理器:通过所选择的隧道接收第二数据包;从第二数据包中去除覆盖信息以创建解封装的第二数据包;对解封装的第二数据包进行反向NAT;并且转发经过反向NAT处理的解封装的第二数据包以传递到在经过反向NAT处理的解封装的第二数据包中指定的目标地址。
[0088] 总之,在一些示例中,一种在第一客户边缘路由器处提供虚拟化运营商级网络地址转换(CGN)的方法可以包括:在第一客户边缘路由器与一个或多个聚合路由器中的每个聚合路由器之间建立隧道;对第一数据包执行网络地址转换(NAT)以创建经过NAT处理的第一数据包;从一个或多个聚合路由器中选择第一聚合路由器以发送经过NAT处理的第一数据包;利用与第一客户边缘路由器和第一聚合路由器之间建立的隧道对应的覆盖信息封装经过NAT处理的第一数据包;并且通过隧道向第一聚合路由器发送封装的经过NAT处理的第一数据包。
[0089] 如本公开中所使用的,术语“模块”或“组件”可以指配置为执行可存储在计算系统的通用硬件(例如,计算机可读介质、处理设备等)上和/或由其执行的模块或组件和/或软件对象或软件例程的动作的特定硬件实施方式。在一些实施例中,本公开中描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执行的对象或过程(例如,作为单独的线程)。尽管通常将本公开中描述的一些系统和方法描述为以软件形式实现(存储在通用硬件上和/或由通用硬件执行),但是特定的硬件实现方式、固件实现方式或其任意组合也是可行的并且也被设想到。在该描述中,“计算实体”可以是如本公开先前所描述的任何计算系统或者在计算系统上执行的任何模块或模块组合。
[0090] 本公开和所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”等)。
[0091] 另外,如果旨在引入特定数量的权利要求引述特征(recitation),则此意图将在权利要求中明确地引述,并且在没有这种引述的情况下,不存在这样的意图。例如,为了帮助理解,下面的所附权利要求可以包含使用介绍性短语“至少一个”和“一个或多个”以引入权利要求引述特征。但是,此类短语的使用不应被解释为暗示由不定冠词“一个”或“一种”引入的权利要求引述特征将任何包含这种引入的权利要求引述特征的特定权利要求限制为仅包含一个这种引述特征的实施例,即使当相同的权利要求包括介绍性短语“一个或多个”或“至少一个”以及不定冠词,诸如“一个”或“一种”(例如,“一个”和/或“一种”应解释为“至少一个”或“一个或多个”)时;对于使用用于引入权利要求引述特征的定冠词而言也是如此。
[0092] 另外,即使明确引述了具体数量的引入的权利要求引述特征,本领域技术人员也会认识到,这样的引述特征应被解释为意指至少所引述的数量(例如,在不使用其他修饰语的情况下,只是引述“两个引述特征”意指至少两个引述特征,或者两个或更多个引述特征)。此外,在那些使用类似于“A、B和C等中的至少一个”或“A、B和C等中的一个或多个”的约定的情况下,通常这种构造旨在仅包括A、仅包括B、仅包括C、同时包括A和B、同时包括A和C、同时包括B和C或同时包括A、B和C等。
[0093] 本公开中引用的所有示例和条件语言旨在用于教导目的,以帮助读者理解本公开以及发明人为促进现有技术而贡献的构思,并且应解释为不限于这样具体引述的示例和条件。尽管已经详细描述了本公开的实施例,但是在不脱离本公开的精神和范围的情况下,可以对其进行各种改变、替换和变更。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈