摘 要:在云计算、大数据等应用和服务快速发展的时代,云数据中心对于虚拟网络数量上的需求急剧上升,无法跨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。