【技术实现步骤摘要】
创建跨多个公共云的虚拟网络
[0001]本申请是申请日为2018年10月1日、申请号为201880058539.9、名称为“创建跨多个公共云的虚拟网络”的专利技术专利申请的分案申请。
技术介绍
[0002]如今,公司企业网络是安全地连接公司的不同办公室和部的通信骨干。这种网络通常是广域网(WAN),它连接(1)分支机构和区域园区中的用户、(2)托管业务应用、内联网及其对应数据的公司数据中心,以及(3)通过公司防火墙和DMZ(非军事区)的全球因特网。企业网络包括专用硬件,诸如交换机、路由器和通过昂贵的租用线(诸如帧中继和MPLS(多协议标签交换))互连的中间盒设备。
[0003]在最近几年中,公司服务和消费通信服务的方式发生了范式转变。首先,移动性革命已允许用户使用移动设备(主要是智能电话)随时随地访问服务。此类用户通过公共因特网和蜂窝网络访问业务服务。同时,第三方SaaS(软件即服务)供应商(例如,Salesforce、Workday、Zendesk)已取代了传统的本地应用,而托管在私有数据中心中的其它应用已重定位到公共云。虽然这种流量仍在企业网络内承载,但其中很大一部分是在企业网络周边之外发起和终止的并且必须穿越公共因特网(一次或两次)以及企业网络两者。最近的研究表明,有40%的公司网络报告回传流量(即在公司网络中观察到的因特网流量)所占的百分比超过80%。这意味着公司流量的大部分都在昂贵的租用线和消费者因特网上承载。
[0004]作为以消费者为中心的服务,因特网本身是业务流量的坏媒介。它缺乏关键业务应用所预期的可靠 ...
【技术保护点】
【技术特征摘要】
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维尔股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。