2. VXLAN数据平面基础

VXLAN(Virtual eXtensible LAN)的核心思想,是把二层以太网帧封装进UDP报文,在IP网络上"打隧道"传输。理解数据平面,关键要抓住四件事:封装格式长什么样、VNI与BD如何对应、VTEP扮演什么角色、一个帧从源到目的究竟走了哪些步骤。本节围绕这四点展开,并结合Comware的实现要点说明。

一、VXLAN封装格式

VXLAN报文由"外层头 + VXLAN头 + 原始以太网帧"组成。外层是标准的UDP/IP封装,VXLAN头固定8字节,其后才是被封装的内层原始帧。各字段含义如下:

层次关键字段作用
外层以太头源/目的MAC由承载网逐跳重写,指向下一跳
外层IP头源IP=本端VTEP,目的IP=对端VTEP隧道端点的定位依据
外层UDP头目的端口4789(可配置)标识VXLAN流量
VXLAN头Flags、VNI(24位)、ReservedVNI标识所属二层域
内层原始帧内层源/目的MAC、原始载荷被透明传输的用户数据

需要特别注意:VNI是24位,理论可支持约1600万个二层网段,远超传统VLAN的12位4094个。VNI只在外层VXLAN头中体现,内层原始帧里并不携带VNI信息,因此内层帧的VLAN标签在隧道中通常被剥离或保留由具体实现决定。

二、VNI与BD映射

在Comware设备上,VNI不会直接绑定到物理接口,而是先映射到一个BD(Bridge Domain,桥接域),再由BD关联二层接口或VSI虚接口。可以这样理解:BD是设备内部的"二层转发实例",VNI是这个实例在隧道网络中的"身份证"。映射关系为:

  • 一个VNI对应一个BD,通常一一对应;
  • BD内通过AC(接入电路)连接本地用户,通过VXLAN隧道连接远端VTEP;
  • 同一BD内的MAC地址学习结果,会通过VXLAN隧道同步到对端VTEP。

典型配置片段如下,先建VSI并指定VXLAN,再绑定VNI:

vsi vpna
 vxlan 10000
  tunnel 1
  tunnel 1 destination 2.2.2.2
interface Vsi-interface1
 ip address 10.1.1.1 255.255.255.0

这里VSI相当于BD的载体,VNI 10000即该二层域的标识。对端VTEP地址2.2.2.2决定了隧道出口。

三、VTEP角色

VTEP(VXLAN Tunnel End Point)是隧道的端点,负责封装与解封装。按部署位置可分为两类:

  • 硬件VTEP:由交换机、路由器等网络设备承担,性能高,是园区和数据中心的主流选择;
  • 软件VTEP:由服务器上的vSwitch实现,常见于虚拟化环境。

在Comware组网中,VTEP通常由支持VXLAN的交换机担任。每个VTEP至少有一个用于隧道的源地址(本端VTEP IP),并维护一张VXLAN隧道表,记录对端VTEP地址与出接口。VTEP之间可以是全互联,也可以借助EVPN等控制平面动态建立隧道,避免手工配置N²条隧道。

四、隧道转发流程

下面这张图展示了一个帧从本地主机到远端主机的完整转发路径,包含封装、承载网转发、解封装三个阶段:

VXLAN隧道转发流程(封装—承载—解封装) 主机A MAC_A / IP_A VTEP-1 源IP: 1.1.1.1 VNI: 10000 BD/VSI: vpna 封装:加UDP+VXLAN头 IP承载网 按外层IP转发 VTEP-2 目的IP: 2.2.2.2 VNI: 10000 BD/VSI: vpna 解封装:剥外层头 主机B MAC_B / IP_B 隧道中报文结构(自外向内) 外层以太头 外层IP头 UDP头 VXLAN头(VNI) 内层原始以太帧

流程可归纳为:主机A发出原始帧 → VTEP-1查BD/VSI,确定VNI与对端VTEP → 封装外层UDP/IP/VXLAN头 → 承载网按外层目的IP逐跳转发 → VTEP-2收到后校验VNI,剥离外层头 → 按内层目的MAC在对应BD内转发给主机B。整个过程对两端主机完全透明,主机A、B感知不到隧道存在。

五、Comware实现要点

在Comware上落地VXLAN数据平面,需要关注以下几点:

  • 隧道源地址:必须使用设备上已配置且路由可达的接口地址作为本端VTEP IP,通常用Loopback接口,保证隧道稳定。
  • VSI与VNI绑定:通过vsi视图下的vxlan命令指定VNI,并配置tunnel指向对端VTEP地址。
  • AC接入:用户侧接口需绑定到VSI,可用xconnect方式将接口与VSI关联,实现本地二层接入。
  • MAC学习:默认采用数据平面泛洪+源MAC学习,也可结合EVPN控制平面实现MAC同步,减少泛洪。
  • MTU:VXLAN封装会增加约50字节开销,承载网MTU需相应放大,否则大包会被分片或丢弃。
排查VXLAN不通时,可按"本端封装是否成功 → 外层IP是否可达 → 对端VNI是否匹配 → 内层MAC是否学习到"的顺序逐段定位,比盲目抓包更高效。