
vxlan技术
-
2023年3月18日发(作者:诗经里的名字)浅谈利用VXLAN技术实现虚拟机跨2层网络的迁移
在云计算、大数据等应用和服务快速发展的时代,云数据中心对于虚拟网络
数量上的需求急剧上升,无法跨2层网络实现虚拟服务器迁移的问题日益明显。
VXLAN技术能有效解决云数据中心逻辑网段不足、上层交换机MAC地址溢出
等问题。文章就VXLAN技术对当前数据中心遇到的问题进行探讨。
标签:VXLAN;数据中心;迁移
1VLAN技术的局限性
在服务器虚拟化技术实现后,数据中心内部虚拟服务器(VM)的数量较之
原物理实体机在数量上有了明显提升,与之对应的VM虚拟网卡的MAC地址数
量也随之增加,当VM数量很多时,会导致交换机的MAC地址表溢出,从而引
发数据帧的丢弃及大量的广播帧产生,严重影响网络的性能。
其次,大规模的数据中心建立并提出互联互通的需求背景下,原先用于划分
数据中心虚拟网络的VLAN技术不再能够满足需求,传统的VLAN技术其VLAN
ID的位数为12比特,最多只能支持4094个虚拟网络标识可用。即便可以通过
相应技术进行扩展,但对于云计算服务的不断普及,业务量的不断增长,显然不
能满足这种扩展需求。
再者,在VLAN网络环境中,虚拟机只能在2层网络内迁移,并且为了能
够支持虚拟机的迁移,需要对2层网络进行Vlan预配置,因而造成VLAN配置
的混乱,影响VLAN广播域的隔离,降低了网络的效率。
最后,对于云数据中心的大二层需求在原有二层网络下的特性与协议已经不
再适用,尝试二层协议三层化是基本方向之一,VXLAN就是这样一个将二层数
据包封装入三层包内技术。
2VXLAN技术简介
VXLAN是一种隧道封装技术,能将二层报文用三层协议进行封装,对二层
网络在三层范围进行扩展,从而实现跨地域的二层互连。技术原理是通过引入一
个UDP格式的外层隧道,使得原有数据报文内容作为用户数据形式来传输,可
以让原始2层帧数据轻而易举的在二三层网络中传送。每个覆盖域被称为
VXLANsegment,ID是由位于VXLAN数据包头中的VXLANNetworkIdentifier
(VNI)标识的。VNI字段包含24bits,故segments最大数量为2的24次方,
约合16M个。只有在相同VXLANsegment内的虚拟机之间才可以相互通信。如
图1。
2.1VTEP
VTEP(VXLANTunnelEndPoint)隧道端点,用来完成VXLAN报文的封
装和解封装,实现物理网络和虚拟网络的隔离,一般位于拥有虚拟机的宿主机中,
因此VNI和VXLAN隧道只有VTEP可见,对于虚拟机是透明的,不同的VXLAN
segment中只允许具有相同MAC地址的虚拟机。并且VTEP也可以位于物理交
换机或物理主机中,甚至可以使用软件来定义。VTEP之间完全是通过3层协议
交互与Router相连,如图2。
2.2Vxlan网关
如果需要VXLAN网络和非VXLAN网络连接,必须使用VXLAN网关才能
把VXLAN网络和外部网络进行桥接,完成VXLANID和VLANID之间的映射
和路由,和VLAN一样,VXLAN网络之间的通信也需要3层设备的支持,即
VXLAN路由的支持。同样VXLAN网关可由硬件和软件来实现。从封装的结构
上来看,VXLAN提供了将2层网络overlay在3层网络上的能力,如图3。
3VXLAN技术优势
第一,灵活性强,VXLAN通过隧道技术来构建可以跨越多个3层网络的虚
拟2层网络,使VM可以在物理位置分散的数据中心之间进行迁移,摆脱了原
来VM的迁移只能在同网段的二层网络上进行的地理位置限制。
第二,VXLAN数据包是在标准的第3层IP网络上运行,不需要对现有网
络进行改造;除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的
MAC地址,减轻了交换设备的MAC地址学习压力,提升了设备性能。
第三,VXLAN通过采用MACinUDP的封装延伸了2层网络,实现物理网
络与虚拟网络解耦,去除了物理网络IP地址和广播域的限制,VM的迁移可以
实现跨越3层网络,极大降低了网络管理的难度。
第四,VXLAN技術通过24bit的VNI可以支持多达16M的VXLAN段的网
络隔离,对用户进行隔离和标识不再受到限制,可以满足云数据中心未来业务的
逻辑网段分隔的需求。
4VXLAN部署场景
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.2VXLAN与非VLXAN间的部署
VXLAN网络和非VXLAN网络互连就得需要VXLAN网关,VXLAN网关
上同时存在两种类型的端口:VXLAN端口和普通端口。当收到从VXLAN网络
到普通网络的数据时,VXLAN网关去掉外层包头,根据内层的原始帧头转发到
普通端口上;当有数据从普通网络进入到VXLAN网络时,VXLAN网关负责打
上外层包头,并根据原始VLANID对应到一个VNI,同时去掉内层包头的VLAN
ID信息。如果VXLAN网关发现一个VXLAN包的内层帧头上还带有原始的二
层VLANID,会直接将这个包丢弃。之所以这样是因为VXLAN并不依赖VLAN
ID进行转发,无法判断VLANID的正确性。
对于VTEP、VXLAN网关的形态,可以是虚拟交换机,也可以是物理交换
机。通过物理交换机实现服务器与软件虚拟VTEP的通信,以及使用专用交换机
实现VXLAN网关相搭配的模式,从而承载超大规模的流量转发,避免系统网络
的瓶颈产生,相对而言也是当前最优的部署方法。
5结束语
虽然说VXLAN已经在某些领域得到了应用,可以很清楚的将虚拟网络与物
理设施区分开,但并不是说它可以彻底代替VLAN技术,如果某个数据中心内
有超过200个以上的虚拟机,那么VXLAN是个不错的选择。如果数据中心规模
不大,且只有少量逻辑网,那么久经考验的VLAN技术仍旧可以满足。
参考文献
[1]华为FusionSphere3.1VXLAN技术白皮书[Z].
[2]Vxlan基础理解-新的三层overlay技术的浅析[Z].
[3]VXLAN:AFrameworkforOverlayingVirtualizedLayer2Networks
overLayer3Networks[Z].