创建跨多个公共云的虚拟网络制造技术

技术编号:34925741 阅读:14 留言:0更新日期:2022-09-15 07:19
本公开涉及创建跨多个公共云的虚拟网络。一些实施例在若干公共云提供者的和/或在若干区域中的若干公共云上为实体建立虚拟网络。在一些实施例中,虚拟网络是跨若干公共云以互连私有网络(例如,实体的分支、部、部门或它们的相关联数据中心内的网络)、移动用户和SaaS(软件即服务)提供者机器以及实体的其它web应用中的一者或多者的覆盖网络。在一些实施例中,虚拟网络能够被配置为优化实体的数据消息到其目的地的路由,以获得最佳的端到端性能、可靠性和安全性,同时尝试最小化通过因特网的这种流量的路由。而且,在一些实施例中,虚拟网络能够被配置为优化通过网络的数据消息流的层4处理。处理。处理。

【技术实现步骤摘要】
创建跨多个公共云的虚拟网络
[0001]本申请是申请日为2018年10月1日、申请号为201880058539.9、名称为“创建跨多个公共云的虚拟网络”的专利技术专利申请的分案申请。

技术介绍

[0002]如今,公司企业网络是安全地连接公司的不同办公室和部的通信骨干。这种网络通常是广域网(WAN),它连接(1)分支机构和区域园区中的用户、(2)托管业务应用、内联网及其对应数据的公司数据中心,以及(3)通过公司防火墙和DMZ(非军事区)的全球因特网。企业网络包括专用硬件,诸如交换机、路由器和通过昂贵的租用线(诸如帧中继和MPLS(多协议标签交换))互连的中间盒设备。
[0003]在最近几年中,公司服务和消费通信服务的方式发生了范式转变。首先,移动性革命已允许用户使用移动设备(主要是智能电话)随时随地访问服务。此类用户通过公共因特网和蜂窝网络访问业务服务。同时,第三方SaaS(软件即服务)供应商(例如,Salesforce、Workday、Zendesk)已取代了传统的本地应用,而托管在私有数据中心中的其它应用已重定位到公共云。虽然这种流量仍在企业网络内承载,但其中很大一部分是在企业网络周边之外发起和终止的并且必须穿越公共因特网(一次或两次)以及企业网络两者。最近的研究表明,有40%的公司网络报告回传流量(即在公司网络中观察到的因特网流量)所占的百分比超过80%。这意味着公司流量的大部分都在昂贵的租用线和消费者因特网上承载。
[0004]作为以消费者为中心的服务,因特网本身是业务流量的坏媒介。它缺乏关键业务应用所预期的可靠性、QoS(服务质量)保证和安全性。而且,不断增长的消费者流量需求、网络中立法规以及主要参与者(例如,Netflix、Google、公共云)创建的因特网绕过技术降低了每个流量单位的货币回报。这些趋势降低了服务提供者迅速赶上消费者需求并提供适当的业务服务的动机。
[0005]鉴于公共云的增长,公司正在将其更多的计算基础设施迁移到公共云数据中心。公共云提供者一直处于计算和联网基础设施投资的前沿。这些云服务已在全球范围内建立了许多数据中心,Azure、AWS、IBM和Google在2016分别扩展到了38、16、25和14个全球区域。每个公共云提供者都使用昂贵的高速网络来互连自己的数据中心,这些高速网络采用由潜艇部署的暗光纤和海底电缆。
[0006]如今,虽然进行了这些改变,但是公司网络策略常常强制所有公司流量通过其安全的WAN网关。随着用户变得移动并且应用迁移到SaaS和公共云,公司WAN的绕道成本变高,这减慢了所有公司通信的速度。大多数公司WAN的流量都或者来自因特网或者发往因特网。通过因特网发送这种流量的替代安全方案由于性能差且不可靠而不够用。

技术实现思路

[0007]一些实施例在一个或多个区域(例如,若干城市、州、国家等)中的一个或多个公共云提供者的若干公共云数据中心上为实体建立虚拟网络。可以为其建立这种虚拟网络的实体的示例包括商业实体(例如,公司)、非营利实体(例如,医院、研究机构等)和教育实体(例
如,大学、学院等)或任何其它类型的实体。公共云提供者的示例包括Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure等。
[0008]在一些实施例中,高速、可靠的私有网络互连公共云数据中心(公共云)中的两个或更多个。一些实施例将虚拟网络定义为跨越若干公共云以互连私有网络(例如,实体的分支、部(division)、部门(department)或其相关联的数据中心内的网络)、移动用户、SaaS(软件即服务)提供者的机器、(一个或多个)公共云中的机器和/或服务、以及其它web应用中的一者或多者的覆盖网络。
[0009]在一些实施例中,虚拟网络可以被配置为优化实体的数据消息到其目的地的路由,以获得最佳的端到端性能、可靠性和安全性,同时尝试最小化通过因特网的这种流量的路由。而且,在一些实施例中,虚拟网络可以被配置为优化通过网络的数据消息流的层4处理。例如,在一些实施例中,虚拟网络通过跨连接路径拆分速率控制机制来优化TCP(传输控制协议)连接的端到端速率。
[0010]一些实施例通过配置在若干公共云中部署的若干部件来建立虚拟网络。在一些实施例中,这些部件包括基于软件的测量代理、软件转发元件(例如,软件路由器、交换机、网关等)、层4连接代理和中间盒服务机器(例如,设备、VM、容器等)。在一些实施例中,这些部件中的一个或多个使用标准化或通常可用的解决方案,诸如Open vSwitch、Open VPN、strong Swan和Ryu。
[0011]一些实施例利用逻辑上集中的控制器集群(例如,一个或多个控制器服务器的集合),其配置公共云部件以在若干公共云上实现虚拟网络。在一些实施例中,这个集群中的控制器位于各种不同的位置(例如,位于不同的公共云数据中心中),以便改善冗余性和高可用性。在一些实施例中,控制器集群按比例扩展或收缩用于建立虚拟网络的公共云部件的数量或分配给这些部件的计算或网络资源的数量。
[0012]一些实施例在相同公共云提供者的相同公共云集合上和/或在相同或不同公共云提供者的不同公共云集合上为不同实体建立不同的虚拟网络。在一些实施例中,虚拟网络提供者提供软件和服务,该软件和服务允许不同的租户在相同或不同的公共云上定义不同的虚拟网络。在一些实施例中,相同的控制器集群或不同的控制器集群可以被用于配置公共云部件,以针对若干不同实体在相同或不同的公共云集合上实现不同的虚拟网络。
[0013]为了在一个或多个公共云上为租户部署虚拟网络,控制器集群(1)基于租户的分支机构、数据中心、移动用户和SaaS提供者的位置来识别用于进入和离开租户的虚拟网络的可能入口和出口路由器,以及(2)识别通过实现虚拟网络的其它中间公共云路由器从识别出的入口路由器遍历到识别出的出口路由器的路由。在识别出这些路由之后,控制器集群将这些路由传播到(一个或多个)公共云中虚拟网络路由器的转发表。在使用基于OVS的虚拟网络路由器的实施例中,控制器通过使用OpenFlow来分发路由。
[0014]前面的
技术实现思路
旨在用作本专利技术的一些实施例的简要介绍。它并不意味着是本文档中公开的所有专利技术性主题的介绍或概述。以下的具体实施方式和在具体实施方式中引用的附图说明将进一步描述在
技术实现思路
中描述的实施例以及其它实施例。因而,为了理解本文档描述的所有实施例,需要对
技术实现思路
、具体实施方式、附图说明和权利要求书的全面回顾。而且,要求保护的主题不受
技术实现思路
、具体实施方式和附图说明中的说明性细节的限制。
附图说明
[0015]在所附权利要求书中阐述了本专利技术的新颖特征。但是,出于解释的目的,在以下附图中阐述本专利技术的若干实施例。
[0016]图1A给出了在两个公共云提供者的若干公共云数据中心上为公司定义的虚拟网络。
[0017]图1B图示了在公共云上部署的两个公司租户的两个虚拟网络的示例。
[0018]图1C本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过至少两个不同的公共云提供者的至少两个公共云数据中心转发数据消息流的方法,所述方法包括:在第一公共云数据中心中的入口转发元件处,从公共云数据中心之外的第一外部机器接收被寻址到公共云数据中心之外的第二外部机器的数据消息,所述第二外部机器通过在第二公共云数据中心中的出口转发元件是能够到达的;用第一报头封装所述数据消息,所述第一报头包括用于所述入口转发元件和所述出口转发元件的网络地址作为源地址和目的地地址;以及用第二报头封装所述数据消息,所述第二报头指定源网络地址和目的地网络地址作为所述入口转发元件的网络地址以及下一跳转发元件的网络地址,所述下一跳转发元件在公共云数据中心中并且是到所述出口转发元件的路径上的下一跳。2.如权利要求1所述的方法,其中所述下一跳转发元件在第三公共云数据中心中。3.如权利要求2所述的方法,其中第一公共云数据中心、第二公共云数据中心和第三公共云数据中心属于三个不同的公共云提供者。4.如权利要求2所述的方法,其中第一公共云数据中心和第二公共云数据中心属于第一公共云提供者,而第三公共云数据中心属于不同的第二公共云提供者。5.如权利要求2所述的方法,其中第一公共云数据中心和第二公共云数据中心属于两个不同的公共云提供者,而第三公共云数据中心属于第一公共云数据中心或第二公共云数据中心的公共云提供者。6.权利要求2的方法,其中下一跳传送元件是第一下一跳转发元件,以及第一下一跳转发元件将沿着所述路径的第二下一跳转发元件识别为数据消息的下一跳,并且在第二报头中将源网络地址和目的地网络地址指定为第一下一跳转发元件和第二下一跳转发元件的网络地址。7.如权利要求6所述的方法,其中,所述第二下一跳转发元件是所述出口转发元件。8.如权利要求7所述的方法,其中,在接收到封装的数据消息之后,所述出口转发元件根据第一报头中的所述目的地网络地址确定封装的数据消息被寻址到所述出口转发元件,从所述数据消息中移除第一报头和第二报头,并且将所述数据消息转发到第二外部机器。9.如权利要求6所述的方法,其中,所述第二下一跳转发元件是不同于所述出口转发元件的第四转发元件。10.如权利要求1所述的方法,其中,所述下一跳转发元件是所述出口转发元件。11.如权利要求1所述的方法,还包括:在所述入口转发元件和所述出口转发元件处处理属于虚拟网络提供者的不同租户的数据消息,所述虚拟网络提供者在公共云数据中心上为所述不同租户定义不同的虚拟网络;在封装所接收到的消息的第一报头中,存储识别与第一外部机器和第二外部机器相关联的租户的租户标识符。12.如权利要求11所述的方法,其中用第一报头和第二报头封装所述数据消息为第一租户定义了覆盖虚拟网络,所述覆盖虚拟网络跨越包括第一公共云数据中心和第二公共云
数据中心的一组公共云数据中心的一组网络。13.如权利要求12所述的方法,其中所述租户是公司,并且所述虚拟网络是公司广域网WAN。14.如权利要求1所述的方法,其中第一外部机器是第一分支机构中的机器、私有第一数据中心中的机器或远程机器中的一个,以及第二外部机器是第二分支机构中的机器或私有第二数据中心中的机器。15.一种通过在多个公共云数据中心上为虚拟网络提供者的多个租户定义的多个虚拟网络来路由数据消息流的方法,所述方法包括:在第一租户的第一虚拟网络的入口转发元件处,从公共云数据中心之外的外部机器接收数据消息;确定所述数据消息与第一租户相关联;执行第一查找操作以识别所述数据消息应当在其处离开第一虚拟网络的出口转发元件;基于所识别的出口转发元件,执行第二查找操作以识别要接收所述数据消息的下一跳转发元件;以及将封装的数据消息转发给所述下一跳转发元件。16.如权利要求15所述的方法,其中执行第一查找操作和第二查找操作包括:检查第一虚拟网络的路由表的第一部分,以识别所述数据消息应当在其处离开第一虚拟网络的所述出口转发元件的网络地址;以及基于所述出口转发元件的网络地址,检查所述虚拟网络提供者的所述路由表的第二部分,以识别与要接收所述数据消息的所述下一跳转发元件相关联的本地接口或网络地址。17.如权利要求16所述的方法,其中将所述封装的数据消息转发到所述下一跳转发元件包括:用至少一个封装报头来封装所述数据消息,所述至少一个封装报头包括所述下一跳转发元件的网络地址、所述入口转发元件的网络地址和所述出口转发元件的网络地址。18.如权利要求15所述的方法,其中执行第一查找操作和第二查找操作包括:检查第一虚拟网络的第一路由表,以识别所述数据消息应当在其处离开第一虚拟网络的出口转发元件的网络地址;以及基于所述出口转发元件的网络地址,检查所述虚拟网络提供者的第二路由表,以识别要接收所述数据消息的所述下一跳转发元件的本地接口或网络地址。19.如权利要求18所述的方法,其中将所述封装的数据消息转发到所述下一跳转发元件包括:用至少一个封装报头来封装所述数据消息,所述至少一个封装报头包括所述下一跳转发元件的网络地址、所述入口转发元件的网络地址和所述出口转发元件的网络地址。20.如权利要求15所述的方法,其中,第二查找操作将所述入口转发元件的本地接口识别为连接到所述下一跳转发元件;其中,所述封装的数据消息的所述转发包括:将所述数据消息提供给所述本地接口以将所述数据消息转发到所述下一跳转发元件;其中,所述下一跳转发元件是所述出口转发元件。
21.如权利要求15所述的方法,进一步包括基于在第二查找操作中识别的所述下一跳转发元件的网络地址,执行第三查找操作以识别连接到所述下一跳转发元件的所述入口转发元件的本地接口,其中,所述封装的数据消息的所述转发包括:将所述数据消息提供给所述本地接口以将所述数据消息转发到所述下一跳转发元件,并且所述下一跳转发元件不是所述出口转发元件。22.如权利要求15所述的方法,其中所述转发元件是软件转发元件。23.如权利要求22所述的方法,其中第一查找操作和第二查找操作是通过参考所述软件转发元件的虚拟路由和转发VRF命名空间的不同部分来执行的。24.一种用于在多个公共云提供者的多个公共云数据中心上为实体建立虚拟网络的方法,所述方法包括:在由第一公共云提供者和第二公共云提供者操作的第一多租户公共云数据中心和第二多租户公共云数据中心中,部署转发元件的第一集合和第二集合;配置被部署在第一公共云数据中心和第二公共云数据中心中的测量代理集合,以获得关于第一集合和第二集合中的转发元件之间的连接的测量;基于获得的测量,定义通过转发元件的第一集合和第二集合的虚拟网络路由;以及将所述路由分布到转发元件的第一集合和第二集合,以配置这些元件来实现所述虚拟网络。25.如权利要求24所述的方法,其中所述测量包括量化所述连接的数据消息吞吐速度的测量。26.如权利要求24所述的方法,其中所述测量包括量化所述连接的数据消息损失值或延迟值的测量。27.如权利要求24所述的方法,其中所述实体和所述虚拟网络是第一实体和第一虚拟网络,所述方法还包括:定义通过第一转发元件集合的至少一个子集和所述第二转发元件集合的至少一个子集的虚拟网络路由,以便定义用于第二实体的第二虚拟网络。28.如权利要求24所述的方法,还包括提供控制器的集合,以聚合所述测量,并且基于所聚合的测量来定义所述虚拟网络路由。29.如权利要求28所述的方法,其中所述虚拟网络路由是通过用封装报头来封装穿过这些路由的数据消息而建立的覆盖路由,所述封装报头存储用于进入和离开所述虚拟网络的入口转发元件的网络地址和出口转发元件的网络地址以及用于识别穿过所述虚拟网络的下一跳目的地的下一跳转发元件的网络地址。30.如权利要求29所述的方法,其中所述转发元件的至少一个子集还被配置为:实现用于其它实体的虚拟网络,其中所述封装报头还存储识别与所述数据消息相关联的实体的实体标识符值。31.如权利要求24所述的方法,其中所述虚拟网络是连接所述实体的多个不同机器位置处的机器的虚拟广域网WAN,所述位置包括办公室位置、数据中心位置、远程设备位置、以及软件即服务SaaS提供者位置中的至少两个。32.如权利要求24所述的方法,其中第一数据中心和第二数据中心处于不同区域中。33.如权利要求32所述的方法,其中所述不同区域是不同城市、不同州、或不同国家。
34.如权利要求24所述的方法,其中所述测量代理通过向彼此发送查验消息以测量信号时延来获得测量。35.如权利要求24所述的方法,其中所述测量代理通过向彼此发送查验消息以测量信号丢弃率来获得测量。36.一种通过在多个公共云数据中心上为实体定义的虚拟网络来路由数据消息流的方法,所述方法包括:在每个公共云数据中心处,至少部署路由器,用于将数据消息转发至其它公有云数据中心中的其它MFN的路由器;部署至少一个测量代理,以获得关于公共云数据中心之间的网络连接的测量,并且将所述测量提供给控制器集合,所述控制器集合(i)从其它公共云数据中心中的测量代理接收其它测量,并且(ii)基于所收集的测量,生成用于所述路由器的路由表;提供从所述控制器集合到所述公共云数据中心的所述路由器的至少一个路由表,以用于通过所述虚拟网络转发数据消息。37.一种将外部机器的位置连接到在多个公共云数据中心上定义的虚拟网络的方法,所述方法包括:发送域名服务器DNS请求,以从所述多个公共云数据中心处的多个受管理的转发节点MFN中识别特定MFN,所述多个受管理的转发节点是用于将所述外部机器位置连接到所述虚拟网络的候选边缘MFN;响应于所述DNS请求,接收识别所述特定MFN的标识符;以及在所述外部机器位置和所述特定MFN之间建立网络连接,以便将所述外部机器位置连接到所述虚拟网络。38.如权利要求37所述的方法,还包括:在确定需要在所述外部机器位置和所述虚拟网络之间建立网络连接之后,执行发送、接收和建立操作。39.如权利要求38所述的方法,还包括:周期性地确定、发送、接收和建立,以便确保所述外部机器位置的所述边缘MFN是所述外部机器位置的最佳边缘MFN。40.如权利要求38所述的方法,其中所述确定基于对需要在所述外部机器位置和所述虚拟网络之间建立虚拟专用网络VPN连接的确定,并且其中所建立的网络连接是VPN连接。41.如权利要求37所述的方法,其中所述外部机器位置是所述实体的私有数据中心或办公室。42.如权利要求37所述的方法,其中所述多个MFN是候选入口边缘MFN/出口边缘MFN,并且所述特定MFN是用于以下的所选择的入口MFN/出口MFN:(i)用于将数据消息从所述外部机器位置接收到所述虚拟网络中以转发到所述实体的连接到所述虚拟网络的其它外部机器,以及(ii)用于将数据消息从所述实体的其它外部机器通过所述虚拟网络供应到所述外部机器位置。43.如权利要求37所述的方法,其中发送、接收和建立操作由所述外部机器位置处的虚拟网络网关执行。44.如权利要求37所述的方法,其中发送所述DNS请求包括将所述DNS请求发送到一个或多个公共云中的一个或多个权威DNS机器的集合。45.如权利要求44所述的方法,其中
由虚拟网络提供者在所述公共云数据中心中部署所述虚拟网络,所述虚拟网络提供者管理特定域并且通过公共云数据中心为其它实体部署其它虚拟网络;以及到权威DNS机器的所述集合的DNS请求包括通过级联至少三个标签形成的分层域名,其中最右侧的第一标签识别特定域,第一标签左侧的第二标签识别该实体,并且如果该实体具有多于一个外部机器位置,则第二标签左侧的第三标签识别该实体的外部机器位置。46.如权利要求37所述的方法,其中接收所述标识符包括:接收用于至少两个MFN的至少两个标识符的集合,所述方法还包括选择所述两个MFN中的一个MFN作为所述边缘MFN。47.如权利要求46所述的方法,其中选择所述两个MFN中的一个MFN包括:向由所接收到的两个标识符识别的所述两个MFN中的每个MFN发送需要回复的消息;...

【专利技术属性】
技术研发人员:I
申请(专利权)人:VM维尔股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1