一种异构云网络互通系统及方法转让专利

申请号 : CN201811296022.1

文献号 : CN111130973B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晓帆古亮

申请人 : 深信服科技股份有限公司

摘要 :

本发明公开了一种异构云网络互通系统,包括:至少两个归属于不同厂商的云平台,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的代理模块形成相应用户对应的跨云覆盖网,集中式网关用于相应用户对应的跨云覆盖网的二、三层流量转发;代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、DVS单元、第二虚拟网卡、及与DVS单元连接的DFW单元。应用本发明实施例所提供的技术方案,通过代理模块和集中式网关,使得异构云的网络层架构相同,实现真正的网络互通,部署方式简单,降低了运维难度。本发明还公开了一种异构云网络互通方法,具有相应技术效果。

权利要求 :

1.一种异构云网络互通系统,其特征在于,包括:至少两个归属于不同厂商的云平台,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的代理模块形成相应用户对应的跨云覆盖网,所述集中式网关用于相应用户对应的跨云覆盖网的二、三层流量转发;

所述代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、及与所述DVS单元连接的分布式虚拟防火墙DFW单元,所述第一虚拟网卡与用户程序模块连接,所述第二虚拟网卡与自身所在的云平台的虚拟机管理层中的虚拟交换机连接,所述第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址段,所述第二虚拟网卡使用自身所在的云平台分配的IP地址,所述第一TEP与所述集中式网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道。

2.根据权利要求1所述的异构云网络互通系统,其特征在于,所述第一TEP,用于:在接收到所述第一虚拟网卡发送的第一数据包时,在所述第一数据包中加入所述覆盖网隧道的头部;

对所述第一数据包进行封装处理;

并通过所述第二虚拟网卡将封装后的所述第一数据包转发出去。

3.根据权利要求2所述的异构云网络互通系统,其特征在于,所述第一TEP,还用于:在接收到所述第二虚拟网卡发送的第二数据包时,对所述第二数据包进行解封装处理;

在所述第二数据包中去掉所述覆盖网隧道的头部;

并通过所述第一虚拟网卡将所述第二数据包的有效载荷发送给所述用户程序模块。

4.根据权利要求1所述的异构云网络互通系统,其特征在于,所述集中式网关,用于:在接收到互联网发起的对自身所在云平台的第一虚拟机的第三数据包时,将所述第三数据包中的目的IP地址转换为所述第一虚拟机的第一虚拟网卡的IP地址;

在所述第三数据包中加入所述覆盖网隧道的头部,经自身所在云平台的虚拟交换机发送给所述第一虚拟机。

5.根据权利要求4所述的异构云网络互通系统,其特征在于,所述集中式网关,还用于:在接收到自身所在云平台的第二虚拟机对外网的第四数据包时,去掉所述第四数据包的所述覆盖网隧道的头部;

将所述第四数据包中的源IP地址转换为自身的公网IP地址,修改源端口号,并经由自身所在云平台的虚拟交换机和虚拟路由器进入互联网。

6.根据权利要求1所述的异构云网络互通系统,其特征在于,所述集中式网关,用于:在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将所述第五数据包的VPN隧道头部剥离,获得所述跨云覆盖网封装的报文;

将所述跨云覆盖网封装的报文发送给所述第三虚拟机的代理模块,以由所述第三虚拟机的代理模块进行解封装后,将原始报文发送给所述第三虚拟机的用户程序模块;

所述第五数据包为:在所述第一云平台处经过所述跨云覆盖网封装、加入所述VPN隧道头部的数据包。

7.根据权利要求6所述的异构云网络互通系统,其特征在于,所述集中式网关,还用于:在接收到自身所在第二云平台的第四虚拟机发起的对所述第一云平台的第五虚拟机的第六数据包时,如果确定所述第六数据包需通过VPN隧道发往所述第一云平台,则在所述第六数据包上加上所述VPN隧道头部;

通过所述第二云平台的虚拟交换机和虚拟路由器发送给所述第一云平台;

所述第六数据包为:经过所述第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。

8.根据权利要求1至7之中任一项所述的异构云网络互通系统,其特征在于,所述代理模块为所述跨云覆盖网的微分段拦截点。

9.一种异构云网络互通方法,其特征在于,应用于第二云平台上部署的集中式网关,在包括所述第二云平台的至少两个归属于不同厂商的云平台的每个云平台,针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的代理模块形成相应用户对应的跨云覆盖网,所述集中式网关用于相应用户对应的跨云覆盖网的二、三层流量转发;所述代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、及与所述DVS单元连接的分布式虚拟防火墙DFW单元,所述第一虚拟网卡与用户程序模块连接,所述第二虚拟网卡与自身所在的云平台的虚拟机管理层中的虚拟交换机连接,所述第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址段,所述第二虚拟网卡使用自身所在的云平台分配的IP地址,所述第一TEP与所述集中式网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道,所述方法包括:

在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将所述第五数据包的VPN隧道头部剥离,获得所述跨云覆盖网封装的报文;

将所述跨云覆盖网封装的报文发送给所述第三虚拟机的代理模块,以由所述第三虚拟机的代理模块进行解封装后,将原始报文发送给所述第三虚拟机的用户程序模块;

所述第五数据包为:在所述第一云平台处经过所述跨云覆盖网封装、加入所述VPN隧道头部的数据包。

10.根据权利要求9所述的异构云网络互通方法,其特征在于,还包括:在接收到自身所在第二云平台的第四虚拟机发起的对所述第一云平台的第五虚拟机的第六数据包时,如果确定所述第六数据包需通过VPN隧道发往所述第一云平台,则在所述第六数据包上加上所述VPN隧道头部;

通过所述第二云平台的虚拟交换机和虚拟路由器发送给所述第一云平台;

所述第六数据包为:经过所述第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。

说明书 :

一种异构云网络互通系统及方法

技术领域

[0001] 本发明涉及计算机应用技术领域,特别是涉及一种异构云网络互通系统及方法。

背景技术

[0002] 随着云计算技术的快速发展,各种云平台的应用越来越广泛,不同厂商的云平台涉及不同的底层网络的实现和管理,使得同时使用多个厂商的云平台,部署在不同区域的
异构云网络的打通一直是个难题。
[0003] 目前,主要通过VPN(Virtual Private Network,虚拟专用网络)实现异构云的三层互通。
[0004] 但是,这种方式只实现了异构云的基本互通,不同云平台仍然不对等,无法统一,虚拟机在迁移时,网络配置、安全策略必须更改,才能在迁移后的平台上正常运行,加大了
运维难度。

发明内容

[0005] 本发明的目的是提供一种异构云网络互通系统及方法,以实现异构云真正的网络互通,部署方式简单,降低了运维难度。
[0006] 为解决上述技术问题,本发明提供如下技术方案:
[0007] 一种异构云网络互通系统,包括:
[0008] 至少两个归属于不同厂商的云平台,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的
代理模块形成相应用户对应的跨云覆盖网,所述集中式网关用于相应用户对应的跨云覆盖
网的二、三层流量转发;
[0009] 所述代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、及与所述DVS单元连接的分布式虚拟防火墙DFW单元,所述
第一虚拟网卡与用户程序模块连接,所述第二虚拟网卡与自身所在的云平台的虚拟机管理
层中的虚拟交换机连接,所述第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地
址段,所述第二虚拟网卡使用自身所在的云平台分配的IP地址,所述第一TEP与所述集中式
网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道。
[0010] 在本发明的一种具体实施方式中,所述第一TEP,用于:
[0011] 在接收到所述第一虚拟网卡发送的第一数据包时,在所述第一数据包中加入所述覆盖网隧道的头部;
[0012] 对所述第一数据包进行封装处理;
[0013] 并通过所述第二虚拟网卡将封装后的所述第一数据包转发出去。
[0014] 在本发明的一种具体实施方式中,所述第一TEP,还用于:
[0015] 在接收到所述第二虚拟网卡发送的第二数据包时,对所述第二数据包进行解封装处理;
[0016] 在所述第二数据包中去掉所述覆盖网隧道的头部;
[0017] 并通过所述第一虚拟网卡将所述第二数据包的有效载荷发送给所述用户程序模块。
[0018] 在本发明的一种具体实施方式中,所述集中式网关,用于:
[0019] 在接收到互联网发起的对自身所在云平台的第一虚拟机的第三数据包时,将所述第三数据包中的目的IP地址转换为所述第一虚拟机的第一虚拟网卡的IP地址;
[0020] 在所述第三数据包中加入所述覆盖网隧道的头部,经自身所在云平台的虚拟交换机发送给所述第一虚拟机。
[0021] 在本发明的一种具体实施方式中,所述集中式网关,还用于:
[0022] 在接收到自身所在云平台的第二虚拟机对外网的第四数据包时,去掉所述第四数据包的所述覆盖网隧道的头部;
[0023] 将所述第四数据包中的源IP地址转换为自身的公网IP地址,修改源端口号,并经由自身所在云平台的虚拟交换机和虚拟路由器进入互联网。
[0024] 在本发明的一种具体实施方式中,所述集中式网关,用于:
[0025] 在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将所述第五数据包的VPN隧道头部剥离,获得所述跨云覆盖网封装的报文;
[0026] 将所述跨云覆盖网封装的报文发送给所述第三虚拟机的代理模块,以由所述第三虚拟机的代理模块进行解封装后,将原始报文发送给所述第三虚拟机的用户程序模块;
[0027] 所述第五数据包为:在所述第一云平台处经过所述跨云覆盖网封装、加入所述VPN隧道头部的数据包。
[0028] 在本发明的一种具体实施方式中,所述集中式网关,还用于:
[0029] 在接收到自身所在第二云平台的第四虚拟机发起的对所述第一云平台的第五虚拟机的第六数据包时,如果确定所述第六数据包需通过VPN隧道发往所述第一云平台,则在
所述第六数据包上加上所述VPN隧道头部;
[0030] 通过所述第二云平台的虚拟交换机和虚拟路由器发送给所述第一云平台;
[0031] 所述第六数据包为:经过所述第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。
[0032] 在本发明的一种具体实施方式中,所述代理模块为所述跨云覆盖网的微分段拦截点。
[0033] 一种异构云网络互通方法,应用于第二云平台上部署的集中式网关,在包括所述第二云平台的至少两个归属于不同厂商的云平台的每个云平台,针对每个用户均部署有集
中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚
拟机的代理模块形成相应用户对应的跨云覆盖网,所述集中式网关用于相应用户对应的跨
云覆盖网的二、三层流量转发;所述代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧
道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、及与所述DVS单元连接的分布式虚拟
防火墙DFW单元,所述第一虚拟网卡与用户程序模块连接,所述第二虚拟网卡与自身所在的
云平台的虚拟机管理层中的虚拟交换机连接,所述第一虚拟网卡使用与相应用户对应的跨
云覆盖网一致的IP地址段,所述第二虚拟网卡使用自身所在的云平台分配的IP地址,所述
第一TEP与所述集中式网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道,所述方法包
括:
[0034] 在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将所述第五数据包的VPN隧道头部剥离,获得所述跨云覆盖网封装的报文;
[0035] 将所述跨云覆盖网封装的报文发送给所述第三虚拟机的代理模块,以由所述第三虚拟机的代理模块进行解封装后,将原始报文发送给所述第三虚拟机的用户程序模块;
[0036] 所述第五数据包为:在所述第一云平台处经过所述跨云覆盖网封装、加入所述VPN隧道头部的数据包。
[0037] 在本发明的一种具体实施方式中,还包括:
[0038] 在接收到自身所在第二云平台的第四虚拟机发起的对所述第一云平台的第五虚拟机的第六数据包时,如果确定所述第六数据包需通过VPN隧道发往所述第一云平台,则在
所述第六数据包上加上所述VPN隧道头部;
[0039] 通过所述第二云平台的虚拟交换机和虚拟路由器发送给所述第一云平台;
[0040] 所述第六数据包为:经过所述第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。
[0041] 应用本发明实施例所提供的技术方案,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机
的代理模块形成相应用户对应的跨云覆盖网,所述集中式网关用于相应用户对应的跨云覆
盖网的二、三层流量转发,所述代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终
端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、及与所述DVS单元连接的分布式虚拟防火
墙DFW单元,所述第一虚拟网卡与用户程序模块连接,所述第二虚拟网卡与自身所在的云平
台的虚拟机管理层中的虚拟交换机连接,所述第一虚拟网卡使用与相应用户对应的跨云覆
盖网一致的IP地址段,所述第二虚拟网卡使用自身所在的云平台分配的IP地址,所述第一
TEP与所述集中式网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道。通过代理模块和
集中式网关,使得异构云的网络层架构相同,实现真正的网络互通,部署方式简单,降低了
运维难度。

附图说明

[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0043] 图1为本发明实施例中一种异构云网络互通系统的结构示意图;
[0044] 图2为本发明实施例中代理模块的内部结构示意图;
[0045] 图3为本发明实施例中集中式网关的功能结构示意图;
[0046] 图4为本发明实施例中不同云平台间的VPN隧道流量走向示意图;
[0047] 图5为本发明实施例中跨云覆盖网的同子网内二层交换/三层路由过程示意图;
[0048] 图6为本发明实施例中一种异构云网络互通方法的实施流程图。

具体实施方式

[0049] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 本发明的核心是提供一种异构云网络互通系统,该异构云网络互通系统包括至少两个归属与不同厂商的云平台,每个云平台针对每个用户均部署有集中式网关(cloud 
gateway,CGW),每个云平台的每个用户的每个虚拟机中均部署有代理模块agent,每个用户
的各个虚拟机的代理模块形成相应用户对应的跨云覆盖网,集中式网关用于相应用户对应
的跨云覆盖网的二、三层流量转发。代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧
道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡及与DVS单元连接的分布式虚拟防火墙
DFW单元,第一虚拟网卡与用户程序连接,第二虚拟网卡与自身所在的云平台的虚拟机管理
层中的虚拟交换机连接,第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址
段,第二虚拟网卡使用自身所在的云平台分配的IP地址,第一TEP与集中式网关中的第二
TEP通信,以建立、拆除和管理覆盖网隧道。
[0051] 如图1所示,为本发明实施例所提供的一种异构云网络互通系统的结构示意图,该系统包括云平台100(云平台1)和云平台200(云平台2),云平台100和云平台200可以通过互
联网Internet进行流量交互。云平台200上部署有集中式网关210、虚拟机220(VM3)、虚拟机
230(VM4)、VPN模块240、虚拟路由器250和虚拟交换机260,每个虚拟机中均部署有代理模块
agent。云平台100上部署有虚拟机110(VM2)、虚拟机120(VM1)、云管理平台(Cloud 
Management Platform,CMP)130、集中式网关140、虚拟交换机150、虚拟路由器160和VPN模
块170,云管理平台130可运行在虚拟机中,每个虚拟机中均部署有代理模块agent。
[0052] 其中,虚拟机和集中式网关可以运行在云平台的虚拟机层,虚拟交换机、虚拟路由器和VPN模块可以运行在云平台的虚拟机管理hypervisor层。hypervisor为所有虚拟化的
核心,基本功能为非中断地支持多工作负载迁移,当服务器启动并执行hypervisor时,其会
给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
[0053] 在任意一个云平台中,VPN模块用于与其他云平台的VPN模块或集中式网关的VPN单元建立层二(L2)的VPN隧道或层三(L3)的VPN隧道,以承载不同云平台之间的通信流量。
VPN隧道可以承载在Internet、MPLS(Multiprotocol Label Switching,多协议标签交换)
网络或专线上。
[0054] 虚拟交换机用于二层交换,配置访问控制列表实现微分段,同时,其也具备TEP(Tunnel End Point,覆盖网隧道终端)功能。
[0055] 虚拟路由器用于三层路由及网关服务,即策略路由、NAT(Network Address Translation,网络地址转换,实现内网IP地址和外网IP地址间的映射及逆映射)等功能。
[0056] 云管理平台用于为用户提供用户界面(User Interface,UI),调用集中式网关的轻量级控制器提供的API接口来管理混合云网络。用户界面包括微分段的访问控制列表
(Access Control List,ACL)配置界面、流量及访问关系可视界面、二三层网络配置界面、
其他网络服务配置界面等。在本发明实施例中,云管理平台可以为第三方管理平台,该第三
方管理平台需可使用集中式网关提供的网络和微分段相关的API的能力,能够有相应UI供
客户配置及展示流量及访问关系。
[0057] 虚拟机通过与集中式网关交互可以下载和安装代理agent,在虚拟机中配置代理模块。每个虚拟机的代理模块实现相应跨云覆盖网隧道相关功能,即跨云覆盖网隧道的建
立、拆除和配置管理,覆盖网数据包的封装解封装等。
[0058] 如图2所示,为虚拟机中代理模块的内部结构示意图,第二虚拟网卡为虚拟机原来的虚拟网卡,连接自身所在云平台hypervisor上的虚拟交换机。第二虚拟网卡使用自身所
在云平台分配的IP地址,第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址
段,用户程序模块只与第一虚拟网卡交互。第一TEP与集中式网关中的第二TEP通信,以建
立、拆除和管理覆盖网隧道。
[0059] DVS(distributed virtual switch,分布式虚拟交换机)单元用于所有子网的二层转发,包括MAC学习及转发、多播和广播,与集中式网关的轻量级控制器结合,可以实现
ARP抑制或ARP代答,避免大规模网络中出现大量ARP请求报文。虚拟机所有覆盖网流量的转
发,都要经过这个单元。
[0060] DFW(distributed firewall,分布式虚拟防火墙)单元为多云环境中微分段的关键组件,负责利用linux的iptables机制或windows的WFP/防火墙来配置和执行ACL策略。用
于记录ACL策略的命中率、流量被哪些ACL放行或拒绝,并将信息回传给集中式网关的轻量
级控制器,继而回传给云管理平台,在用户界面上实现微分段的流量及访问关系可视。在云
管理平台,ACL可以通过VM标签、安全域标签、五元组等进行设置,云管理平台会将其转化为
对应的五元组(这里云管理平台也可以不转换,留给集中式网关去转换),下发给对应的集
中式网关,并由集中式网关将其转化代理模块可识别的方式,代理模块的DFW收到配置信息
后,转化为iptables或WFP指令,对虚拟机的DFW单元进行配置。
[0061] 第一TEP在接收到第一虚拟网卡发送的第一数据包时,在第一数据包中加入覆盖网隧道的头部,对第一数据包进行封装处理,并通过第二虚拟网卡将封装后的第一数据包
转发出去。在接收到第二虚拟网卡发送的第二数据包时,对第二数据包进行解封装处理,在
第二数据包中去掉覆盖网隧道的头部,并通过第一虚拟网卡将第二数据包的有效载荷
payload发送给用户程序模块。
[0062] 集中式网关即云网关,每个专有网络(Virtual Private Cloud,VPC)部署一个,以虚拟机VM形式部署。实现微分段、二、三层流量转发等功能。集中式网关与管理面的云管理
平台通信,将来自云管理平台的配置信息下发到对应的代理模块上,与其他的集中式网关
的轻量级控制器同步信息。
[0063] 图3所示为集中式网关的功能结构示意图,包括轻量级控制器、第二TEP、虚拟路由单元、NAT单元、DHCP单元、VPN单元等。
[0064] 其中,轻量级控制器用于与其他云平台的集中式网关的轻量级控制器和云管理平台通信,修改集中式网关上其他功能单元的配置,并将集中式网关所负责VPC区域内的网络
拓扑及安全信息发送给云管理平台。
[0065] 第二TEP用于与虚拟机的代理模块上的第一TEP通信,以建立、拆除和管理覆盖网隧道。覆盖网隧道可以为GRE、VXLAN、STT、NVGRE、Geneve等。
[0066] 虚拟路由单元为集中式虚拟路由,跨云覆盖网上跨子网的流量、云平台之间的通信流量、进出外网的流量,都经过虚拟路由单元进行处理。具备DHCP、NAT、VPN等单元的功
能。DHCP单元负责给虚拟机的第一虚拟网卡分配IP地址,与云管理平台负责混合云的IP地
址分配,通过集中式网关的轻量级控制器,对不同云平台的DHCP服务与集中式网关的DHCP
服务的信息进行同步,保证两者不会重复分配IP地址。
[0067] 在用户没有公网IP的情况下,或者用户没有给集中式网关配置公网IP的情况下,集中式网关没有公网IP,其相应的VPN单元、NAT单元的功能不会开启。如果集中式网关中配
置了公网IP,则集中式网关中VPN单元、NAT单元的功能也将开启,在集中式网关所在的VPC
中取代原云平台提供的VPN、NAT服务。
[0068] 本发明实施例通过集中式网关和各虚拟机中的代理模块在不同云平台的虚拟网络层之上再增加一层跨云覆盖网,使得不同云平台的网络层架构相同,实现同一个二层网
络。
[0069] 覆盖网即Overlay Network,在底层网络上,通过隧道等技术搭建起来的逻辑网络。上层覆盖网对于底层网络来说是透明的,底层网络无法感知上层覆盖网的存在。
[0070] 应用本发明实施例所提供的系统,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的
代理模块形成相应用户对应的跨云覆盖网,集中式网关用于相应用户对应的跨云覆盖网的
二、三层流量转发,代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布
式虚拟交换DVS单元、第二虚拟网卡、及与DVS单元连接的分布式虚拟防火墙DFW单元,第一
虚拟网卡与用户程序模块连接,第二虚拟网卡与自身所在的云平台的虚拟机管理层中的虚
拟交换机连接,第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址段,第二虚
拟网卡使用自身所在的云平台分配的IP地址,第一TEP与集中式网关中的第二TEP通信,以
建立、拆除和管理覆盖网隧道。通过代理模块和集中式网关,使得异构云的网络层架构相
同,实现真正的网络互通,部署方式简单,降低了运维难度。
[0071] 在本发明的一种具体实施方式中,集中式网关用于在接收到互联网发起的对自身所在云平台的第一虚拟机的第三数据包时,将第三数据包中的目的IP地址转换为第一虚拟
机的第一虚拟网卡的IP地址,在第三数据包中加入覆盖网隧道的头部,经自身所在云平台
的虚拟交换机发送给第一虚拟机;在接收到自身所在云平台的第二虚拟机对外网的第四数
据包时,去掉第四数据包的覆盖网隧道的头部,将第四数据包中的源IP地址转换为自身的
公网IP地址,修改源端口号,并经由自身所在云平台的虚拟交换机和虚拟路由器进入互联
网。
[0072] 在实际应用中,互联网Internet可以发起对任意一个云平台的第一虚拟机的访问或应答流量的第三数据包。对于任意一个云平台而言,该云平台的集中式网关在接收到第
三数据包时,可以通过NAT功能将第三数据包中的目的IP地址转换为第一虚拟机的第一虚
拟网卡的IP地址,然后通过第二TEP在第三数据包中加入覆盖网隧道的头部,经该云平台的
虚拟交换机发送给第一虚拟机。
[0073] 任意一个云平台的虚拟机可以发起对外网的访问或应答流量的第四数据包。对于任意一个云平台而言,集中式网关接收到第四数据包后,通过第二TEP先去掉第四数据包的
覆盖网隧道的头部,将第四数据包中的源IP地址转换为集中式网关的公网IP地址,修改源
端口号,再将修改后的第四数据包发送到该云平台的虚拟交换机,再经过该云平台的虚拟
路由器进入Internet。
[0074] 在本发明的一种具体实施方式中,集中式网关用于:
[0075] 在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将第五数据包的VPN隧道头部剥离,获得跨云覆盖网封装的报文,将跨云覆
盖网封装的报文发送给第三虚拟机的代理模块,以由第三虚拟机的代理模块进行解封装
后,将原始报文发送给第三虚拟机的用户程序模块,第五数据包为:在第一云平台处经过跨
云覆盖网封装、加入VPN隧道头部的数据包。
[0076] 在本发明实施例中,集中式网关的VPN单元利用公网IP可以与其他云平台的集中式网关的VPN单元建立起L3VPN隧道或L2VPN隧道,这样,不同云平台虚拟机之间的通信流量
都由这个VPN隧道来传输。该VPN隧道可以承载在Internet、专线或MPLS网络上。
[0077] 任意一个云平台,如第一云平台的虚拟机可以发起的对其他云平台,如第二云平台的第三虚拟机的访问或应答流量的第五数据包。第五数据包为在第一云平台处经过跨云
覆盖网封装、加入预先建立的VPN隧道头部的数据包。第一云平台的集中式网关接收到第五
数据包时,通过VPN单元将第五数据包的VPN隧道头部剥离,将跨云覆盖网封装的报文通过
第二TEP发送给第三虚拟机的代理模块agent,第三虚拟机的代理模块进行解封装后,得到
原始报文,将原始报文发送给第三虚拟机的用户程序模块。
[0078] 在本发明的一种具体实施方式中,集中式网关还用于:
[0079] 在接收到自身所在第二云平台的第四虚拟机发起的对第一云平台的第五虚拟机的第六数据包时,如果确定第六数据包需通过VPN隧道发往第一云平台,则在第六数据包上
加上VPN隧道头部;
[0080] 通过第二云平台的虚拟交换机和虚拟路由器发送给第一云平台;
[0081] 第六数据包为:经过第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。
[0082] 集中式网关所在云平台的虚拟机可以发起对其他云平台的虚拟机的数据包。第二云平台的第四虚拟机发起对第一云平台的虚拟机的访问或应答流量时,数据包经过第四虚
拟机的代理模块可以进行跨云覆盖网封装,得到第六数据包。第二云平台的集中式网关接
收到自身所在第二云平台的第四虚拟机发起的对第一云平台的第五虚拟机的第六数据包
时,如果确定第六数据包需通过VPN隧道发往第一云平台,则可以在第六数据包上加上VPN
隧道头部,通过第二云平台的虚拟交换机和虚拟路由器发送给第一云平台,由第一云平台
进行进一步处理,最终发往第五虚拟机。
[0083] 具体的不同云平台间的VPN隧道流量走向如图4粗实线所示,云平台1的VM2发起的对云平台2的VM4的访问或应答流量,数据包在VM2的代理模块进行跨云覆盖网隧道封装后,
到达云平台1的集中式网关,云平台1的集中式网关的虚拟交换单元和/或虚拟路由单元确
定数据包是需要通过VPN隧道发往云平台2的,于是将报文给到VPN单元,给报文封装上VPN
隧道包头后,通过云平台1hypervisor的虚拟交换机和虚拟路由器,经由Internet发送到云
平台2的虚拟路由器。云平台2的虚拟路由器收到报文,通过预定义的路由策略,将报文发送
给云平台2的集中式网关,该集中式网关的VPN模块剥离数据包的VPN隧道头部,将带有跨云
覆盖网隧道封装的数据包通过第二TEP转发给VM4的代理模块。VM4的代理模块解封装后,将
原始报文通过第一虚拟网卡将原始数据包发送给用户程序模块。云平台2的虚拟机发起的
对云平台1的虚拟机的访问或应答流量,过程类似,不再赘述。
[0084] 在本发明实施例中,代理模块为跨云覆盖网的微分段拦截点。跨云覆盖网的同子网内二层交换/三层路由过程如图5所示,在图5中,虚拟机中的代理模块为微分段拦截点,
粗实线表示跨云覆盖网二层交换流量,粗虚线表示跨云覆盖网三层路由流量。
[0085] 相应于上面的方法实施例,本发明实施例还提供了一种异构云网络互通方法,应用于第二云平台上部署的集中式网关,在包括第二云平台的至少两个归属于不同厂商的云
平台的每个云平台,针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚
拟机中均部署有代理模块,每个用户的各个虚拟机的代理模块形成相应用户对应的跨云覆
盖网,集中式网关用于相应用户对应的跨云覆盖网的二、三层流量转发;代理模块包括依次
连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布式虚拟交换DVS单元、第二虚拟网卡、
及与DVS单元连接的分布式虚拟防火墙DFW单元,第一虚拟网卡与用户程序模块连接,第二
虚拟网卡与自身所在的云平台的虚拟机管理层中的虚拟交换机连接,第一虚拟网卡使用与
相应用户对应的跨云覆盖网一致的IP地址段,第二虚拟网卡使用自身所在的云平台分配的
IP地址,第一TEP与集中式网关中的第二TEP通信,以建立、拆除和管理覆盖网隧道,下文描
述的一种异构云网络互通方法与上文描述的一种异构云网络互通系统可相互对应参照。
[0086] 参见图6所示,该方法包括以下步骤:
[0087] S610:在接收到第一云平台的虚拟机发起的对自身所在的第二云平台的第三虚拟机的第五数据包时,将第五数据包的VPN隧道头部剥离,获得跨云覆盖网封装的报文;
[0088] S620:将跨云覆盖网封装的报文发送给第三虚拟机的代理模块,以由第三虚拟机的代理模块进行解封装后,将原始报文发送给第三虚拟机的用户程序模块;
[0089] 第五数据包为:在第一云平台处经过跨云覆盖网封装、加入VPN隧道头部的数据包。
[0090] 应用本发明实施例所提供的方法,每个云平台针对每个用户均部署有集中式网关,每个云平台的每个用户的每个虚拟机中均部署有代理模块,每个用户的各个虚拟机的
代理模块形成相应用户对应的跨云覆盖网,集中式网关用于相应用户对应的跨云覆盖网的
二、三层流量转发,代理模块包括依次连接的第一虚拟网卡、第一覆盖网隧道终端TEP、分布
式虚拟交换DVS单元、第二虚拟网卡、及与DVS单元连接的分布式虚拟防火墙DFW单元,第一
虚拟网卡与用户程序模块连接,第二虚拟网卡与自身所在的云平台的虚拟机管理层中的虚
拟交换机连接,第一虚拟网卡使用与相应用户对应的跨云覆盖网一致的IP地址段,第二虚
拟网卡使用自身所在的云平台分配的IP地址,第一TEP与集中式网关中的第二TEP通信,以
建立、拆除和管理覆盖网隧道。对于任意一个云平台的集中式网关,在接收到其他云平台的
虚拟机发起的对自身所在虚拟机的数据包时,将该数据包的VPN隧道头部剥离,将获得的跨
云覆盖网封装的报文发送给相应虚拟机的代理模块,由该代理模块进行解封装后,将原始
报文发送给相应虚拟机的用户程序模块。通过代理模块和集中式网关,使得异构云的网络
层架构相同,实现真正的网络互通,部署方式简单,降低了运维难度。
[0091] 在本发明的一种具体实施方式中,该方法还可以包括以下步骤:
[0092] 在接收到自身所在第二云平台的第四虚拟机发起的对第一云平台的第五虚拟机的第六数据包时,如果确定第六数据包需通过VPN隧道发往第一云平台,则在第六数据包上
加上VPN隧道头部;
[0093] 通过第二云平台的虚拟交换机和虚拟路由器发送给第一云平台;
[0094] 第六数据包为:经过第四虚拟机的代理模块进行跨云覆盖网封装后的数据包。
[0095] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0096] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本发明的范围。
[0097] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存
储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术
领域内所公知的任意其它形式的存储介质中。
[0098] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通
技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些
改进和修饰也落入本发明权利要求的保护范围内。