CN116032836A - 在公共云中智能地使用对等 - Google Patents
在公共云中智能地使用对等 Download PDFInfo
- Publication number
- CN116032836A CN116032836A CN202211668939.6A CN202211668939A CN116032836A CN 116032836 A CN116032836 A CN 116032836A CN 202211668939 A CN202211668939 A CN 202211668939A CN 116032836 A CN116032836 A CN 116032836A
- Authority
- CN
- China
- Prior art keywords
- vpc
- data message
- logical
- gateway
- network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 61
- 238000005538 encapsulation Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 206010047289 Ventricular extrasystoles Diseases 0.000 claims 4
- 238000005129 volume perturbation calorimetry Methods 0.000 claims 4
- 230000015654 memory Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 6
- 239000010410 layer Substances 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开涉及在公共云中智能地使用对等。将覆盖逻辑网络集成到云提供商网络中会带来在单独任一个系统中都不存在的新挑战。例如,一些云提供商所提供的虚拟私有云(VPC)不允许使用由云提供的网络进行转接性路由,这使得难以作为从源VPC到目的地VPC的路由的一部分将需要在服务VPC处提供的服务的流量路由到服务VPC。此外,由云提供商提供的一些服务依赖于使用云提供商分配的地址,并且与被分配覆盖逻辑网络中的地址的计算节点没有很好地集成。
Description
本申请是申请日为2019年8月14日、申请号为201980055833.9、发明名称为“在公共云中智能地使用对等”的发明专利申请的分案申请。
技术领域
本发明公开涉及在公共云中智能地使用对等。
背景技术
将覆盖逻辑网络集成到云提供商网络中会带来在单独任一个系统中都不存在的新挑战。例如,一些云提供商所提供的虚拟私有云(VPC)不允许使用由云提供的网络进行转接性(transitive)路由,这使得难以作为从源VPC到目的地VPC的路由的一部分将需要在服务VPC处提供的服务的流量路由到服务VPC。此外,由云提供商提供的一些服务依赖于使用云提供商分配的地址,并且与被分配覆盖逻辑网络中的地址的计算节点没有很好地集成。
发明内容
一些实施例在转接(transit)虚拟云网络(VCN)中提供集中式覆盖网络云网关和一组集中式服务,该转接虚拟网络连接到托管计算节点(VM、容器等)的多个其它计算VCN,这些计算节点是覆盖网络的一部分(属于覆盖网络)。在一些实施例中,使用在转接VCN中执行的集中式覆盖网络云网关代替在多个非转接VCN中执行的多个覆盖网络云网关,以降低成本和管理开销。集中式覆盖网络云网关在覆盖网络的计算节点(例如,跨越多个VCN的逻辑网络)与外部网络中的计算节点之间提供连接。在一些实施例中,集中式覆盖网络云网关还为其处理的数据消息提供服务。在一些实施例中,由云网关和通过或由网关访问的第三方服务的某种组合来提供服务。
一些实施例使用集中式覆盖网络云网关在源VPC和目的地VPC之间不存在直接对等(peering)的情况下提供转接性路由(例如,通过转接VPC的路由)。在一些实施例中,通过在转接VPC和VPC之间建立的对等关系从每个VPC访问云网关。在一些实施例中,实现将逻辑网络的逻辑交换元件连接到由云网关实现的集中式逻辑路由元件的逻辑路由元件(LRE)的受管理转发元件(MFE)执行一组转发操作以将数据消息引导到转接VPC。一些实施例的覆盖网络为每个计算节点使用与由虚拟私有云提供商提供的云提供商网络相同的子网划分和默认网关地址。使用与云提供商网络相同的地址空间允许由云提供商网络提供的服务的无缝集成,并且利用本文公开的转发数据消息的新颖方法还允许与由覆盖网络提供的服务无缝集成。
在云提供商和覆盖网络两者中使用相同地址空间的实施例中,为了正确引导流量(即,使用云提供商网络基础设施或通过用于实现覆盖网络的隧道),一些实施例提供了用于确定转发计算节点发送的数据消息的正确方法的方法和仲裁器模块(例如,作为实现混合交换元件的受管理转发元素的一部分,该混合交换元件为覆盖网络和云提供商网络都提供逻辑转发)。在一些实施例中,仲裁器模块确定目的地计算节点与源计算节点是否处于相同或不同的VPC中。当源计算节点和目的地计算节点在同一VPC上时,默认行为是使用云提供商基础设施进行路由。但是,如果集中式服务要由转接VPC中的服务引擎提供,那么用户(例如,管理员)可以覆盖这种默认行为并使用覆盖网络(即,在转接VPC中隧穿(tunneling)到云网关)。当源计算节点和目的地计算节点在不同的VPC上时,默认行为是使用覆盖网络(即,转接VPC中的云网关)路由数据消息。该方法允许管理员覆盖数据消息的默认行为,这些数据消息(1)不需要由转接VPC中的服务引擎提供的服务,以及(2)对于这些数据消息,在源VC和目的地VPC之间存在对等(例如,由云提供商基础设施提供的隧道)。
在一些实施例中,由云提供商隧道连接的VPC(例如,对等VPC)中的计算节点之间的数据消息的默认行为是使用覆盖逻辑网络和集中式覆盖网络云网关来路由数据消息。为了覆盖默认值并使用对等关系在VPC之间转发数据消息,在一些实施例中,管理员在MFE的仲裁器模块中配置基于策略的路由(PBR)规则,该规则引导MFE使用VPC之间的对等转发数据消息。如果没有使用PBR规则或其它方法来覆盖默认行为,那么基于分布式路由器实现的路由表,使用覆盖网络来路由需要在转接VPC中提供的服务的数据消息。在一些实施例中,路由决策由PBR实现来配置,该PBR实现基于除目的地地址(例如,指定源IP地址/端口号和目的地IP地址/端口号以及协议的五元组)之外还可以由数据消息或数据消息流的特性定义的策略来确定下一跳。
在一些实施例中,由云提供商隧道(例如,对等VPC)连接的VPC中的计算节点之间的数据消息的默认行为是使用云提供商隧道来路由数据消息。在这样的实施例中,通过使管理员从分布式路由器实现的路由表中删除到目的地计算节点的路由(例如,与目的地计算节点的IP地址或子网相关联的路由),使用覆盖网络来路由需要在转接VPC中提供的服务的数据消息。在一些实施例中,路由决策由基于策略的路由实现来配置,该基于策略的路由实现基于除目的地地址(例如,指定源IP地址/端口号和目的地IP地址/端口号以及协议的五元组)之外还可以由数据消息或数据消息流的特性定义的策略来确定下一跳。
前述发明内容旨在用作对本发明的一些实施例的简要介绍。它并不意味着是对本文档中公开的所有发明性主题的介绍或概述。下面的具体实施方式和具体实施方式中引用的附图将进一步描述发明内容中描述的实施例以及其它实施例。因此,为了理解本文档描述的所有实施例,需要对发明内容、具体实施方式、附图和权利要求进行全面回顾。此外,所要求保护的主题不受发明内容、具体实施方式和附图中的说明性细节的限制。
附图说明
在所附权利要求中阐述了本发明的新颖特征。但是,出于解释的目的,在以下各图中阐述了本发明的几个实施例。
图1概念性地图示了一些实施例的逻辑拓扑,因为管理员可能将拓扑输入到管理平面中。
图2图示了使用集中式转接VPC的实施例,该集中式转接VPC为在计算VPC中执行的计算节点提供对外部网络的访问。
图3图示了使用集中式转接VPC的实施例,该集中式转接VPC为在多个计算VPC中的任何一个中执行的计算节点提供转接性路由和对外部网络的访问。
图4图示了与图3的系统大部分相同但是具有由VPC之间存在的连接指示的附加对等关系的系统。
图5概念性地图示了由受管理转发元素(MFE)执行的使用覆盖网络或云提供商网络之一智能地转发从计算节点接收到的数据消息的处理。
图6图示了在一些实施例中用于VPC内流量的一组可能的数据消息路径和报头。
图7图示了一些实施例的系统中的一组VPC间数据消息流量。
图8概念性地图示了在一些实施例中用于配置MFE以实现图5的处理的处理。
图9概念性地图示了用于实现本发明的一些实施例的计算机系统。
具体实施方式
在本发明的以下详细描述中,阐述并描述了本发明的许多细节、示例和实施例。但是,对于本领域技术人员而言将显而易见的是,本发明不限于所阐述的实施例,并且可以在没有所讨论的一些具体细节和示例的情况下实践本发明。
一些实施例在转接虚拟云网络(VCN)中提供集中式覆盖网络云网关和一组集中式服务,该转接虚拟网络连接到托管计算节点(VM、容器等)的多个其它计算VCN,这些计算节点是覆盖网络的一部分(属于覆盖网络)。在一些实施例中,使用在转接VCN中执行的集中式覆盖网络云网关代替在多个非转接VCN中执行的多个覆盖网络云网关,以降低成本和管理开销。集中式覆盖网络云网关在覆盖网络的计算节点(例如,跨越多个VCN的逻辑网络)与外部网络中的计算节点之间提供连接。在一些实施例中,集中式覆盖网络云网关还为其处理的数据消息提供服务。在一些实施例中,由云网关和通过或由网关访问的第三方服务的某种组合来提供服务。
如本申请中所使用的逻辑网络是指网络的特定逻辑抽象。在一些实施例中,逻辑抽象包括物理网络的网络元件的逻辑对应物,诸如转发元件(例如,交换机、集线器、路由器、网桥等)、负载均衡器和防火墙。在一些实施例中,逻辑转发元件(例如,逻辑交换机或逻辑路由器)由在主机机器上执行的一组MFE(例如,物理或虚拟/软件交换机或路由器)实现。特定主机机器可以托管连接到多个不同逻辑网络的数据计算节点(DCN)(例如,容器或虚拟机(VM)),并且该组MFE实现DCN逻辑连接到的所有逻辑网络。具体而言,可以在美国专利No.9,787,605和美国专利公开号2018/0062923中分别找到关于逻辑网络和关于在公共云环境中实现为覆盖逻辑网络的逻辑网络的进一步细节,这些专利通过引用并入本文。
在一些实施例中,DCN由云提供商(例如,Amazon Web Services(AWS)或MicrosoftAzure(Azure))托管,该云提供商提供用于至少一个租户的VCN(例如,用于AWS的虚拟私有云(VPC)或用于Azure的虚拟网络(VNet))。每个VCN是逻辑上与其它物理网络以及与由云提供商提供的其它虚拟网络(例如,VCN)隔离的虚拟网络。在一些实施例中,云提供商将具有多个VCN的一组租户提供给用于多个租户的VCN。对于每个VCN,将指定私有IP地址范围(例如,IPv4和/或IPv6地址范围)用于在VCN内进行通信。VCN内的计算节点之间的通信使用公共云提供商基础设施,并在VCN的逻辑规范级别保持在VCN内。如果在VCN之间建立了对等关系,那么可以使用不同VCN中的目的地计算节点的私有IP地址来发送数据消息,并且数据消息将不需要由云提供商提供的互联网网关进行处理。替代地,在一些实施例中,使用与用于VCN内流量的方法相同的方法来转发数据消息。
在一些实施例中,对等是由云提供商通过修改底层路由元件的配置(例如,通过添加路由条目、修改安全规则等)来实现的,使得对等VCN中的计算节点就好像它们在同一VCN中一样进行通信。在一些实施例中,当两个VCN没有进行对等时,底层路由元件通过防止两个未对等的VCN中的计算节点之间的直接通信来强制执行此操作(例如,使用安全规则来防止一个VCN的私有IP地址与其它VCN的私有IP地址进行通信)。还应该注意的是,在一些实施例中,对等不是转接性的,并且与公共VCN对等(但彼此不对等)的两个VCN中的计算节点不能使用未对等VCN的私有IP地址进行通信。
在一些其它实施例中,VCN间流量穿越云提供商底层(例如,网关转发元件)的特定接口。即,在这样的实施例中,源和/或目的地VCN中的这些特定接口通过一组路由表和/或安全规则来强制执行对等关系。在这样的实施例中,每个接口的路由表和安全规则被修改以允许到达云提供商网关设备的发往对等VCN的流量被转发到对等VCN的云提供商网关设备。在不对等的情况下,在这样的实施例中,云提供商网关设备将不把流量转发到未对等VCN的云提供商网关设备。
可以附加地指定一系列唯一的公共IP地址,以便允许通过由云提供商提供的互联网网关与诸如互联网之类的外部网络进行通信。在一些实施例中,非对等VCN中的计算节点之间的通信使用由云提供商提供的互联网网关以及与非对等VCN的公共IP地址相关联的公共IP地址。在一些实施例中,用于特定租户的每个VCN具有指定的不同私有IP地址范围。在一些实施例中,VCN跨越多个物理数据中心,并且被进一步划分成可用性区域,每个可用性区域跨越单独的物理数据中心集合,使得没有数据中心支持一个以上的可用性区域。
通过将逻辑网络扩展到一个或多个公共数据中心,可以跨这些数据中心扩展逻辑拓扑。一些实施例将附加到给定逻辑交换机的VM限制在一个物理数据中心,而其它实施例甚至允许将单个逻辑交换机扩展到跨多个数据中心(例如,支持可用性区域的数据中心集合)。
图1概念性地图示了一些实施例的逻辑拓扑100,因为管理员可能将拓扑输入到管理平面中。在一些实施例中,输入到管理平面中的逻辑拓扑是在VCN中实现的。如图所示,逻辑拓扑100包括逻辑路由器105和四个逻辑交换机110-125。两个虚拟机附接到每个逻辑交换机,并且逻辑路由器105包括到外部网络的上行链路端口。在这种情况下,在逻辑网络中仅示出了一层逻辑路由器,但是一些实施例还可以包括多层逻辑路由器。另外,一些实施例的管理平面可能为逻辑路由器105定义几个逻辑路由组件(例如,分布式路由器和一个或多个集中式服务路由器)。在美国专利No.9,787,605中进一步详细描述了多层逻辑路由器以及用于逻辑路由器的多个路由组件的创建,该专利通过引用并入本文。但是,下面提供了逻辑路由组件和可能的实现的简短概述。
在一些实施例中,逻辑路由器包括多个逻辑路由组件,包括分布式逻辑路由器、转接逻辑交换机和集中式(服务)路由器。在一些实施例中,分布式逻辑路由器由一组本地MFE(例如,在每个VCN中执行的本地MFE,或者由实现逻辑网络的逻辑交换元件的每个MFE)实现。分布式逻辑路由器执行数据消息的路由,并且可以确定数据消息应转发到的逻辑交换机。在一些情况下,转接逻辑交换器是仅由逻辑路由元件用来将分布式逻辑路由组件连接到逻辑路由元件的集中式(服务)逻辑路由组件的逻辑交换元件。在一些实施例中,本地和集中式MFE都实现分布式逻辑路由器组件和转接逻辑交换器组件,而集中式MFE实现集中式(服务)逻辑路由器。在一些实施例中,集中式逻辑路由器用作到外部网络的网关,用于租户逻辑网络中的计算节点。
在一些实施例中,附接到逻辑路由器105的逻辑交换机110-125各自被分配子网,因此,创建以附接到特定逻辑交换机的工作负载VM应被分配适当的子网中的IP地址。在一些实施例中,为覆盖网络和VCN实现都定义逻辑拓扑,使得由VCN分配的IP地址(子网和各个DCN IP地址)可以被覆盖逻辑交换机和路由器使用,并被覆盖逻辑交换机和路由器使用,以允许应用继续使用来自云提供商的IP地址进行操作,从而促进与由云提供商提供的其它服务(诸如,存储或负载平衡服务)的轻松无缝集成。在一些实施例中,这是通过使用由云提供商(即,VCN的提供商)提供的API确定云提供商分配的地址并将它们也用于覆盖网络(例如,将由云提供商分配给VM的IP地址分配给为在VM上操作的MFE创建的隧道端点)来实现的。但是,在一些实施例中,关于云提供商的VM的IP地址与映射到该VM的逻辑端口的IP地址不同,因为面向云提供商网络的IP地址是为在VM上操作的MFE创建的隧道端点的IP地址。例如,在一些实施例中,逻辑交换机110在覆盖网络中被分配子网192.168.1.0/24,同时被云提供商分配10.1.0.0/24。另外,示出了两个VM附接到逻辑交换机110。
图2图示了AWS中使用集中式转接VPC 205的实施例,该集中式转接VPC 205为在计算VPC 210中执行的计算节点(例如,VM230)提供对外部网络260的访问。图2图示了如在单个公共云提供商的单个计算VPC 210内实现的附接到四个逻辑交换机110和120中的两个逻辑交换机的四个VM 230,以及实现云网关201、一组服务计算节点(SVM 202A-M)和云提供商互联网网关203的转接VPC205的示例。图2还图示了外部网络260、内部部署的数据中心270(例如,由VM 230的所有者运行的数据中心)以及将转接VPC 205连接到内部部署的数据中心的VPN隧道204。在这个示例中,每个逻辑交换机都包括在单个VPC内(例如,附接到逻辑交换机110和120的所有VM都在同一VPC中被实例化),其中多个逻辑交换机在VPC 210中被实例化。VPC 210被分配子网10.1.0.0/16,取决于管理员在公共云上配置VPC的方式,该子网可以是公共或私有子网。在这个示例中,MFE全部以混合模式操作,该混合模式允许VM IP地址(例如,MFE隧道端点IP地址)与工作负载应用IP地址(即,与逻辑交换机端口相关联的IP地址)相同。在混合模式下操作的MFE确定是通过(覆盖在云提供商网络上的)逻辑网络还是直接通过云提供商网络转发由工作负载应用发送的数据消息。
如图所示,每个VM在分配给其连接到的逻辑交换机的IP子网(10.1.0.0/24)中被分配不同的工作负载IP(例如,10.1.0.2、10.1.0.3等),逻辑交换机的IP子网是分配给其中实现该逻辑交换机的VPC(例如,10.1.0.0/16)的子网的IP子网。在一些实施例中,这些IP地址与由云提供商分配给VM(或在VM上操作的MFE的虚拟可扩展局域网隧道端点(VTEP))的IP地址相同。下面更详细地讨论由用于这样的实施例的实现混合逻辑交换机的MFE执行的转发操作。
在其它实施例中,在与由云提供商分配的逻辑交换机子网不同的逻辑网络的子网中(例如,192.168.1.0/24子网,而不是10.1.1.0/24子网),为每个VM分配不同的工作负载IP。当这些实施例中的工作负载应用发送报文时,该不同的工作负载IP地址将是该报文的报头中使用的源IP。但是,在这些VM上操作的MFE具有在VPC子网上具有不同IP地址(10.1.0.2、10.1.0.3、10.10.0.2、10.10.0.3等)的VTEP。离开VM的报文将因此使用该VTEPIP地址作为源IP地址进行封装(在源VM中的MFE执行逻辑处理之后),以便发送到VPC中的其它目的地。
该图还图示了这四个MFE与转接VPC 205中的云网关201之间的隧道。在一些实施例中,隧道使用在计算VPC 210和图示为网络连接250的转接VPC 205之间的对等关系。云网关201为覆盖逻辑网络提供到外部网络260和内部部署的数据中心270的连接。如图所示,云网关201通过互联网网关203连接到外部网络260。在一些实施例中,互联网网关203由云提供商提供,作为转接VPC 205的部署的一部分。将MFE连接到云网关201的隧道穿过公共云提供商的底层网络(在本文中称为“底层”)。另外,虽然为了简单起见未在此处示出,但是在VM230上操作的每对MFE之间(通过底层网络)创建了隧道。在一些实施例中,数据消息在图示的MFE和云网关之间通过计算VPC和转接VPC之一中的或者在计算和转接VPC两者中的附加受管理转发元件。在一些实施例中,中间MFE实现附加的中间逻辑转发元件。
云网关201还可以向内部部署的私有数据中心270内的目的地发送报文(或从其接收报文)。为了发送这些报文,云网关201使用其VTEP IP封装报文,使得目的地将把传入报文识别为逻辑网络报文。为了保护VPC 205中的云网关201与私有数据中心中的目的地(例如,附接到逻辑交换机的VM)之间的流量,在一些实施例中,经由VPN隧道204发送报文。在这个示例中,未示出云网关设备201的组件,但是在美国专利公开号2018/0062923中对这些组件进行了更详细的讨论,该专利通过引用并入本文。
在一些实施例中,云网关201是网关计算节点(例如,虚拟机),其向逻辑网络内部的计算节点提供对外部网络的访问(例如,转发南北流量)。在一些实施例中,云网关201还向在云网关201处接收到的南北流量提供服务。在一些实施例中,在云网关201处提供的服务包括防火墙服务、负载平衡服务、网络地址转换服务、入侵检测、VPN、审核日志记录、服务链(将数据消息发送到用于各种中间盒处理的第三方服务装置(例如,SVM 202))中的任何一个或多个。在一些实施例中,提供给在云网关201处接收到的流量的服务是通过将流量转发到在转接VPC 205中执行的诸如SVM 202A-M之一的服务计算节点来提供的。在一些实施例中,SVM 202A-M提供一组逻辑网络服务和一组第三方服务。在一些实施例中,具有集中式云网关允许用于南北逻辑网络流量的第三方装置也集中到转接VPC,以进一步降低成本和管理开销。
图3图示了使用集中式转接VPC 305的实施例,该集中式转接VPC 305为在计算VPC310A-N中的任何一个中执行的计算节点(例如,VM 230)提供转接性路由(即,通过第三转接VPC从第一VPC到第二VPC的路由)和对外部网络260的访问。图3图示了如在单个公共云提供商的多个计算VPC 310A-N内实现的(具体示出为在VPC 310A和310N中实现)附接到四个逻辑交换机110-125的八个VM 330以及实现云网关301和一组服务计算节点(SVM 302A-M)、云提供商互联网网关303的VPC 305的示例。图3还图示了外部网络360、内部部署的数据中心370(例如,由VM 330的所有者运行的数据中心)以及将转接VPC 305连接到内部部署的数据中心370的VPN隧道304。在这个示例中,每个逻辑交换机跨越单个VPC(例如,附接到逻辑交换机110-125的所有VM都在同一VPC中被实例化),其中附接到多个逻辑交换机的VM在每个VPC中被实例化。在一些未使用云提供商分配的地址的实施例中,逻辑交换机跨越多个VPC,如美国专利公开号2018/0062923中所述。VPC 310A被分配子网10.1.0.0/16,而VPC 310B被分配子网10.10.0.0/16,取决于管理员已在公共云上配置VPC的方式,这两个子网中的任一个子网可以是公共子网或私有子网。在这个示例(以及本节中的其它示例)中,MFE全部以混合模式操作,该模式允许VM IP地址(例如,MFE隧道端点IP地址)与工作负载应用IP地址(即,与逻辑交换机端口相关联的IP地址)相同。以混合模式操作的MFE确定是通过(覆盖在云提供商网络上的)逻辑网络还是直接通过云提供商网络转发工作负载应用发送的数据消息。
如图所示,每个VM在分配给其连接到的逻辑交换机的IP子网(例如,10.1.0.0/24、10.10.0.0/24等)中被分配不同的工作负载IP(例如,10.1.0.2、10.10.0.3等)。逻辑交换机的IP子网是分配给其中实现该逻辑交换机的VPC的子网的IP子网(例如,10.1.0.0/16或10.10.0.0/16)。在一些实施例中,这些IP地址与由云提供商分配给VM(或在VM上操作的MFE的VTEP)的IP地址相同。下面更详细地讨论由用于这样的实施例的实现混合逻辑交换机的MFE执行的转发操作。
在其它实施例中,在与由云提供商分配的逻辑交换机子网不同的逻辑网络的子网中(例如,192.168.1.0/24子网,而不是10.1.1.0/24子网),为每个VM分配不同的工作负载IP。当这些实施例中的工作负载应用发送报文时,该不同的工作负载IP地址将是该报文的报头中使用的源IP。但是,在这些VM上操作的MFE具有在VPC子网上具有不同IP地址(10.1.0.2、10.1.0.3、10.10.0.2、10.10.0.3等)的VTEP。离开VM的报文将因此使用该VTEPIP地址作为源IP地址进行封装(在源VM中的MFE执行逻辑处理之后),以便发送到VPC中的其它目的地。
该图还图示了这八个MFE与转接VPC 305中的云网关301之间的隧道。在一些实施例中,隧道使用在计算VPC 310A-N和图示为网络连接350的转接VPC 305之间的对等关系。这些隧道穿过公共云提供商的底层网络(在本文中称为“底层”)。另外,虽然为了简单起见未在此处示出,但是在VM 330上操作的每对MFE之间(通过底层网络)创建了隧道。例如,如果源VPC和目的地VPC之间没有对等或者流量需要由云网关301提供的或通过云网关301提供的集中式服务,那么MFE 340和云网关301之间的这些隧道用于在由不同VPC实现的计算节点(例如,VM、容器等)之间转发流量。
云网关301还可以向内部部署的私有数据中心370内的目的地发送报文(和从其接收分组)。为了发送这些报文,云网关301使用其VTEP IP封装报文,使得目的地将把传入报文识别为逻辑网络报文。为了保护VPC 305中的云网关301与私有数据中心中的目的地(例如,附接到逻辑交换机的VM)之间的流量,在一些实施例中,经由VPN隧道304发送报文。在这个示例中,未示出网关到外部网络的连接,并且在美国专利公开号2018/0062923中对该连接进行了更详细的讨论,该专利通过引用并入本文。
在一些实施例中,云网关301是网关计算节点(例如,虚拟机),其向逻辑网络内部的计算节点提供对外部网络的访问(例如,转发南北流量)。在一些实施例中,云网关301还向在云网关301处接收到的流量(南北和东西)提供服务。在一些实施例中,在云网关301处提供的服务包括逻辑路由、防火墙服务、负载平衡服务、网络地址转换服务、入侵检测、VPN、审计日志记录、服务链(将数据消息发送到用于各种中间盒处理的第三方服务装置(例如,SVM 302)))中的任何一个或多个。在一些实施例中,提供给在云网关301处接收到的流量的服务是通过将流量转发到在转接VPC 305中执行的诸如SVM 302A-M之一的服务计算节点来提供的。在一些实施例中,SVM 302A-M提供一组逻辑网络服务和一组第三方服务。在一些实施例中,具有集中式云网关允许用于南北和东西逻辑网络流量的第三方装置也集中到转接VPC,以进一步降低成本和管理开销。
虽然以上描述的实施例以及说明书的整个其余部分是根据单个转接VPC和云网关进行讨论的,但是其它实施例将云网关实现为单个转接VPC中的活动-活动或活动-待机模式中的两个或更多个云网关设备的集群。还有的其它实施例实现了两个或更多个转接VPC的集群,每个转接VPC托管以活动-活动或活动-待机配置之一配置的云网关设备。活动-活动模式下的云网关(或转接VPC)各自都可由逻辑网络中的计算节点寻址,并且在一些实施例中进行负载平衡,或者由相同的多播地址寻址。在这样的实施例中,如下面关于图5所描述的那样配置MFE,以将数据消息路由到特定的网关设备/转接VPC或任何活动的网关设备/转接VPC。在一些实施例中,通过基于分片(例如,基于源IP地址或目的地IP地址)或散列处理(例如,基于定义流的n-元组的散列)将特定流分配给特定的云网关设备/转接VPC来维持状态处理。在活动/待机配置中,单个云网关设备/转接VPC充当云网关/转接VPC,其中集群中的附加设备或VPC在活动设备/转接VPC故障的情况下提供冗余。
图4图示了与图3的系统300大部分相同但是具有由VPC 310A和310N之间存在的连接450指示的附加对等关系的系统400。在系统400中,除了能够通过转接VPC 305(和云网关301)在VPC 310A和310N之间转发数据消息之外,还可以使用对等关系来转发数据消息。图5概念性地图示了利用现有对等和VPC内连接以及集中式云网关设备的处理。
图5概念性地图示了由受管理转发元件(MFE)执行的使用覆盖网络或云提供商网络之一智能地转发从计算节点接收到的数据消息的处理。该处理通过从计算节点(例如,虚拟机或容器)接收发往另一个计算节点的数据消息开始(在510处)。不同的数据消息将发往不同的虚拟私有云中的不同计算节点,并且需要不同的服务。在一些实施例中,云提供商提供一些服务,而其它服务由覆盖网络的元件提供。在一些实施例中,由云提供商提供的服务与由覆盖网络的元件提供的服务具有相同的类型(例如,防火墙、负载平衡、WAN优化等)。
在接收到数据消息后,MFE执行(在520处)入口处理。在一些实施例中,入口处理包括分布式防火墙操作。在入口处理之后,在一些实施例中,MFE咨询仲裁器以确定(在530处)数据消息是否需要由在转接VPC中执行的云网关进行处理。在一些实施例中,仲裁器是MFE的一部分。在一些实施例中,该确定是基于数据消息的目的地是否与数据消息的源位于同一VPC中、数据消息是否需要任何集中式服务,以及源VPC和目的地VPC之间是否存在对等。
在一些实施例中,目的地计算节点与源计算节点处于同一VPC中的确定是基于数据消息的目的地IP地址是否落在分配给源计算节点的VPC的IP地址范围内。在一些实施例中,确定数据消息是否需要集中式服务是基于基于策略的路由策略或从网络控制器接收到的其它形式的策略。在一些实施例中,根据与数据消息相关联的元组(例如,指定源IP地址和目的地IP地址、源端口和目的地端口以及协议的五元组)来指定策略。在一些实施例中,在对路由表进行处理以去除到从VPC中不可用或者要求通过转接VPC中的云网关进行路由的地址的路由(如关于图8所讨论的)之后,隐式地基于缺少目的IP地址的路由条目来确定数据消息需要集中式服务。类似地,在一些实施例中,确定源VPC和目的地VPC之间是否存在对等是基于用于目的地VPC中的目的地IP地址的路由是否在源VPC(或实现覆盖网络的逻辑路由器的MFE)的路由表中存在。在一些实施例中,关于源VPC和目的地VPC之间是否存在对等的信息由用户(例如,系统管理员)提供,并且被推送到在不同VPC处执行的MFE。
在隐式地确定数据消息是否需要转发到转接VPC中的云网关(或者因为它需要服务或者因为不存在与目的地VPC的对等)的一些实施例中,MFE(或如下面所讨论的单独的受管理交换和路由元件)或仲裁器模块执行与覆盖网络(例如,租户逻辑网络)的逻辑交换和路由元件相关联的逻辑交换和路由操作。在一些实施例中,逻辑交换操作包括:识别从源计算节点接收数据消息的逻辑交换元件的出口逻辑端口,以及将数据消息逻辑转发到连接到逻辑路由元件的出口逻辑端口。在一些实施例中,逻辑路由操作包括实现分布式逻辑路由器以识别与数据消息的目的地地址相关联的逻辑路由元件的逻辑端口。如以上所讨论的,在一些实施例中,分布式逻辑路由器被配置为使得(1)需要在覆盖云网关处提供的服务或者(2)发往与源VPC不存在对等关系的VPC的数据消息被路由到云网关。在一些实施例中,这等同于确定应将数据消息转发到由覆盖云网关实现的集中式服务路由元件的分布式逻辑路由元件。
在一些实施例中,如果数据消息(1)需要由云网关提供的集中式服务(无论源VPC和目的地VPC是相同还是不同)或(2)发往未与源VPC对等的VPC,那么数据消息需要由覆盖云网关(例如,实现逻辑路由器来为覆盖网络中的计算节点提供对外部网络的访问的设备)进行处理。相反,如果(1)数据消息发往同一VPC中的计算节点并且不需要由云网关提供的集中式服务或者(2)数据消息发往与源计算节点的VPC对等的VPC上的计算节点并且数据消息不需要集中式服务,那么数据消息不需要由覆盖云网关进行处理。
如果该处理确定(在530处)数据消息需要云网关进行处理,那么该处理(在530处)用将报文引导到云网关的隧道端点的报头封装数据消息。在一些实施例中,隧道端点是虚拟可扩展局域网(VXLAN)隧道端点(VTEP)。在一些实施例中,封装是通用网络虚拟化封装(GENEVE)报头。
如果该处理确定(在530处)数据消息不需要云网关处理或确定(在530处)数据消息需要云网关进行处理并且已经封装(在540处)数据消息,那么该处理将数据消息转发到目的地。在一些实施例中,数据消息被转发到云提供商的转发元件,并且处理结束。在一些实施例中,云提供商转发元件提供进一步的封装以穿越在其上实现虚拟私有云的物理网络。
在一些实施例中,被封装为要转发到云网关的数据消息在云网关处被接收到,然后该云网关将数据消息解封装、提供任何所需的服务、并且将数据消息转发到目的地计算节点。在一些实施例中,由于云网关在其上与托管覆盖网络的计算节点的每个VPC对等的转接VPC,转发的数据消息不需要封装就可以从云网关转发到目的地计算节点。
图6图示了在一些实施例中用于VPC内流量的一组可能的数据消息路径和报头。图6描绘了系统600,该系统600是系统300的简化视图,其包括物理云主机机器680,该物理云主机机器680包括在其上执行VM1的公共云转发元件(PCFE)690,并且该图未示出MFE 340与云网关301之间的隧道关系。未示出在其上执行其它VM的类似的公共云主机机器680。图6图示了从在VM1到VM6上执行的应用引导的数据消息。如所绘出的,VM1属于第一逻辑交换机的10.1.0.0/24子网,并且VM属于第二逻辑交换机的10.1.1.0/24子网,这两个逻辑交换机均在被分配IP子网10.1.0.0/16的VPC 310A中实现。
对于VPC内流量,描绘了从VM1到VM6的第一和第二路径。每条路径的开头均以从工作负载应用使用覆盖网络和云提供商网络中等效的源IP地址和目的地IP地址发送的数据消息(标记为“1”)开始。在使用不同覆盖网络IP地址的一些实施例中,覆盖网络地址将出现在来自工作负载应用的数据消息的报头中。在使用容器的实施例中,容器使用由覆盖网络分配的IP地址将数据消息“1”发送到MFE(例如,OVS)。如关于图5所描述的,MFE 340确定数据消息是否需要转发到云网关301(例如,基于PBR,或者如上所述缺少针对目的地交换机子网的路由条目)。如果MFE 340确定应将数据消息直接转发到目的地(即,VM6),那么MFE将数据消息转发到由云提供商提供的PCFE,并在底层网络基础设施上实现提供商逻辑网络。MFE无需封装就将数据消息作为数据消息“2”转发,并且PCFE将数据消息封装为数据消息“3”,以穿越底层网络到达托管目的地计算节点(即,VM6)的公共云主机机器(未示出)。
对于MFE确定的需要基于对云网关301提供的特定服务的需求转发到云网关301的VPC内流量,MFE将数据消息(作为数据消息“4”)用云网关的IP地址(例如,10.12.0.1)进行封装,该IP地址可基于计算VPC 310A与转接VPC 305之间的对等350访问。在这种情况下,云网关301的地址既是覆盖地址又是云提供商地址,但是在它们不同的实施例中,MFE使用云网关301在封装中附接到的MFE的VTEP地址。数据消息“4”由PCFE 690接收,并且与数据消息“3”类似,被封装为数据消息“5”,以穿越底层网络到达云网关301。数据消息“1”至“5”的结构显示在图6的右侧。
一旦云网关301接收到数据消息“5”,它就向/为数据消息提供服务(例如,防火墙、NAT、负载平衡等)。在一些实施例中,提供服务包括将数据消息作为数据消息“6”转发到在一些实施例中作为逻辑网络服务装置或第三方服务装置之一的服务计算节点(即,SVM302A)。在一些实施例中,将数据消息转发到服务装置使用覆盖封装,而在其它实施例中,使用云提供商逻辑网络地址对服务装置进行寻址。在执行/提供服务之后,服务装置将数据消息“7”返回到云网关301,以作为数据消息“8”转发到目的地。在一些实施例中,基于转接VPC305与计算VPC 310A之间的对等关系,在没有覆盖封装的情况下发送数据消息“8”,该对等关系允许直接寻址其它VPC中的计算节点。无论数据消息是由云网关301封装还是未封装进行发送的,云网关在其上操作的主机机器上执行的PCFE都将数据消息封装为数据消息“3”和“5”。在一些实施例中,由于服务由云网关自身提供,因此不发送数据消息“6”和“7”。
图7图示了系统700中的一组VPC间数据消息流量。系统700描绘了具有相应IP子网(例如,CIDR块)10.1.0.0/16、10.8.0.0/16和10.10.0.0/16的三个计算VPC 710A、B和N,并且包括具有相应IP地址10.1.0.2、10.8.0.3和10.10.1.3的VM 1、VM 4和VM 8(VM 1、4和8在逻辑上如图1所示连接)。在一些实施例中,VM 1、VM 4和VM 8中的每一个都在公共云主机机器中操作,该公共云主机机器包括如图6中所示的PCFE,为了清楚起见,其未被示出。图7中描绘了三种基本的VPC间流量模式:(1)通过提供服务的转接VPC的VPC间流量;(2)使用计算VPC之间的对等的VPC间流量;以及(3)在源和目的地计算VPC之间没有对等的情况下使用转接VPC的VPC间流量。
图7的数据消息“1”描绘了已经被确定需要由云网关701或通过云网关701提供的服务的第一数据消息。数据消息“1”是从寻址到另一个VPC中的IP地址的VM1上的应用或容器发送的。在确定数据消息需要转发到云网关701后(例如,因为源VPC与目的地VPC之间不存在对等(对于数据消息“3”),或者因为需要服务(数据消息“2n”或“3”)),MFE使用与云网关701相关联的VTEP IP地址将数据消息封装为在图6的数据消息“4”中,并将数据消息转发到PCFE,该PCFE进一步将数据消息封装为在图6的数据消息“5”中并将数据消息转发到云网关701。数据消息“2a”到“2m”表示一组数据消息,用于实现由云网关701提供的多个服务的服务链。在一些实施例中,服务链是由云网关提供的服务的补充。在一些实施例中,不需要由服务装置702提供的服务,并且流量直接从数据消息“1”到数据消息“2n”或“3”。如以上所讨论的,可以使用覆盖封装或云提供商网络来发送从云网关701发送到计算VPC中的VM的数据消息,诸如数据消息“2n”。
数据消息“4”是从第一计算VPC 710A中的VM发送到存在对等的第二计算VPC 710B的数据消息。MFE 740从VM1上的应用或容器接收数据消息,并确定该数据消息不需要通过转接VPC 705进行路由,并且确定在当前计算VPC和目的地计算VPC之间存在对等关系。基于该确定,使用云提供商地址(例如,对于图6的数据消息“2”)将数据消息“4”发送到PCFE(未示出),以使PCFE使用底层网络IP地址和报头进行封装。
图8概念性地图示了在一些实施例中用于配置MFE以实现图5的处理的处理800。处理800接收(在810处)配置数据。在一些实施例中,配置数据包括直接可用的端点地址的列表。在一些实施例中,为特定的VPC指定直接可用的地址。在其它实施例中,列表指定同时可直接用于多个VPC的地址。对于多个VPC的直接可用地址的列表,该列表可以布置为地址和直接对其可用的VPC的列表。在一些实施例中,用于特定VPC的直接可用地址包括在与特定VPC对等的VPC上可用的地址,以及通过云提供商虚拟私有网络(VPN)可用的地址。在一些实施例中,配置数据包括(1)对等VPC和(2)在VPC之间存在的VPN的标识。在一些实施例中,配置数据由网络控制器从用户(例如,系统管理员)接收。在一些实施例中,使用由云提供商提供的应用编程接口(API)自动检索对等VPC和现有VPN的标识。在一些实施例中,配置数据指定特定计算节点或计算节点类型(例如,web服务器到应用服务器、应用服务器到数据库服务器等)之间的优选通信方法或用于以多种方式连接的计算节点的通信方法的优先级(例如,对于VPN流量优选使用提供商网络的VPC对等)。
一旦已经接收到(在810处)配置数据,该处理就将配置数据推送(在820处)到覆盖网络中的计算节点。在一些实施例中,推送到计算节点的配置数据是由控制器接收的配置数据。在一些实施例中,控制器将接收到的配置数据转换成特定于计算节点或VPC的数据,该数据反映配置数据中与计算节点或在其中执行计算节点的VPC相关的部分(例如,该VPC与另外2个VPC对等)。在一些实施例中,控制器将配置信息传送到要配置的计算节点的本地代理。在一些实施例中,该配置数据是用于构造/填充不同MFE的路由表的其它配置数据集的补充。
一旦将配置信息推送(在820处)到计算节点,计算节点就接收(在830处)配置数据。在一些实施例中,计算节点操作覆盖网络的MFE。在一些实施例中,MFE与MFE为其提供转发服务的一组应用或容器一起在虚拟机中执行。在一些实施例中,MFE是开放vSwitch(OVS),并且配置数据作为开放vSwitch(OYS)的一组转发条目被接收。在其中MFE包括路由表的一些实施例中,配置包括一组路由条目,这些条目反映VPC之间对等关系的存在、VPN的存在,或应定向到转接VPC中的云网关的特定流。
在一些实施例中,代替单个MFE,存在一组受管理的交换和路由元件,它们处理往返于数据消息的源的数据消息。在这样的实施例中的配置数据包括单独用于每个受管理的交换和路由元件的配置数据,以分别实现覆盖网络(例如,租户逻辑网络)的期望的逻辑交换和路由元件。在一些实施例中,计算节点仅执行受管理的交换元件,其中受管理的路由元件在单独的计算节点上执行。
一些实施例将路由条目放置在由MFE或受管理的路由元件实现的第一层(Tier-1)或第零层(Tier-0)分布式路由器的路由表中。在美国专利No.9,787,605中描述了实现第一层和第零层逻辑路由器的逻辑网络,该专利通过引用并入本文。在配置数据不是由接收其的控制器转换的实施例中,计算节点将配置数据转换成转发数据(例如,路由表中的条目、用于OVS的流条目)。一些实施例将配置数据接收为(1)基于策略的路由数据,其基于数据消息或流特性(例如,五元组或其它报头值)定义策略,以及(2)私有路由表数据,该数据用于(i)指示MFE在数据消息的特性匹配时使用私有路由表数据,以及(ii)分别生成和填充私有路由表。
在接收到(在830处)配置数据后,该处理配置(在840处)MFE以基于接收到的配置数据来实现转发决定。在一些实施例中,配置MFE包括基于配置数据用路由来更新MFE(或受管理路由元件)的路由表。更新后的路由表的路由表条目可以包括用于通过以下方式转发流量的路由条目:(1)使用云提供商网络(例如,不通过MFE封装的情况下发送流量)将流量转发到目的地计算节点,(2)由MFE封装以在源计算节点和目的地计算节点之间(例如,源计算节点和目的地计算节点连接到的MFE之间)使用直接隧道,或(3)进行封装以使用到云网关(例如,转接VPC中的云网关)的隧道,以便云网关转发到目的地计算节点。在一些实施例中,配置MFE包括更新OVS的流条目以以以上针对路由条目概述的任何方式转发流量。现在配置了MFE并且该处理结束。
许多上述特征和应用被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的一组指令的软件处理。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其它处理单元)执行时,它们使(一个或多个)处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”旨在包括驻留在只读存储器中的固件或存储在磁存储装置中的应用,其可以被读入到存储器中以由处理器进行处理。同样,在一些实施例中,可以将多个软件发明实现为较大程序的子部分,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以被实现为单独的程序。最后,一起实现本文描述的软件发明的单独程序的任何组合都在本发明的范围内。在一些实施例中,软件程序在被安装为在一个或多个电子系统上操作时,定义了一种或多种执行软件程序的操作的特定机器实现。
图9概念性地图示了利用其实现本发明的一些实施例的计算机系统900。计算机系统900可以用于实现上述主机、控制器和管理器中的任何一个。由此,它可以用于执行任何上述处理。该计算机系统包括各种类型的非暂态机器可读介质以及用于各种其它类型的机器可读介质的接口。计算机系统900包括总线9105、(一个或多个)处理单元910、系统存储器925、只读存储器930、永久存储设备935、输入设备940和输出设备945。
总线905共同表示通信地连接计算机系统900的许多内部设备的所有系统总线、外围总线和芯片组总线。例如,总线905将(一个或多个)处理单元910与只读存储器930、系统存储器925和永久存储设备935通信地连接。
(一个或多个)处理单元910从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行本发明的处理。在不同的实施例中,(一个或多个)处理单元可以是单个处理器或多核处理器。只读存储器(ROM)930存储(一个或多个)处理单元910和计算机系统的其它模块所需的静态数据和指令。另一方面,永久存储设备935是读写存储器设备。该设备是即使在计算机系统900关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储设备(诸如,磁盘或光盘及其对应的盘驱动器)作为永久存储设备935。
其它实施例使用可移动存储设备(诸如,软盘、闪存驱动器等)作为永久存储设备。像永久存储设备935一样,系统存储器925是读写存储器设备。但是,与存储设备935不同,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时所需的一些指令和数据。在一些实施例中,本发明的处理被存储在系统存储器925、永久存储设备935和/或只读存储器930中。(一个或多个)处理单元910从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行一些实施例的处理。
总线905还连接到输入和输出设备940和945。输入设备使用户能够向计算机系统传达信息并选择命令。输入设备940包括字母数字键盘和指示设备(也称为“光标控制设备”)。输出设备945显示由计算机系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括诸如触摸屏之类的设备,其既用作输入设备又用作输入设备。
最后,如图9所示,总线905还通过网络适配器(未示出)将计算机系统900耦合到网络965。以这种方式,计算机可以是计算机的网络(诸如,局域网(“LAN”)、广域网(“WAN”)、或内联网、或网络的网络、诸如互联网)的一部分。计算机系统900的任何或全部组件可以与本发明结合使用。
一些实施例包括电子组件,诸如微处理器、在机器可读或计算机可读介质(替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的存储装置和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读压缩盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡、小型SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录盘、超密度光盘、任何其它光或磁介质、以及软盘。计算机可读介质可以存储可由至少一个处理单元执行的并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件、或使用解释器的微处理器执行的更高级代码的文件。
虽然以上讨论主要是指执行软件的微处理器或多核处理器,但是一些实施例是由诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类的一个或多个集成电路执行的。在一些实施例中,这样的集成电路执行存储在电路本身上的指令。
如在本说明书中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”都是指电子或其它技术设备。这些术语不包括人或人群。为了本说明书的目的,术语显示或正在显示意味着在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”、“计算机可读介质”和“机器可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其它短暂或暂态信号。
虽然已经参考许多具体细节描述了本发明,但是本领域的普通技术人员将认识到,在不脱离本发明的精神的情况下,可以以其它具体形式来实施本发明。例如,几个图在概念上图示了处理。这些处理的具体操作可能不按照所示和所述的确切顺序执行。具体操作可以不在一个连续的一系列操作中执行,并且不同的具体操作可以在不同的实施例中执行。此外,处理可以使用几个子处理来实现,或者作为更大的宏处理的一部分来实现。因此,本领域的普通技术人员将理解,本发明不受前述说明性细节的限制,而是由所附权利要求书定义。
Claims (21)
1.一种在公共云中定义的第一虚拟私有云(VPC)处处理数据消息的方法,所述方法包括:
在转接、第一VPC中执行的转接网关设备处:
从在所述公共云中为第一租户定义的第二VPC中的源机器接收数据消息;
对所述数据消息执行服务操作;以及
将所述数据消息转发到所述第一和第二VPC之外的目的地机器。
2.根据权利要求1所述的方法,其中所述目的地机器位于在所述公共云中定义的第三VPC中。
3.根据权利要求2所述的方法,其中所述第一、第二和第三VPC具有彼此隔离的第一、第二和第三虚拟网络。
4.根据权利要求1所述的方法,其中所述数据消息是从位于所述公共云中并实现用于所述第二VPC的逻辑转发元件的受管理转发元件(MFE)接收的。
5.根据权利要求1所述的方法,其中执行所述服务操作包括:
将所述数据消息转发到所述公共云中的一组一个或多个服务设备;和
在已经执行了所述服务操作之后,从所述一组服务设备接收所述数据消息。
6.根据权利要求5所述的方法,其中所述一组服务设备包括至少一个第三方服务设备。
7.根据权利要求5所述的方法,其中所述一组网络服务包括网络地址转换、防火墙服务、负载平衡服务和入侵检测服务中的至少一个。
8.根据权利要求1所述的方法,其中接收所述数据消息包括:接收具有封装报头的封装数据消息,所述封装报头识别与所述网关设备相关联的隧道端点。
9.根据权利要求1所述的方法,其中所述第一VPC的所述网关设备被配置为在一组两个或更多个VPC之间转发数据消息,所述两个或更多个VPC是在所述公共云中定义的,并且未被配置为彼此直接通信。
10.根据权利要求9所述的方法,其中当两个VPC不对等时,一个或多个安全规则阻止一个VPC的专用网络地址与另一VPC的私有网络地址通信。
11.一种在实现租户逻辑网络的至少一个逻辑转发元件(LFE)的受管理转发元件(MFE)处处理数据消息的方法,所述方法包括:
在公共云中的租户的非网关、第一虚拟云网络(VCN)中执行的MFE处,
从在所述非网关、第一VCN中执行的源计算节点接收数据消息,其中所述数据消息的目的地在所述公共云中的所述租户的任何VCN之外;
对所述数据消息执行入口处理;
处理数据消息以将所述数据消息转发到租户逻辑网络的网关设备,所述网关设备在公共云中的租户的网关、第二VCN中执行,其中所述网关设备将所述数据消息转发到所述公共云中的租户的任何VCN之外的目的地。
12.根据权利要求11所述的方法,其中所述租户逻辑网络的网关设备不在所述非网关、第一VCN中执行。
13.根据权利要求11所述的方法,其中所述至少一个LFE包括逻辑路由元件(LRE)。
14.根据权利要求11所述的方法,其中所述至少一个LFE包括逻辑交换元件(LSE),其逻辑连接到作为所述数据消息的源的计算节点。
15.根据权利要求11所述的方法,其中所述MFE是在所述公共云中用于实现所述非网关、第一VCN的计算机上执行的开放vswitch。
16.根据权利要求11所述的方法,其中所述MFE被配置为将去往所述公共云中的租户的VCN之外的所有逻辑网络流量路由到所述公共云中的租户的一组一个或多个网关VCN中的一组一个或多个网关设备。
17.根据权利要求11所述的方法,其中所述非网关、第一VCN不包括所述租户逻辑网络的网关设备。
18.一种存储程序的机器可读介质,所述程序在由至少一个处理单元实现时实现根据权利要求1-17中任一项所述的方法。
19.一种计算设备,包括:
一组处理单元;以及
存储程序的机器可读介质,所述程序在由所述处理单元中的至少一个处理单元实现时实现根据权利要求1-17中任一项所述的方法。
20.一种系统,包括用于实现根据权利要求1-17中任一项所述的方法的部件。
21.一种包括指令的计算机程序产品,所述指令在由计算机执行时执行根据权利要求1-17中任一项所述的方法。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/112,602 | 2018-08-24 | ||
US16/112,599 | 2018-08-24 | ||
US16/112,597 US11374794B2 (en) | 2018-08-24 | 2018-08-24 | Transitive routing in public cloud |
US16/112,599 US10491466B1 (en) | 2018-08-24 | 2018-08-24 | Intelligent use of peering in public cloud |
US16/112,597 | 2018-08-24 | ||
US16/112,602 US11196591B2 (en) | 2018-08-24 | 2018-08-24 | Centralized overlay gateway in public cloud |
PCT/US2019/046570 WO2020041074A1 (en) | 2018-08-24 | 2019-08-14 | Intelligent use of peering in public cloud |
CN201980055833.9A CN112640369B (zh) | 2018-08-24 | 2019-08-14 | 在公共云中智能地使用对等的方法、设备和机器可读介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980055833.9A Division CN112640369B (zh) | 2018-08-24 | 2019-08-14 | 在公共云中智能地使用对等的方法、设备和机器可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116032836A true CN116032836A (zh) | 2023-04-28 |
Family
ID=67811024
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211668939.6A Pending CN116032836A (zh) | 2018-08-24 | 2019-08-14 | 在公共云中智能地使用对等 |
CN201980055833.9A Active CN112640369B (zh) | 2018-08-24 | 2019-08-14 | 在公共云中智能地使用对等的方法、设备和机器可读介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980055833.9A Active CN112640369B (zh) | 2018-08-24 | 2019-08-14 | 在公共云中智能地使用对等的方法、设备和机器可读介质 |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP3815311B1 (zh) |
CN (2) | CN116032836A (zh) |
WO (1) | WO2020041074A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341371B2 (en) | 2016-08-31 | 2019-07-02 | Nicira, Inc. | Identifying and handling threats to data compute nodes in public cloud |
US10397136B2 (en) | 2016-08-27 | 2019-08-27 | Nicira, Inc. | Managed forwarding element executing in separate namespace of public cloud data compute node than workload application |
US10567482B2 (en) | 2017-08-24 | 2020-02-18 | Nicira, Inc. | Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table |
CN114584465A (zh) | 2017-08-27 | 2022-06-03 | Nicira股份有限公司 | 在公共云中执行在线服务 |
US10862753B2 (en) | 2017-12-04 | 2020-12-08 | Nicira, Inc. | High availability for stateful services in public cloud logical networks |
US11343229B2 (en) | 2018-06-28 | 2022-05-24 | Vmware, Inc. | Managed forwarding element detecting invalid packet addresses |
US11374794B2 (en) | 2018-08-24 | 2022-06-28 | Vmware, Inc. | Transitive routing in public cloud |
US11196591B2 (en) | 2018-08-24 | 2021-12-07 | Vmware, Inc. | Centralized overlay gateway in public cloud |
EP4078901A4 (en) * | 2020-04-01 | 2023-10-11 | VMWare, Inc. | AUTOMATIC DEPLOYMENT OF NETWORK ELEMENTS FOR HETEROGENEOUS COMPUTING ELEMENTS |
CN113965505A (zh) * | 2021-09-27 | 2022-01-21 | 浪潮云信息技术股份公司 | 不同虚拟私有网络之间云主机互通的方法及实现架构 |
CN113923115B (zh) * | 2021-10-09 | 2023-08-25 | 紫光云技术有限公司 | 一种基于RocketMq的VPC配置下发方法 |
CN114125025B (zh) * | 2021-11-23 | 2024-02-13 | 北京奥星贝斯科技有限公司 | 一种多目标网络下的数据传输方法及装置 |
US11902245B2 (en) | 2022-01-14 | 2024-02-13 | VMware LLC | Per-namespace IP address management method for container networks |
CN115051948B (zh) * | 2022-05-19 | 2023-10-13 | 天翼云科技有限公司 | 一种vpc分布式网元数据传输方法及装置、电子设备 |
CN115277628A (zh) * | 2022-05-30 | 2022-11-01 | 紫光建筑云科技(重庆)有限公司 | 一种FULL NAT local IP的实现方法 |
CN115499434A (zh) * | 2022-07-29 | 2022-12-20 | 天翼云科技有限公司 | 跨vpc的流量转发方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8532108B2 (en) * | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
US8619779B2 (en) * | 2009-09-30 | 2013-12-31 | Alcatel Lucent | Scalable architecture for enterprise extension in a cloud topology |
US9106508B2 (en) * | 2012-04-30 | 2015-08-11 | International Business Machines Corporation | Providing services to virtual overlay network traffic |
US9699034B2 (en) * | 2013-02-26 | 2017-07-04 | Zentera Systems, Inc. | Secure cloud fabric to connect subnets in different network domains |
US9577845B2 (en) * | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
US9647883B2 (en) * | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
CN103957270B (zh) * | 2014-05-12 | 2017-04-19 | 武大吉奥信息技术有限公司 | 一种云原子单元投递与部署的方法及装置 |
US10079779B2 (en) | 2015-01-30 | 2018-09-18 | Nicira, Inc. | Implementing logical router uplinks |
US10554620B2 (en) * | 2015-05-29 | 2020-02-04 | Cisco Technology, Inc. | Default gateway extension |
US10341371B2 (en) | 2016-08-31 | 2019-07-02 | Nicira, Inc. | Identifying and handling threats to data compute nodes in public cloud |
US10397136B2 (en) * | 2016-08-27 | 2019-08-27 | Nicira, Inc. | Managed forwarding element executing in separate namespace of public cloud data compute node than workload application |
WO2018044341A1 (en) * | 2016-08-27 | 2018-03-08 | Nicira, Inc. | Extension of network control system into public cloud |
CN107733704B (zh) * | 2017-09-29 | 2021-02-26 | 中国石油化工股份有限公司 | 一种基于虚拟化和容器技术的勘探开发云的系统和方法 |
CN107959689B (zh) * | 2018-01-10 | 2020-09-25 | 北京工业大学 | 一种云平台租户网络隔离测试方法 |
-
2019
- 2019-08-14 EP EP19762271.5A patent/EP3815311B1/en active Active
- 2019-08-14 CN CN202211668939.6A patent/CN116032836A/zh active Pending
- 2019-08-14 EP EP23188797.7A patent/EP4243367A3/en active Pending
- 2019-08-14 WO PCT/US2019/046570 patent/WO2020041074A1/en unknown
- 2019-08-14 CN CN201980055833.9A patent/CN112640369B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112640369A (zh) | 2021-04-09 |
EP3815311B1 (en) | 2023-08-16 |
EP4243367A3 (en) | 2023-11-15 |
WO2020041074A8 (en) | 2020-10-22 |
EP3815311A1 (en) | 2021-05-05 |
WO2020041074A1 (en) | 2020-02-27 |
CN112640369B (zh) | 2023-01-10 |
EP4243367A2 (en) | 2023-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112640369B (zh) | 在公共云中智能地使用对等的方法、设备和机器可读介质 | |
US11196591B2 (en) | Centralized overlay gateway in public cloud | |
US20220329461A1 (en) | Transitive routing in public cloud | |
US10491466B1 (en) | Intelligent use of peering in public cloud | |
US11425021B2 (en) | Authorization for advertised routes among logical routers | |
US11736394B2 (en) | Address resolution using multiple designated instances of a logical router | |
US10805212B2 (en) | Static route configuration for logical router | |
US11368431B2 (en) | Implementing logical network security on a hardware switch | |
CN112673596B (zh) | 逻辑网关处的服务插入方法、设备和系统 | |
CN110278151B (zh) | 用于逻辑路由器的动态路由 | |
CN111095880A (zh) | 公共云逻辑网络中有状态服务的高可用性 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: U.S.A. Address after: California, USA Applicant after: Weirui LLC Address before: California, USA Applicant before: VMWARE, Inc. Country or region before: U.S.A. |