一种虚拟机隔离方法和装置的制造方法

文档序号:9828054阅读:309来源:国知局
一种虚拟机隔离方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种虚拟机(Virtual Machine, VM)隔离方法和装置。
【背景技术】
[0002]虚拟私有云(Virtual Private Clouds,VPC)是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在用户和云服务提供商之间传输数据。
[0003]在现有实现中,同一物理服务器上可能会部署多个VM,多个VM被划分到不同的VPC中,当在物理服务器和网关之间使用通用路由协议封装(Generic RoutingEncapsulat1n,GRE)协议进行数据传输时,不同VPC之间的VM无法实现数据隔离。
[0004]具体参见图1,图1是现有技术一种VPC组网示意图,物理服务器中有虚拟机VM1、VM2、VM3、VM4,其中,VM1、VM2 被划分到 VPC1,VM3、VM4 被划分到 VPC2。由于 VM1、VM2、VM3、VM4部署在同一物理服务器,VPCl和VPC2共用一个网关。当物理服务器和网关之间建立GRE隧道并通过GRE隧道传输VM的数据流,数据流走相同的GRE隧道时,VM1、VM2、VM3、VM4的数据流量无法实现隔离。

【发明内容】

[0005]有鉴于此,本发明的目的在于一种VM隔离方法和装置,可以使用GRE隧道在VM所在物理服务器与网关设备之间传输数据时实现不同VPC的VM之间的数据隔离。
[0006]为了达到上述目的,本发明提供了如下技术方案:
[0007]—种VM隔离方法,应用于多个VPC共用的网关设备,其中,所述多个VPC分别属于不同VPN,网关设备中存储有各VPC信息及其所属VPN信息;各VPC的VM所在物理服务器与网关设备与之间建立有GRE隧道,该方法包括:
[0008]网关设备接收到用户侧的报文时,确定报文所属VPN,对报文进行GRE隧道封装并将该VPN对应的VPC信息携带在GRE封装报文头部,将GRE封装报文发往目的VM所在物理服务器;
[0009]网关设备接收到VM侧的GRE封装报文时,根据GRE封装报文的头部携带的VPC信息确定解封装报文所属VPN并解封装GRE封装报文,基于解封装报文所属VPN发送解封装报文。
[0010]—种VM隔离装置,应用于多个VPC共用的网关设备,其中,所述多个VPC分别属于不同VPN,网关设备中存储有各VPC信息及其所属VPN信息;网关设备与各VPC的VM所在物理服务器之间建立有GRE隧道,该装置应用于网关设备,包括:接收单元、处理单元、发送单元;
[0011]所述接收单元,用于接收用户侧的报文;用于接收VM侧的GRE封装报文;
[0012]处理单元,用于接收单元接收到来自用户侧的报文时,确定报文所属VPN,对报文进行GRE隧道封装并将该VPN对应的VPC信息携带在GRE封装报文的头部,指示发送单元将GRE封装报文发往目的VM所在物理服务器;用于接收单元接收到VM侧的GRE封装报文时,解封装GRE封装报文并根据GRE封装报文的头部携带的VPC信息确定解封装报文所属VPN,指示发送单元基于解封装报文所属VPN发送解封装报文。
[0013]由上面的技术方案可知,本发明中,网关设备与VM所在物理服务器之间通过GRE隧道传输VM的报文时,在GRE封装报文的头部携带VPC信息,通过GRE封装报文的头部携带的VPC信息的不同,将属于不同VPC的VM的报文区分开来,因此可以实现不同VPC的VM之间的流量隔离。
【附图说明】
[0014]图1是现有技术一种VPC组网不意图;
[0015]图2是现有技术GRE封装报文的头部格式示意图;
[0016]图3是本发明实施例GRE封装报文的头部格式示意图;
[0017]图4是本发明实施例一 VM隔离方法流程图;
[0018]图5是本发明实施例二 VM隔离方法流程图;
[0019]图6是本发明实施例VM隔离方法流程图;
[0020]图7是本发明实施例VM隔离装置的结构示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
[0022]本发明中,网关设备与VM所在物理服务器之间使用GRE隧道进行VM的报文的传输时,为了实现不同VPC的VM之间的流量隔离,在GRE隧道封装报文的头部携带VPC信息,以此区分属于不同VPC的VM的报文。
[0023]现有技术中,GRE封装报文的头部(简称GRE头部)格式如图2所示,包括协议类型(Protocol Type)、版本(Ver)、标志(Flags)等必要字段外,还包括检验码(Checksum)、偏移(Offset)、键值(Key)等可选字段。在本发明中,对GRE封装报文的头部进行扩展,利用Key字段承载VPC信息,具体如图3所示,其中的Key字段替换为VPC字段,其他字段保持不变。
[0024]以下结合两个具体的实施例对本发明实现原理进行详细说明。
[0025]实施例一、
[0026]在公网IP地址充足的情况下,所有VM都可分配到一个公网IP地址。本实施例针对VM分配有公网IP地址的情况,给出了图4所示的VM隔离方案。
[0027]参见图4,图4是本发明实施例一 VM隔离方法流程图,该方法应用于多个VPC共用的网关设备,所述多个VPC分别属于不同虚拟专用网(Virtual Private Network, VPN);各VPC的VM所在物理服务器与网关设备之间建立有GRE隧道,如图4所示,该方法主要包括以下步骤:
[0028]步骤401、预先在网关设备中存储各VPC信息及其所属VPN信息,在网关设备的公网连接端口上为各VPC创建对应的子接口并在该子接口上绑定该VPC所属VPN。
[0029]本实施例中,多个VPC分别属于不同VPN,VPC和VPN之间是——对应的。可以预先将各VPC信息及其所属的VPN信息下发到网关设备进行存储,为了便于查找,可以直接将VPC信息作为VPN的名称下发给网关设备,网关设备直接可以通过VPN的名称获取到对应的VPC信息。
[0030]在网关设备的公网连接端口上创建各VPC对应的子接口,实质就是针对每个VPC,在网关设备的公网连接端口上创建一个子接口,并在该子接口上绑定该VPC所属VPN,使得该子接口和该VPC所属VPN对应起来。
[0031]步骤402、网关设备接收到用户侧的报文时,确定报文所属VPN,对报文进行GRE隧道封装并将该VPN对应的VPC信息携带在GRE封装报文头部,根据路由表发送GRE封装报文到目的VM所在物理服务器。
[0032]用户侧的报文(也即用户发往VM的报文)需要经由网关设备转发至VM侧,网关设备转发报文到VM侧时,报文走GRE隧道转发,并在GRE封装报文的头部携带报文的目的VM所属VPC信息。
[0033]由于各VPC所属VPN与子接口之间是一一对应的,根据接收报文的子接口绑定的VPN就可以确定报文所属VPN。VPN又与VPC —一对应,因此,根据报文所属VPN就可以确定对应的VPC信息,该VPC信息就是报文的目的VM所属VPC信息,因此,在对报文进行GRE隧道封装时就可以将该VPC信息携带在GRE封装报文的头部,以此实现该VPC中VM的流量与其它VPC中VM的流量的隔离。
[0034]在将报文进行GRE隧道封装并在GRE封装报文的头部携带VPC信息后,根据路由表转发GRE隧道封装报文,GRE隧道封装报文最终被发送至目的VM所在物理服务器,由该物理服务器解封装GRE隧道封装报文后,根据解封装报文的目的IP地址将报文发送至目的VM0
[0035]步骤403、网关设备接收到VM侧的GRE封装报文时,根据GRE封装报文的头部携带的VPC信息确定解封装报文所属VPN并解封装GRE封装报文,基于解封装报文所属VPN发送解封装报文。
[0036]VM侧的报文(也即VM发往用户的报文),需要经由VM所在物理服务器转发至网关设备,再由网关设备转发到公网并最终到达目的用户。VM所在物理服务器转发报
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1