VXLAN EVPN 分层排障:从 VTEP 可达、ARP/MAC 到 MAC Mobility

引言

VXLAN EVPN 排障中,BGP EVPN 邻居 Established 只能证明控制面会话建立,不能证明业务已经可用。业务报文还依赖 Underlay 到远端 VTEP 的可达性、VNI 和 VRF 映射、NVE 隧道、出口 ARP/MAC,以及回程路径。

本文按实际转发顺序整理一套排障框架,并说明远端 MAC 学习和主机迁移时 MAC Mobility 的作用。

一、固定排障顺序

物理接口 → Underlay 邻居 → Loopback/VTEP 路由 → BGP EVPN 邻居 → Type 2/3/5 → VRF 路由 → L3/L2 VNI 映射 → NVE/VXLAN 隧道 → ARP/MAC → 回程路径

这个顺序解决三个问题:

  1. 远端 Leaf 是否可达;
  2. 租户业务信息是否已经导入;
  3. 出口 Leaf 能否将报文交付给具体服务器。

二、Underlay:先验证 VTEP

VXLAN 的外层报文由 VTEP 地址承载,VTEP 通常使用 Leaf 的 Loopback。

常见检查方向:

复制代码
display interface brief
display ospf peer
display ip routing-table
ping -a 3.3.3.3 4.4.4.4

指定源地址 Ping 可以验证真实的 VTEP 到 VTEP 路径。若远端 VTEP 不可达,即使 EVPN 路由已接收,VXLAN 数据面也无法转发。

三、EVPN 表与 VRF 表必须分开看

常见检查:

复制代码
display bgp evpn routing-table
display ip routing-table vpn-instance Tenant-A

典型判断关系:

现象 优先检查
全局 EVPN 表有 Type 5,VRF 没有 Import/Export RT、Route-Policy、VRF 导入
VRF 有 Type 5,VTEP 不可达 Underlay、Loopback、OSPF/BGP
VRF 和 VTEP 正常,但隧道缺失 NVE、VNI、VXLAN 封装
隧道正常,出口无法交付主机 ARP、MAC、VLAN、BD、接口

RT 控制路由进入哪个业务实例;BGP 邻居 Established 并不等于 VRF 已经获得业务路由,更不等于数据面已经可用。

四、NVE、VNI 与出口二层转发

检查 VXLAN 数据面时,应确认:

复制代码
display vxlan tunnel
display nve peer
display bridge-domain
display arp vpn-instance Tenant-A
display mac-address

重点关系:

复制代码
VLAN → Bridge-Domain → L2 VNI
Tenant VRF → L3 VNI → NVE

出口 Leaf 即使已经通过 Type 5 找到本地目标网段,仍然要通过 ARP 和 MAC 表完成最终交付:

复制代码
目标网段在哪里?
→ Type 5 / VRF 路由

目标 IP 对应哪个 MAC?
→ ARP

目标 MAC 从哪个端口发出?
→ MAC 表

五、本地 MAC 与远端 MAC

Leaf 从接收到的报文源 MAC 学习本地主机:

复制代码
服务器 C 发出 ARP Reply 或业务报文
→ Leaf2 学习 MAC-C
→ MAC-C 指向服务器 C 的本地接入接口

Leaf2 再通过 EVPN Type 2 向其他 Leaf 发布主机位置:

复制代码
MAC-C / IP-C
→ Leaf2
→ VTEP 4.4.4.4
→ L2 VNI

Leaf1 学到远端主机后,MAC-C 不会指向 Leaf2 的物理接口,而是指向远端 VTEP/NVE:

复制代码
MAC-C → 4.4.4.4 → VXLAN 隧道

因此:

复制代码
Type 2:主机在哪台 Leaf
MAC 表:数据面从接口还是 VTEP 转发

六、ARP 抑制与未知单播

Type 2 同时传播 IP/MAC 信息后,Leaf 可以直接回答已知的 ARP 请求,减少远端广播。

如果目标 MAC 完全未知,设备可能泛洪未知单播,也可能按照策略抑制或丢弃。AIDC 网络通常需要控制这类流量,避免大规模 BUM 流量影响计算和存储业务。

复制代码
Type 3:远端 VTEP 成员与 BUM
Type 5:IP 前缀与跨子网三层转发
Type 2:具体主机位置

七、MAC Mobility:主机迁移如何更新位置

服务器从 Leaf2 迁移到 Leaf3 后:

复制代码
旧位置:MAC-C → 4.4.4.4,序列号 10
新位置:MAC-C → 5.5.5.5,序列号 11

正常过程:

  1. Leaf3 在本地学习 MAC-C;
  2. Leaf3 发布新的 EVPN Type 2;
  3. 新路由携带更高的 MAC Mobility 序列号;
  4. 远端 Leaf 选择更高序列号的位置;
  5. Leaf2 撤销旧 Type 2;
  6. MAC 转发表更新为新 VTEP。

MAC Mobility 不是 OSPF Cost,也不是普通 BGP 最佳路径属性。它专门解决同一个 MAC/IP 在不同 Leaf 之间的位置变化。

旧 Type 2 没有撤销时,可能形成:

复制代码
流量继续发往旧 Leaf
→ 报文黑洞
→ MAC 表不稳定
→ 业务时通时断

如果两个 Leaf 长时间同时发布同一个 MAC/IP,应优先排查 MAC 冲突、二层环路、错误双活接入或虚拟化迁移异常。

八、M-LAG 与 EVPN 多归属

M-LAG 让两台 Leaf 对下游服务器表现为一个逻辑系统,支持服务器使用 LACP 双活上联。

EVPN 多归属相关概念:

复制代码
ESI:标识同一个多归属以太网段
DF:指定谁负责特定方向的 BUM 转发
Type 1:多归属自动发现信息

已知单播可以借助 LACP 和哈希在多条链路上负载分担;BUM 流量需要 DF 限制发送者,防止重复帧、MAC Flapping、二层环路和广播风暴。

总结

VXLAN EVPN 的排障主线如下:

复制代码
Underlay 保证远端 VTEP 可达
EVPN 控制面提供 Type 2、Type 3、Type 5
RT 将业务路由导入正确 VRF
NVE/VNI 承载 VXLAN 数据面
ARP/MAC 将报文送到最终主机
MAC Mobility 在主机迁移时更新位置
回程路径决定业务是否真正双向可用

实际设备的命令和显示格式会随厂商和软件版本变化。部署和排障前,应结合具体硬件型号、VRP 版本和实际配置进行验证。

相关推荐
AI风控技术指南1 小时前
大模型安全围栏厂商评估:以数美科技为例拆解能力、架构和 POC 指标
大数据·网络·人工智能
冰暮流星1 小时前
mysql练习1
数据库·mysql
崇子嵘2 小时前
基于zynqMPsoc15eg的linux端axi dma教训总结
linux·运维·服务器
ZJU_统一阿萨姆2 小时前
【算子开发】全局内存访问与合并访存
java·服务器·网络·人工智能·语言模型
三8442 小时前
MySQL 文件读写函数详解:从 CTF 实战到 LOAD_FILE、INTO OUTFILE、LOAD DATA INFILE 应用
数据库·sql
7177772 小时前
不止工具集成:基于 Gitee 软件工厂构建 DevSecOps 研发治理底座
java·服务器·gitee
禁止摆烂_才浅2 小时前
JavaScript 类型判断:instanceof 与 constructor 原理深度解析
前端·javascript·面试
gezg2 小时前
DeepSeek Harness 插件:Excel 拖进输入框,AI 自己去读文件
前端·ai编程
Asize2 小时前
HTTP 明明无状态,登录态怎么就保住了——React + Zustand + JWT 鉴权全流程拆解
前端·javascript