云数据中心VXLAN技术应用详解

feiniao 2015-07-08

随着互联网+、云计算以及大数据等业务应用的规模落地,以云计算、虚拟化等技术为基础的各种规模化运营的云数据中心如雨后春笋般悄然崛起,虚拟化是云数据中心的关键技术,除了已经发展成熟的服务器虚拟化外,网络虚拟化的需求也逐渐在增加。然而,传统的虚拟局域网 (VLAN)技术已经不能满足现在云数据中心规模化运营发展的需求,因此,各大IT厂商联合推出了能够解决这种需求的VXLAN技术,受到了各大型云数据中心建设者重点关注。

云数据中心VXLAN技术应用详解

传统vlan技术的局限性

首先,传统的VLAN技术基于IEEE的802.1Q协议,在该协议的帧格式里面定义了VLAN ID的位数为12比特,最多只能支持4094个VLAN;随着云数据中心的各种业务应用的规模落地,业务量不断增长,就可能需要成千上万个VLAN,传统 VLAN的数量不能满足云数据中心日后业务规模发展的需求。

其次,物理服务器被虚拟化以后,云数据中心内部虚拟机的数量比原有的物理机发生了数量级的增加,与之对应的虚拟机虚拟网卡的MAC地址数量也相应的增加,这对云数据中心与物理服务器相连接的交换机地址容量能力产生了很大冲击,当虚拟机数量很多时,会导致交换机的MAC地址表溢出,从而导致数据帧的丢弃或者产生大量的广播帧,严重影响网络的性能。

最后,云数据中心中虚拟机通常需要在一定范围内迁移,在传统的VLAN网络下,虚拟机只能在二层网络下迁移,并且为了能够支持虚拟机的迁移,需要在二层网络中,对VLAN进行预配置,造成VLAN配置混乱,影响VLAN广播域的隔离,降低了网络的效率。

VXLAN(Virtual eXtensible Local Area Network)虚拟扩展局域网是一种进行大二层虚拟网络扩展的隧道封装技术,可以很好地解决上述问题,目前这个技术已经成为各种规模化运营的云数据中心不可忽视的关键应用技术。

VXLAN技术原理

VXLAN是一种隧道封装技术,能在三层网络的基础上建立二层网络隧道,从而实现跨地域的二层互连,VXLAN通过引入一个UDP格式的外层隧道,使得原有数据报文内容作为净荷来传输,可以让净荷数据轻而易举的在二三层网络中传送,VXLAN的报文封装结构如下图所示,VXLAN报文包括外层封装和内层的原始净荷两部分。

VXLAN报文中,Flags(8b)其中I必须被设置为1,R需设为0,才是有效的;Reservedfields(24b and 8b)必须被设置为0,VXLAN外层隧道的目的端口号为4789;引入了一个VXLAN ID(VNI-VXLAN Network Identifier)作为虚拟网络的标识,长度为24bits,与原有的VLAN 12bits长度相比,VXLAN ID长度增加了一倍,可以支持16M个虚拟网络;在VXLAN技术标准中,在物理网络的边缘引入了一个VTEP(Vxlan Tunnel End Point)的逻辑体,实现物理网络和虚拟网络的隔离,完成VXLAN报文的封装和解封装;VXLAN标准还定义了一个VXLAN网关实体(VXLAN Gateway),负责VXLAN之间以及同传统VLAN之间报文的映射和转发,VXLAN与传统VLAN及不同VXLAN的虚拟机之间互访。

云数据中心VXLAN技术应用详解

VXLAN技术优势

首先,具有更大的灵活性,原来虚拟机的迁移只能在同网段的二层网络上进行,受到地理位置的严重限制。VXLAN通过隧道技术来构建可以跨越多个3层网络的虚拟2层网络,虚拟机可以在物理位置分散的数据中心之间进行迁移,这使得虚拟机的部署更加灵活和方便

其次,VXLAN数据包是在标准第3层IP网络上运行,L2-4层链路HASH能力强,不再需要构建和管理庞大的第2层基础传输层,不需要对现有网络进行改造;除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。

第三,VXLAN可以在业界标准的交换机硬件上运行,交换机上无需进行软件升级,也不必采用特殊的代码版本;商用网络芯片大部分支持VXLAN技术的运行;VXLAN通过采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户可以按需规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,大大降低了网络管理的难度。

最后,极大的扩充了二层网段的数量,VXLAN技术通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可以满足云数据中心海量多租户的逻辑网段分隔的需求。

VXLAN部署方法

如上图,VXLAN网络设备主要有三种角色,分别是VTEP(VXLAN Tunnel End Point)、VXLAN网关、VXLAN IP网关,对于应用系统来说,只与这三种设备相关,而与底层传统三层IP网络无关。

VTEP、VXLAN网关、VXLAN IP网关、形态可以是虚拟交换机,也可以是物理交换机。根据VTEP、VXLAN网关、VXLAN IP网关是虚拟交换机还是物理交换机,VXLAN网络的部署方法主要分三种。

(1) 第一种是VTEP、VXLAN网关、VXLAN IP网关均通过安装在服务器上的软件实现。

(2) 第二种是VTEP、VXLAN网关、VXLAN IP网关均由物理交换机承担,物理服务器支持SR-IOV功能,使虚拟机通过SR-IOV技术直接与物理交换机相连,虚拟机的流量在接入交换机上进行VXLAN报文的封装和解封装。

(3)第三种是VTEP由安装在服务器上的软件实现,VXLAN网关、VXLAN IP网关由物理交换机承担。

对于第一种部署方法,由于所有VXLAN报文的封装解封装都通过软件实现,会占用部分服务器资源,特别是VXLAN IP网关,当访问量大时,将会成为系统瓶颈。对于第二种部署方法,由于需要通过一些特殊的要求或技术实现虚拟机与VTEP的对接,组网不够灵活。第三种部署方法通过安装在服务器上的软件实现虚拟机的VTEP,通过物理交换机实现物理服务器的VTEP,通过专业的硬件交换机实现VXLAN IP网关,从而可承载超大规模的流量转发,避免成为系统瓶颈,第三种部署方法结合了第一种和第二种方法的优势,相对而言是目前最优的部署方法。

VXLAN应用场景

VXLAN在云数据中心之间虚拟机迁移中的应用,如某个企业在不同的数据中心有不同业务应用的虚拟机,数据中心之间虚拟机迁移是经常会遇到的,为了保证虚拟机迁移过程中业务不中断,则需要保证迁移虚拟机的IP地址、MAC地址等参数保持不变,这就要求虚拟机迁移前后属于统一个二层网络。如果使用传统方法解决此问题,可能需要购买新的物理设备以分离流量,并可能导致诸如VLAN散乱、网络成环以及系统和管理开销等问题。

为了成功实现虚拟机在业务不中断情况下的迁移,可通过VXLAN技术实现。VXLAN是MAC in UDP的网络虚拟化技术,只要物理网络支持IP转发,所有IP路由可达的终端用户即可建立一个大范围二层网络;在虚拟机上联的交换机上配置VXLAN相关信息,虚拟机上联交换机之间建立VXLAN隧道和VXLAN网关,通过VXLAN隧道和VXLAN网关,可实现在不同数据中心之间虚拟机成功迁移,并且可保证虚拟机迁移过程中网络无感知、业务不中断。

VXLAN在SDN环境下的应用,SDN环境下,可以通过SDN控制器来实现VXLAN的IP和VID之间相关信息的对应关系,SDN控制器可以作为ARP代答设备,这样大大提高了VXLAN的灵活性与扩展性。所以VXLAN技术在SDN环境中可以被广泛应用。

对于同一VXLAN内不同的虚拟机互通,虚拟机上线后将在SDN上进行相关虚拟机地址和VXLAN隧道终端信息的对应,后续虚拟机之间的互通,通过SDN控制器进行ARP的代答,并直接下发流表,从而在虚拟机之间建立通信隧道。

对于不同VXLAN之间的虚拟机互通,由于云数据中心SDN控制器包含所有数据中心内的相关虚拟机信息,可以将SDN控制器作为VXLAN网关,不同云数据中心之间的SDN控制器可以通过相关路由协议交换相关虚拟机信息,实现不同VXLAN及同传统网络的虚拟机之间互通。

相关推荐