云计算背景下VXLAN技术的应用

2019-07-29 00:41张少芳刘延锋
无线互联科技 2019年9期
关键词:虚拟机云计算报文

张少芳 刘延锋

摘   要:在云计算的背景下,服务器的虚拟化对传统网络的数据迁移能力提出了非常高的要求。文章分析了当前非常典型的一种网络虚拟化技术—VXLAN技术,通过在三层IP网络之上建立基于数据链路层的逻辑隧道,使数据链路层数据能够穿越网络层的承载网络进行传递,实现虚拟机跨三层网络的动态迁移,有效地提高了数据的传输效率以及对硬件资源的利用率。

关键词:云计算;虚拟机;SDN;VXLAN;报文

1    VXLAN技术的引入

作为云计算中非常重要的一种核心技术,服务器虚拟化凭借其低成本、灵活的业务部署等优势已经得到广泛的认可和部署。通过使用服务器的虚拟化技术,一台物理上的服务器就能够虚拟出多台逻辑上的虚拟机,从而在逻辑上使主机的数量实现量级的增长[1]。但是服务器虚拟化在满足云计算需求的同时,也给虚拟网络带来了诸多问题,主要有以下3个方面。

1.1  虚拟机的迁移范围受到网络物理架构的限制

虚拟机迁移在数据中心网络中是一种必然的需求,目的在于虚拟机在跨物理服务器迁移时保障网络业务不中断,这就要求在迁移的整个过程中虚拟机的IP地址以及MAC地址都必须保持不变。因此,虚拟机的承载网络必须是一个工作于数据链路层的二层网络,使得网络规模被限制在一定的范围内,无法实现网络虚拟化的高度扩展性。

1.2  虚拟机的规模受到网络规格限制

在二层数据网络中,数据流量的转发路径需要通过在交换设备上查询MAC地址来确定。因此,交换设备上的“端口与MAC地址映射表”的大小就决定了云计算数据中心中虚拟机规模的上限。由于受到交换设备内存大小的限制,MAC表项一般都比较小,限制了虚拟机的数量。

1.3  租户网络的隔离能力受限

目前网络中的链路隔离主要使用虚拟局域网(Virtual Local Area Network,VLAN)技术来实现,该技术在大规模网络部署中存在非常大的局限性。一方面,由于数据封装中VLAN ID字段的长度只有12比特,可用VLAN的数量只有4 094个(VLAN0和VLAN4095不可用),这对于大型的云数据中心或云计算中心来说显然是远远不能满足需求的。另一方面,目前VLAN主要通过静态配置的方式来实现,出于易于配置的考虑,一般需要在中继链路上将所有VLAN设置为允许通过,这就使广播报文会被泛洪到整个网络,导致网络带宽被无限制地消耗,降低网络交换的性能。

针对上述问题,本研究引入了虚拟扩展区域网(Virtual eXtensible Local Area Network,VXLAN)技術,VXLAN技术是VLAN的一种扩展方案,使用了“MAC in UDP”的数据封装方式,是一种基于三层IP网络的虚拟化技术。它对于上述问题给出了很好的解决方法。

(1)针对虚拟机的迁移范围受到网络物理架构限制的问题,通过VXLAN能够构建一个逻辑上的大二层网络,以保证在迁移时可以保持虚拟机的IP地址和MAC地址不发生变化。

(2)针对虚拟机规模受到网络规格限制的问题,首先,VXLAN将虚拟机发出的数据包使用UDP协议进行封装,然后再使用物理网络的IP地址和MAC地址分别进行封装,外部网络只能看到封装后的外层物理网络的参数。因此,二层网络对于MAC地址规格的要求得到了非常大的降低。

(3)针对网络隔离能力受限的问题,VXLAN引入了一种类似于VLAN ID的用户标识,称为VXLAN网络标识VNI(VXLAN Network ID),其长度由VLAN ID的12比特扩展到了24比特,可以支持的VXLAN段数量多达16 M,对租户的标识能力得到极大的扩展[2]。

2     VXLAN的基本原理

VXLAN通过“MAC in UDP”的封装在逻辑上实现了对二层网络的延伸,是一种典型的对大二层虚拟网络进行扩展的隧道封装技术。在大二层的网络中,引入了软件定义网(Software Defined Network,SDN)控制器来对虚拟网络进行控制以及部署。SDN控制器通过使用OpenFlow协议将信息下发给SDN的转发器,来实现对网络的统一维护和管理[3],VXLAN结构具体如图1所示。

图1中涉及的概念具体如下。

(1)控制器:位于SDN的控制面,负责对数据报文的转发路径进行计算和管理。

(2)转发器:SDN的转发面设备,接收来自控制器的指令并对数据转发任务进行处理。

(3)OpenFlow协议:SDN框架中的具体实现协议,定义了SDN中控制器与转发器之间的通信。控制器通过OpenFlow协议把控制指令发送给转发器。

(4)OpenFlow流表:是转发器对报文转发的依据。转发器具体根据流表中的记录匹配并对数据报文执行记录给出的相应动作。

(5)网络虚拟边缘节点(Network Virtualization Edge,NVE):具体用来实现网络虚拟化功能的网络实体。

(6)虚拟接入点(Virtual Access Point,VAP):用于数据报文的接入。为二层的逻辑子接口配置不同的流封装,就可以实现不同的数据报文到不同二层子接口的接入。

(7)VXLAN隧道端点(VXLAN Tunnel Endpoints,VTEP):封装在网络虚拟边缘节点里,用来对VXLAN的报文进行封装以及解封装。VTEP分配有相应物理网络的IP地址。在VXLAN的报文中,本节点的VTEP地址作为报文的源IP地址,对端节点的VTEP地址作为报文的目的IP地址,一对VTEP地址对应一个VXLAN的Tunnel。

(8)VXLAN網络标识(VXLAN Network Identifier,VNI):作用与VLAN ID类似,用来对不同的VXLAN段进行区分,一个VNI表示一个租户[4]。

3    VXLAN的数据转发流程

VXLAN中数据报文的转发流程如图2所示。

(1)Switch_1接收来自终端A的数据报文,然后根据所接收报文的接入端口以及其所属VLAN信息获取相应的二层广播域信息。另外,还需要判断报文的目的MAC地址是否是已知的单播MAC地址。如果是,再判断是否为本机的MAC地址:是本机的MAC地址,上送主机进行处理;不是本机的MAC地址,则在对应的二层广播域内对报文进行广播,并进入第(2)步。

(2)Switch_1上的VTEP根据查找到的出接口和VXLAN封装信息对报文进行VXLAN的封装以及转发。

(3)Switch_2上的VTEP收到来自于Switch_1的VXLAN报文后,根据报文中的UDP目的端口号、源IP地址、目的IP地址以及VNI的值来判断VXLAN报文是否合法有效。然后依据VNI获取对应的二层广播域,解封装VXLAN报文,获取内层的二层数据报文,判断报文的目的MAC地址是否是已知单播报文的MAC地址。如果是,在对应的二层广播域内查找出接口以及VLAN封装信息,并进入第(4)步。如果不是,则需要再判断是否是本机的MAC地址:是本机的MAC地址,上送主机进行处理;不是本机的MAC地址,则进入广播和未知—单播和多播(Broadcast&Unknown- unicast&Multicast,BUM)报文的转发流程。

(4)Switch_2根据查找到的出接口和封装信息,为报文添加相应的VLAN标识,并将报文转发给最终的目的主机,即终端B[5]。

4    结语

VXLAN技术通过在原始数据报文的外部增加VXLAN封装的方式,在三层IP网络中建立数据链路层的逻辑隧道,实现网络逻辑上的扁平化,使数据链路层的数据报文可以穿越三层IP网络,实现虚拟机的动态迁移,有效提高云计算背景下数据中心硬件资源利用率以及网络管理的效率。

[参考文献]

[1]华为公司.HCNP-R&S-IENP教材[EB/OL].(2019-04-25)[2019-05-10].http://support.huawei.com/learning/Certificate!showCertificate?lang=zh&pbiPath=term1000025451&id=Node1000004373.

[2]刘广红,孟祥春.基于SDN和VXLAN的云网一体化专线方案探讨[J].邮电设计技术,2018(8):46-50.

[3]张届新,吴志明.基于VXLAN组网的云数据中心互联方案[J].电信科学,2016(12):122-128.

[4]钟耿辉,唐加山.基于VXLAN的EVPN技术研究与实现[J].计算机技术与发展,2017(5):46-50.

[5]王永建,张健,张富根,等.基于VXLAN的云数据中心网络研究[J].通信技术,2017(1):78-83.

Abstract:In the background of cloud computing, server virtualization puts forward very high requirements for data migration ability of traditional networks. As a very typical network virtualization technology at present, VXLAN technology allows data link layer data to pass through the carrying network of the network layer by establishing a logical tunnel based on the data link layer on the three-layer IP network. Thus, the dynamic migration of virtual machine across the three-layer network is realized, which effectively improves the data transmission efficiency and the utilization of hardware resources.

Key words:cloud computing; virtual machine; SDN; VXLAN; message

猜你喜欢
虚拟机云计算报文
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
实验云:理论教学与实验教学深度融合的助推器
ATS与列车通信报文分析