定义
RFC7348定义了VLAN扩展方案VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)。
VXLAN采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术。
起源
传统的交换网络解决了二层的互通及隔离问题,这个架构发展了几十年已经相当成熟。而随着云时代的到来,却渐渐暴露出了一些主要的缺点。
1、多租户环境和虚拟机迁移
为了满足在云网络中海量虚拟机迁移前后业务不中断的需要,要求虚拟机迁移前后的IP不能变化,继而要求网络必须是大二层结构。传统的二层网络技术,在链路使用率、收敛时间等方面都不能满足需要。
2、VLAN的局限
随着云业务的运营,租户数量剧增。传统交换网络用VLAN来隔离用户和虚拟机,但理论上只支持最多4K个标签的VLAN,已无法满足需求。
目的
为了解决数据中心网络服务器虚拟化以及虚拟机不受限迁移问题,VXLAN特性应运而生。由于VXLAN特性在本质上属于一种VPN技术,因此,其同样能够应用在园区网络中,以实现分散物理站点之间的二层互联以及站点间的三层互联。
VLAN的报文结构
下面来介绍下,VXLAN报文到底长啥样。
如上图所示,VTEP对VM发送的原始以太帧(Original L2 Frame)进行了以下“包装”:
★VXLAN Header增加VXLAN头(8字节),其中包含24比特的VNI字段,用来定义VXLAN网络中不同的租户。此外,还包含VXLAN Flags(8比特,取值为00001000)和两个保留字段(分别为24比特和8比特)。
★UDP HeaderVXLAN头和原始以太帧一起作为UDP的数据。UDP头中,目的端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。
★Outer IP Heade得封装外层IP头。其中,源IP地址(Outer Src. IP)为源VM所属VTEP得IP地址,目的IP地址(Outer Dst. IP)为目的VM所属VTEP得IP地址。
★Outer MAC Header封装外层以太头。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP得MAC地址,目的MAC地址(Dst. MAC Addr.)为到达目的VTEP的路径中下一跳设备的MAC地址。
VXLAN中的VTEP和VNI
在介绍VXLAN隧道的建立过程前,先来了解VXLAN网络模型中一些常见的概念。
如下图所示,两台服务器之间通过VXLAN网络进行通信。在两台TOR交换机之间建立了一条VXLAN隧道,TOR交换机将服务器发出的原始数据帧加以“包装”,好让原始报文可以在承载网络(比如IP网络)上传输。当到达目的服务器所连接的TOR交换机后,离开VXLAN隧道,并将原始数据帧恢复出来,继续转发给目的服务器。
VXLAN网络中出现了一些传统网络中没有的新元素,如VTEP、VNI等,它们的作用是什么呢?下面将向您介绍这几个新元素。
1、 什么是VXLAN VTEP
VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)是VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,源服务器发出的原始数据帧,在VTEP上被封装成VXLAN格式的报文,并在IP网络中传递到另外一个VTEP上,并经过解封转还原出原始的数据帧,最后转发给目的服务器。
2、什么是VXLAN VNI
VNI(VXLAN Network Identifier,VXLAN 网络标识符),VNI是一种类似于VLAN ID的用户标识,一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信。
VNI还可分为二层VNI和三层VNI,它们的作用不同,二层VNI是普通的VNI,用于VXLAN报文同子网的转发;三层VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。
VLAN的测试方法
配置Vxlan的方式主要有两种,一种是静态方式,另一种是动态方式(EVPN的方式)。此处以Vxlan性能测试为例。
测试背景
▶1. 被测试设备在 VXLAN 数据转发时,性能无下降。
▶2. 测试被测设备支持的最大 VXLAN 隧道数量不小于 256。
▶3. 测试被测设备支持的最大 VXLAN L3 网关数量不小于 2K。
典型测试场景介绍
◆1.两台被测设备(DUT1、DUT2)各选择一张1040GE的业务板卡,总接口数为20个40GE接口,每板卡10个连续的端口每2个端口一组归属于同一租户,共10个租户,每个租户分配100个ipv4网段和100个ipv6网段,并且每个网段分别配置网关,总共1000个ipv4网关和1000个ipv6网关。
◆2. 所有同一租户端口发送二层Pair to Pair流量和携带三层VXLAN封装的Backbone流量,每端口流量发流总负载为40G,整体流量大小为2040GB=800GB,分别验证报文长度为64、65、129、257、1518和9000字节时的转发能力。
◆3. DUT1和DUT2在步骤1的测试环境上增加测试端口,DUT1和DUT2再各增加2个端口(port A、port B)与测试仪相连,DUT1与DUT2再通过额外的100G端口连接,DUT1与测试仪端口port B建立EVPN VXLAN 隧道,隧道数量为设备支持的最大隧道数量-1,发送流量验证隧道的转发能力。
测试步骤
1.使用配置向导配置业务,点击交换,然后选择VXLAN EVPN Overlay向导。
2.选择VTEP端口:选择端口,然后VTEP选择IPV4,选择启用VLAN。
3.配置VTEP设备:每个VLAN中VTEP数量为1。
4.配置BGP参数:选择IBGP,勾选使用网关地址作为DUT。
5.配置EVPN路由:勾选EVPN MAC/IP地址通告路由(勾选MAC/IP),选择勾选配置下一跳。
6.配置L2 L3Sements:配置L3-VNI为5000,勾选L3-VNI路由目标为AS:L3-VNI。
7.配置L2 VNI VM设备:地址模式选择IPV4 And IPV6,配置IPV4和IPV6地址。
8.配置HOST:选择HOST端口,配置IPV4地址以及网关。
9.配置流参数:点击创建流,流封装选择MAC和IPV4。
10.点击预览:可以看到生成的流情况。
11.设备支持 VXLAN 隧道不小于 256,相关协议与表项均正常,流量不丢包。
12.在设备上查看VNI与VPN实例绑定的情况:
13.查看V-XLAN的流量构造
14.抓包查看:
测试结果
1.在被测设备查看相关表项,总共1000个ipv4网关和1000个ipv6网关,相关协议与表项均正常,流量转发正常不丢包。
2.在被测设备查看VXLAN 隧道总数,相关协议与表项均正常,流量转发正常不丢包。
3.被测设备进行 VXLAN 转发时流量不丢包,port B端口中的流量中能看到VXLAN封装,该端口转发能力不低于ipv4转发能力,且不影响其他端口转发。
©著作权归作者所有:来自51CTO博客作者xinertel的原创作品,请联系作者获取转载授权,否则将追究法律责任
VXLAN技术应用场景及测试
https://blog.51cto.com/teletest1/6422433
©著作权归作者所有:来自51CTO博客作者xinertel的原创作品,请联系作者获取转载授权,否则将追究法律责任
VXLAN技术应用场景及测试
https://blog.51cto.com/teletest1/6422433