您的当前位置:首页正文

浅谈利用VXLAN技术实现虚拟机跨2层网络的迁移

来源:步旅网


浅谈利用VXLAN技术实现虚拟机跨2层网络的迁移

在云计算、大数据等应用和服务快速发展的时代,云数据中心对于虚拟网络数量上的需求急剧上升,无法跨2层网络实现虚拟服务器迁移的问题日益明显。VXLAN技术能有效解决云数据中心逻辑网段不足、上层交换机MAC地址溢出等问题。文章就VXLAN技术对当前数据中心遇到的问题进行探讨。

标签:VXLAN;数据中心;迁移

1 VLAN技术的局限性

在服务器虚拟化技术实现后,数据中心内部虚拟服务器(VM)的数量较之原物理实体机在数量上有了明显提升,与之对应的VM虚拟网卡的MAC地址数量也随之增加,当VM数量很多时,会导致交换机的MAC地址表溢出,从而引发数据帧的丢弃及大量的广播帧产生,严重影响网络的性能。

其次,大规模的数据中心建立并提出互联互通的需求背景下,原先用于划分数据中心虚拟网络的VLAN技术不再能够满足需求,传统的VLAN技术其VLAN ID的位数为12比特,最多只能支持4094个虚拟网络标识可用。即便可以通过相应技术进行扩展,但对于云计算服务的不断普及,业务量的不断增长,显然不能满足这种扩展需求。

再者,在VLAN网络环境中,虚拟机只能在2层网络内迁移,并且为了能够支持虚拟机的迁移,需要对2层网络进行Vlan预配置,因而造成VLAN配置的混乱,影响VLAN广播域的隔离,降低了网络的效率。

最后,对于云数据中心的大二层需求在原有二层网络下的特性与协议已经不再适用,尝试二层协议三层化是基本方向之一,VXLAN就是这样一个将二层数据包封装入三层包内技术。

2 VXLAN技术简介

VXLAN是一种隧道封装技术,能将二层报文用三层协议进行封装,对二层网络在三层范围进行扩展,从而实现跨地域的二层互连。技术原理是通过引入一个UDP格式的外层隧道,使得原有数据报文内容作为用户数据形式来传输,可以让原始2层帧数据轻而易举的在二三层网络中传送。每个覆盖域被称为VXLAN segment,ID是由位于VXLAN数据包头中的VXLAN Network Identifier(VNI)标识的。VNI字段包含24 bits,故segments最大数量为2的24次方,约合16M个。只有在相同VXLAN segment内的虚拟机之间才可以相互通信。如图1。

2.1 VTEP

VTEP(VXLAN Tunnel End Point)隧道端点,用来完成VXLAN报文的封装和解封装,实现物理网络和虚拟网络的隔离,一般位于拥有虚拟机的宿主机中,因此VNI和VXLAN隧道只有VTEP可见,对于虚拟机是透明的,不同的VXLAN segment中只允许具有相同MAC地址的虚拟机。并且VTEP也可以位于物理交换机或物理主机中,甚至可以使用软件来定义。VTEP之间完全是通过3层协议交互与Router相连,如图2。

2.2 Vxlan网关

如果需要VXLAN网络和非VXLAN网络连接,必须使用VXLAN网关才能把VXLAN

网络和外部网络进行桥接,完成VXLAN ID和VLAN ID之间的映射和路由,和VLAN一样,VXLAN网络之间的通信也需要3层设备的支持,即VXLAN路由的支持。同样VXLAN网关可由硬件和软件来实现。从封装的结构上来看,VXLAN提供了将2层网络overlay在3层网络上的能力,如图3。

3 VXLAN技术优势

第一,灵活性强,VXLAN通过隧道技术来构建可以跨越多个3层网络的虚拟2层网络,使VM可以在物理位置分散的数据中心之间进行迁移,摆脱了原来VM的迁移只能在同网段的二层网络上进行的地理位置限制。

第二,VXLAN数据包是在标准的第3层IP网络上运行,不需要对现有网络进行改造;除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了交换设备的MAC地址学习压力,提升了设备性能。

第三,VXLAN通过采用MAC in UDP的封装延伸了2层网络,实现物理网络与虚拟网络解耦,去除了物理网络IP地址和广播域的限制,VM的迁移可以实现跨越3层网络,极大降低了网络管理的难度。

第四,VXLAN技術通过24bit的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可以满足云数据中心未来业务的逻辑网段分隔的需求。

4 VXLAN部署场景

4.1 同VXLAN间的部署

VXLAN多用于数据中心的虚拟机化环境中,可以穿越机架甚至是数据中心。如图2两个宿主机Server1和Server2,对于物理位置没有要求,可以在任意区域,只需与3层网络相连即可,其本质是VETP可以跨越3层网络。

图2中有2个VXLAN覆盖网络:

VNI=11表示为[{Server1[VM1-1]}, {Server1[VM1-2]}, {Server2[VM2-3]}]

VNI=22表示为[{Server1[VM1-3]}, {Server2[VM2-1]}, {Server2[VM2-2]}]

4.2 VXLAN与非VLXAN间的部署

VXLAN网络和非VXLAN网络互连就得需要VXLAN网关,VXLAN网关上同时存在两种类型的端口:VXLAN端口和普通端口。当收到从VXLAN网络到普通网络的数据时,VXLAN网关去掉外层包头,根据内层的原始帧头转发到普通端口上;当有数据从普通网络进入到VXLAN网络时,VXLAN网关负责打上外层包头,并根据原始VLAN ID对应到一个VNI,同时去掉内层包头的VLAN ID信息。如果VXLAN网关发现一个VXLAN包的内层帧头上还带有原始的二层VLAN ID,会直接将这个包丢弃。之所以这样是因为VXLAN并不依赖VLAN ID进行转发,无法判断VLAN ID的正确性。

对于VTEP、VXLAN网关的形态,可以是虚拟交换机,也可以是物理交换机。通过物理交换机实现服务器与软件虚拟VTEP的通信,以及使用专用交换机实现VXLAN网关相搭配的模式,从而承载超大规模的流量转发,避免系统网络的瓶颈产生,相对而言也是当

前最优的部署方法。

5 结束语

虽然说VXLAN已经在某些领域得到了应用,可以很清楚的将虚拟网络与物理设施区分开,但并不是说它可以彻底代替VLAN技术,如果某个数据中心内有超过200个以上的虚拟机,那么VXLAN是个不错的选择。如果数据中心规模不大,且只有少量逻辑网,那么久经考验的VLAN技术仍旧可以满足。

参考文献

[1]华为FusionSphere 3.1 VXLAN技术白皮书[Z].

[2]Vxlan基础理解-新的三层overlay技术的浅析[Z].

[3]VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks overLayer 3 Networks[Z].

因篇幅问题不能全部显示,请点此查看更多更全内容