首页> 中国专利> 一种云环境下共用VLAN和VXLAN通信的方法及系统

一种云环境下共用VLAN和VXLAN通信的方法及系统

摘要

本发明公开了一种云环境下共用VLAN和VXLAN通信的方法及系统。该方法包括:当虚拟机网卡连接的网络类型为VLAN时,分布式业务网虚拟交换机将VLAN报文封装VLAN标签后转发至业务网物理交换机;当虚拟机网卡连接的网络类型为VXLAN时,分布式业务网虚拟交换机进行OVS流控,将VXLAN报文导流至分布式VXLAN处理交换机,由分布式VXLAN处理交换机处理VXLAN报文后,确定转发至业务网物理交换机或者转发至本地的其他虚拟机中。通过本发明用户不需要VLAN隔离的虚拟网络时,选用VXLAN封装来保证自己的虚拟机与其他用户虚拟机进行隔离,节省了数据中心VLAN号的限制。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-03-11

    未缴年费专利权终止 IPC(主分类):H04L12/46 专利号:ZL2017102013669 申请日:20170330 授权公告日:20200421

    专利权的终止

  • 2020-04-21

    授权

    授权

  • 2017-08-29

    实质审查的生效 IPC(主分类):H04L12/46 申请日:20170330

    实质审查的生效

  • 2017-08-04

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种云环境下共用VLAN和VXLAN通信的方法及系统。

背景技术

在数据中心的传统物理网络通常使用VLAN(virtual Local Area Network虚拟本地局域网)划分广播域,将物理服务器划分为多个服务器组,不同广播域中的服务器组相互隔离。通过VLAN划分可以控制物理二层广播报文在广播域中的传播,减少广播风暴的风险,增强网络稳定性。

在云计算大环境的数据中心,数据中心的服务器都会运行虚拟机,由虚拟机提供虚拟化网络服务。虚拟机同样需像物理服务器二层广播域一样进行网络隔离,尤其在多用户环镜下,用户虚拟机互相之间不能相互通信,网络隔离变得越来越重要。

而在提供虚拟化网络服务时,如果像物理服务器一样采用VLAN隔离用户虚拟机,则需要在接入物理服务器的物理交换机端口配置大量的VLAN Trunk通过规则。由于VLAN本身是为了本地局域网设计的隔离规则,只有4096个,对于云计算大环境的数据中心来说,4096个虚拟网络是不足以满足要求的。

而随着新的封装技术VXLAN(Virtual Extensible LANs,虚拟扩展局域网)推出,可以将12位的VLAN号扩展到24位的VXLAN号。VXLAN使用UDP封装,不受限制于二层物理网络,使用VXLAN可以解决数据中心网络配置的困难。但是国内外主流虚拟化产品,如Openstack与VMware,VLAN与VXLAN都是可选择的,也就是说只能支持其中一种虚拟网络,而不能同时支持两种虚拟网络。

发明内容

本发明实施例提供一种云环境下共用VLAN和VXLAN通信的方法及装置,用以解决现有技术中无法同时支持VLAN与VXLAN两种虚拟网络的问题。

依据本发明的一个方面,提供一种云环境下共用VLAN和VXLAN通信的方法,包括:

预先设置虚拟机网卡连接的网络类型;其中,所述网络类型包括VLAN或是VXLAN;

当所述虚拟机网卡连接的网络类型为VLAN时,分布式业务网虚拟交换机将VLAN报文封装VLAN标签后转发至业务网物理交换机,以便业务网物理交换机将封装后的报文转发至远程服务器;

当所述虚拟机网卡连接的网络类型为VXLAN时,分布式业务网虚拟交换机进行开放虚拟交换OVS流控,将VXLAN报文导流至分布式VXLAN处理交换机,由所述分布式VXLAN处理交换机处理所述VXLAN报文后,确定转发至所述业务网物理交换机或者转发至本地的其他虚拟机中,以便由所述业务网物理交换机将封装后的报文转发至远程服务器。

可选的,所述预先设置虚拟机网卡连接的网络类型之后,所述方法还包括:

当所述虚拟机网卡配置为VLAN时,控制器将VLAN配置信息下发至所述网络代理,所述网络代理将所述虚拟机的网卡接入所述分布式业务网虚拟交换机中,配置所述分布式业务网虚拟交换机的端口为VLAN封装;

当所述虚拟机网卡配置为VXLAN时,控制器将VXLAN配置信息发送至所述网络代理;所述网络代理将虚拟机网卡接入分布式业务网虚拟交换机,建立导流规则,同时配置所述分布式VXLAN处理交换机的端口为VXLAN封装。

可选的,所述分布式VXLAN处理交换机处理VXLAN报文时,具体包括:

判断VXLAN报文的目的MAC地址是否存在于本地:

若存在,直接转发至本地的目的虚拟机;若不存在,则对所述VXLAN报文增加VXLAN标签后,转发至所述业务网物理交换机。

可选的,当判断所述VXLAN报文的目的地址不在本地时,通过虚拟网卡学习目的MAC地址;待学习到后,将所述VXLAN报文通过所述业务网物理交换机发送至所述目的MAC地址。

可选的,所述分布式业务网虚拟交换机将VXLAN报文导流至分布式VXLAN处理交换机时,通过建立linux veth pair将所述VXLAN报文透传至所述分布式VXLAN处理交换机中。

依据本发明的一个方面,提供一种云环境下共用VLAN和VXLAN通信的系统,包括:

控制器,用于预先设置虚拟机网卡连接的网络类型;其中,所述网络类型包括VLAN或是VXLAN;

分布式业务网虚拟交换机,用于当所述虚拟机的网络类型为VLAN时,将VLAN报文封装VLAN标签后转发至业务网物理交换机;以及,用于当所述虚拟机的网络类型为VXLAN时,进行开放虚拟交换OVS流控,将VXLAN报文导流至分布式VXLAN处理交换机;

分布式VXLAN处理交换机,用于处理所述VXLAN报文后,确定转发至所述业务网物理交换机或者转发至本地的其他虚拟机中;

所述业务网物理交换机将所述分布式业务网虚拟交换机和所述分布式VXLAN处理交换机封装后的报文转发至远程服务器。

可选的,所述系统还包括网络代理;所述控制器,还用于当所述虚拟机网卡配置为VLAN时,将VLAN配置信息下发至所述网络代理;所述网络代理,用于将所述虚拟机的网卡接入所述分布式业务网虚拟交换机中,配置所述分布式业务网虚拟交换机的端口为VLAN封装;

所述控制器,还用于当所述虚拟机网卡配置为VXLAN时,将VXLAN配置信息发送至所述网络代理;所述网络代理将虚拟机网卡接入分布式业务网虚拟交换机,建立导流规则,同时配置所述分布式VXLAN处理交换机的端口为VXLAN封装。

可选的,所述分布式VXLAN处理交换机处理,具体用于:

判断VXLAN报文的目的MAC地址是否存在于本地:

若存在,直接转发至本地的目的虚拟机;若不存在,则对所述VXLAN报文增加VXLAN标签后,转发至所述业务网物理交换机。

可选的,所述分布式VXLAN处理交换机处理当判断所述VXLAN报文的目的地址不在本地时,通过虚拟网卡学习目的MAC地址;待学习到后,将所述VXLAN报文发送至所述目的MAC地址。

可选的,所述分布式业务网虚拟交换机将VXLAN报文导流至分布式VXLAN处理交换机时,通过建立linux veth pair将所述VXLAN报文透传至所述分布式VXLAN处理交换机中。

本发明具有以下有益效果:

本发明所提供的共用VLAN和VXLAN通信方法及系统,分布式业务网虚拟交换机自动区分VLAN报文和VXLAN报文,通过分布式VXLAN处理交换机处理VXLAN报文。因此,通过本发明用户不需要VLAN隔离的虚拟网络时,选用VXLAN封装来保证自己的虚拟机与其他用户虚拟机进行隔离,节省了数据中心VLAN号的限制。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中共用VLAN和VXLAN通信方法的流程图;

图2为本发明实施例中共用VLAN和VXLAN通信系统的架构图;

图3为本发明实施例中共用VLAN和VXLAN通信方法的设备交互示意图;

图4为本发明实施例中VXLAN报文导流的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例所提供的云环境下共用VLAN和VXLAN通信的方法,如图1所示,具体包括如下:

步骤101,预先设置虚拟机网卡连接的网络类型;其中,网络类型包括VLAN或是VXLAN。

在该步骤中,主要从控制层面介绍虚拟网络中的各个设备如何完成VLAN或者VXLAN的配置。

具体地,如图2所示的共用VLAN和VXLAN通信系统的架构图。服务器中的虚拟机通过虚拟交换层与物理交换层进行通信。其中,虚拟交换层的设备包括分布式业务网虚拟交换机和分布式VXLAN处理交换机。物理交换层的设备包括业务网物理交换机。管理节点通过控制器控制服务器集群上的虚拟交换层的配置。

在创建虚拟网络时,选择VLAN及VXLAN类型的二层网络(数据链路层)。在创建虚拟机时,会设置虚拟机网卡连接的网络类型。当虚拟机启动时,在虚拟网络系统响应虚拟机的启动事件,调用服务器上的网络代理为虚拟机挂接网卡,将虚拟机网卡接入分布式业务网虚拟交换机。

具体地,当虚拟机网卡接入的虚拟网络类型为VLAN时,控制器将VLAN配置信息下发至服务器上的网络代理;网络代理将虚拟机网卡接入分布式业务网虚拟交换机后,配置分布式业务网虚拟交换机的端口为VLAN封装,并将VLAN配置信息发送至分布式业务网虚拟交换机中。VLAN配置信息则包括VLAN号及VLAN优先级等。

当虚拟机网卡接入的虚拟网络类型为VXLAN时,控制器将VXLAN配置信息发送至服务器上的网络代理;网络代理将虚拟机网卡接入分布式业务网虚拟交换机,配置分布式业务网虚拟交换机的端口为VXLAN,建立导流规则,以便将虚拟机流量引入分布式VXLAN处理交换机,同时将VXLAN配置信息发送至分布式业务网虚拟交换机和分布式VXLAN处理交换机中。其中,VXLAN配置信息包括VXLAN号等信息。

步骤102,当虚拟机网卡连接的网络类型为VLAN时,分布式业务网虚拟交换机将VLAN报文封装VLAN标签后转发至业务网物理交换机,以便业务网物理交换机将封装后的报文转发至远程服务器;当虚拟机网卡连接的网络类型为VXLAN时,分布式业务网虚拟交换机进行OVS(Open VSwtic,开放虚拟交换)流控,将VXLAN报文导流至分布式VXLAN处理交换机,由分布式VXLAN处理交换机处理VXLAN报文后,确定转发至业务网物理交换机或者转发至本地的其他虚拟机中,以便由业务网物理交换机将封装后的报文转发至远程服务器。

在该步骤中,主要从转发层面介绍如何完成VLAN报文和VXLAN报文的处理。当虚拟机网卡接入分布式业务网虚拟交换机后,分布式业务网虚拟交换机根据虚拟机网卡使用的网络类型,确定对VLAN报文和VXLAN报文的相关处理。具体地,如图2所示,包括如下:

当虚拟机网卡使用VLAN类型时,分布式业务网虚拟交换机直接打上VLAN标签封装进行转发,报文封装VLAN标签后,转发给业务网物理交换机,业务网物理交换机的VLAN通道需提前配置。

当虚拟机网卡使用VXLAN类型时,先通过OVS流控,将VXLAN报文导流转发给同主机上的分布式VXLAN处理交换机,由分布式VXLAN处理交换机处理报文。分布式VXLAN处理交换机根据VXLAN报文的携带内容确定转发至本地的虚拟机或者业务网物理交换机中。

其中,分布式业务网虚拟交换机与分布式VXLAN处理交换机导流时,如图3所示,在虚拟网卡之间建立linux veth pair,虚拟网卡上配置OVS流控。分布式业务网虚拟交换机不处理VXLAN报文,而直接将VXLAN报文透传至分布式VXLAN处理交换机中。通过在导流层面建立linux veth pair,可以将VXLAN报文透传。

具体地,在分布式VXLAN处理交换机处理VXLAN报文时,包括如下:

判断VXLAN报文的目的MAC地址是否在本地的主机中存在:

如果在本地的主机中,则无需增加VXLAN标签,而直接转发给本地的主机的目的虚拟机;

如果不在本地的主机中,则在VXLAN报文中增加VXLAN标签后,将VXLAN报文转发至业务网物理交换机中。

其中,分布式VXLAN处理交换机会创建虚拟网卡,虚拟网卡标记本机地址以及远程服务器地址。当虚拟机目的地址不在本机时,分布式VXLAN处理交换机通过虚拟网卡学习到目的MAC地址,对于学习过程已属于本领域技术人员所熟知的技术,例如可采用端口泛洪的方式,这里不再进行说明。

待判断需要通过哪个虚拟网卡进行转发后,由该虚拟网卡负责添加VXLAN标签后,与远程服务器IP地址进行通信,并将VXLAN报文转发给远程服务器。当分布式VXLAN处理交换机收到远程服务器返回的报文,通过目的MAC找到对应的导流虚拟网卡后,去掉VXLAN标签,将VXLAN报文发送给导流的虚拟网卡。

本发明实施例还提供了一种云环境下共用VLAN和VXLAN的通信系统,如图2所示,包括:

控制器,用于预先设置虚拟机网卡连接的网络类型;其中,网络类型包括VLAN或是VXLAN;

分布式业务网虚拟交换机,用于当虚拟机的网络类型为VLAN时,将VLAN报文封装VLAN标签后转发至业务网物理交换机;以及,用于当虚拟机的网络类型为VXLAN时,进行开放虚拟交换OVS流控,将VXLAN报文导流至分布式VXLAN处理交换机;

分布式VXLAN处理交换机,用于处理VXLAN报文后,确定转发至业务网物理交换机或者转发至本地的其他虚拟机中;

业务网物理交换机将分布式业务网虚拟交换机和分布式VXLAN处理交换机处理的报文转发至远程服务器。

进一步地,该通信系统还包括网络代理;控制器,还用于当虚拟机网卡配置为VLAN时,将VLAN配置信息下发至网络代理;网络代理,用于将虚拟机的网卡接入分布式业务网虚拟交换机中,配置分布式业务网虚拟交换机的端口为VLAN封装;

控制器,还用于当虚拟机网卡配置为VXLAN时,将VXLAN配置信息发送至网络代理;网络代理将虚拟机网卡接入分布式业务网虚拟交换机,建立导流规则,同时配置分布式VXLAN处理交换机的端口为VXLAN封装。

其中,分布式VXLAN处理交换机处理,具体用于判断VXLAN报文的目的MAC地址是否存在于本地:

若存在,直接转发至本地的目的虚拟机;若不存在,则对VXLAN报文增加VXLAN标签后,转发至业务网物理交换机。其中,分布式VXLAN处理交换机处理当判断VXLAN报文的目的地址不在本地时,通过虚拟网卡学习目的MAC地址;待学习到后,将VXLAN报文发送至目的MAC地址。

其中,分布式业务网虚拟交换机将VXLAN报文导流至分布式VXLAN处理交换机时,通过建立linux veth pair将VXLAN报文透传至分布式VXLAN处理交换机中。

本发明所提供的共用VLAN和VXLAN通信的方法及系统,具有以下效果:

1)系统资源的有效利用,用户不需要VLAN隔离的虚拟网络时,选用VXLAN封装来保证自己的虚拟机与其他用户虚拟机进行隔离,节省了数据中心VLAN号的限制,同时也允许用户申请VLAN网络,配置传统网络。

2)满足用户个性化定制。用户可以自由选择接入VLAN或者VXLAN。支持虚拟机多个网卡分别加入不同的VLAN或VXLAN虚拟交换机。

3)保护底层的系统的安全。用户感知不到使用不同二层虚拟网络的区别,也不用关心底层实现,二层封装对用户完全透明,对于两种虚拟交换机的控制也使用同样的形式。由于用户不能直接接触系统,从而有效保护系统的安全。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。

虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号