1. 什么是 VXLAN
VXLAN(Virtual Extensible LAN)虚拟可扩展局域网,是一种 overlay 网络技术,将原始2层以太网帧进行UDP封装 (MAC-in-UDP),增加8字节 VXLAN头部,8字节 UDP头部, 20字节 IP 头部和14字节以太网头部,共50字节。
2. VXLAN优点
VXLAN与VLAN相比能够提供更好的扩展性和灵活性,主要有以下特点:
(1) 应用灵活部署
如图 1-1 所示,在 VXLAN环境中应用部署不受物理位置和3层网络边界限制,例如某应用的地址段为 192.168.1.0/24,在传统网络中所有该应用服务器或者虚拟机必须在同一 3层网络内部署,否则会产生路由或者地址冲突问题。
(2) 更好的扩展性
传统网络通过 VLAN将客户网络逻辑隔离, VLAN ID字段为 12-bit ,VLAN数量最大为 4096;VXLAN使用 24-bit VNID ( VXLAN network identifier ),最大支持16,000,000 逻辑网络,扩展性得到极大增强。
(3) 提高网络利用率
传统以太网帧无法穿越三层网络,部署 VXLAN后, VTEP之间数据基于三层寻址,网络互联接口不再是二层接口, 可以将交换机之间互联接口部署为三层模式,消除生成树阻塞端口,提高网络利用率,支持 ECMP(equal-cost multipath )和链路聚合协议。
1. VTEP
VXLAN
Tunnel Endpoint (VTEP)。VXLAN使用VTEP设备对VXLAN报文进行封装与解封装,包括ARP请求报文和正常的VXLAN数据报文,VTEP将原始以太网帧通过VXLAN封装后发送至对端 VTEP设备,对端VTEP接收到 VXLAN报文后解封装然后根据原始 MAC进行转发,VTEP可以是物理交换机、物理服务器或者其他支持 VXLAN的硬件设备或软件来实现。
2. VNI
Virtual Network ID ( VNI), VNI封装在 VXLAN头部,共 24-bit ,最大支持16,000,000 逻辑网络。
3. VXLAN 网关
VXLAN网关用于连接 VXLAN网络和传统 VLAN网络,VXLAN网关实现 VNI和VLAN ID 之间的映射, VXLAN 网关实际上也是一台 VTEP设备。
4. 组播组
VTEP设备要加入相同的组播组,主要用于控制平面地址学习。
VXLAN使用 UDP封装完整的以太网帧 (MAC-in-UDP),共 50 字节的封装报文头。具体的报文格式如下:
1. Inner MAC
Inner MAC,内层 MAC是原始以太网帧的 MAC地址。
2. VXLAN Header
共 8 个字节,目前使用的是 Flags 中的一个 8bit 的标识位和 24bit 的VNI(Vxlan Network identifier) ,其余部分没有定义,但是在使用的时候必须设置为 0x0000。
3. Outer UDP Header
共8个字节,IANA分配的标准目的端口使用 4798,但是各厂商可以根据需要进行修改,同时UDP的校验和必须设置成全 0。
4. Outer IP Header
共20个字节,目的IP地址可以是单播地址,也可以是多播地址。 单播情况下,目的IP地址是目的VTEP的 IP地址;当用于VXLAN控制平面时会使用多播地址。
Outer IP: 外层IP地址是经过VTEP封装后的3层IP地址,源IP是本端VTEP设备IP,用于控制平面时目的 IP 可以是多播地址,用于转发平面时目的 IP是远端 VTEP设备 IP。
5. Outer Ethernet Header
共计14个字节,外层以太网帧头部。Outer MAC,外层 MAC是经过 VTEP封装后的二层 MAC,源 MAC是本端 VTEP设备MAC,目的 MAC可以是远端 VTEP设备MAC或者传输路径中间 3 层网络设备 MAC。
1. 控制平面
在 VXLAN的实现中, 当通过组播实现控制平面路径发现时, VTEP设备之间使用无状态 tunnel ,VTEP设备之间不会维持状态化的长连接。 VXLAN需要通过控制平面学习远端设备地址信息, 在本地构建控制平面表项。 控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。
2. 转发平面
控制平面学习地址映射信息后, 转发平面负责实际数据的转发。 VTEP为原始数据帧增加 UDP报头,新的报头到达目的 VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。
3. VXLAN ARP请求
如上图所示,终端设备 A需要和终端设备 B通信, ARP请求过程如下:
4. VXLAN 数据传输
按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
→我们致力于为广大网民解决所遇到的各种电脑技术问题 如果您认为本词条还有待完善,请 编辑词条