本节概览
今天把第 13 天的"状态解读"推进到"命令类别和故障证据"。核心案例是:广播正常、已知单播间歇丢包、两个 VTEP 可达、Aliasing 存在,但主机 MAC 在 Leaf1/Leaf2 或本地 Eth-Trunk 与 NVE1 之间 Flapping。重点训练如何避免把所有故障都归到 Underlay,并建立从 MAC 学习接口反推根因的分层方法。
上一课:\[AIDC学习日志-第13天-EVPN多归属命令验证与状态解读]
一、今日学习目标与完成情况
- 理解 BGP EVPN Established 不等于 EVPN 业务状态完整
- 能区分 per-ES 成员和 per-EVI 服务级成员
- 能解释 Type 2 只有一个锚点时,Aliasing 仍可能包含多个成员
- 能区分 DF/BUM 与已知单播/Aliasing
- 能从本地 MAC 接口和 NVE1 的跳变方向推断故障范围
- 能把 MAC Flapping 与服务器 Bond/LACP、ESI、M-LAG、双主保护、二层环路和控制面/数据面不同步关联起来
- 能建立华为 VRP/CloudEngine 的分层验证命令框架
- 能说明 Underlay VTEP 可达不等于 Leaf 到服务器的下行接入正常
- 完成今天的综合判断题并记录错误前提和修正
今天完成的是理论、模拟输出和排障顺序训练。尚未在真实 CloudEngine 设备上执行命令,因此命令名称和字段仍需以具体 VRP/CloudEngine 版本为准。
二、先纠正今天最重要的分层混淆
今天多次出现"故障是不是 Underlay"的判断。正确边界如下:
| 区域 | 主要职责 | 典型故障 |
|---|---|---|
| Leaf-Spine Underlay | 到达远端 VTEP 的底层 IP 路径 | Loopback /32 不可达、OSPF/BGP 邻居异常、ECMP错误 |
| VXLAN/EVPN Overlay | 承载租户、VNI、MAC/IP 和 ESI 业务 | Type 1/2异常、Aliasing缺失、VNI映射错误 |
| Leaf 到服务器接入侧 | 服务器物理接入、Eth-Trunk、LACP、ESI成员 | Bond/LACP异常、成员链路Down、MAC Flapping |
| 服务器本身 | Bond、网卡、驱动、主机桥接和业务接口 | Bond系统ID异常、重复发送、双网卡配置错误 |
| 数据面参数 | 实际转发和报文尺寸 | MAC出口错误、MTU不足、ACL丢弃、MAC安全策略 |
必须记住:
text
Leaf-Spine之间的三层网络 = Underlay
Leaf到服务器的双归属接入 = 下行接入/多归属成员链路
服务器两块网卡的聚合 = Bond/LACP
VLAN、BD、VNI、ESI、MAC表 = Overlay/二层数据面
所以:
text
服务器Bond异常
≠
Underlay故障
Leaf2到服务器的成员链路Down
≠
Leaf2的VTEP一定不可达
VTEP可以Ping通
≠
Leaf2一定可以把报文送到服务器
三、今日案例拓扑
#mermaid-svg-6vb5N8QAwex5QHDw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6vb5N8QAwex5QHDw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6vb5N8QAwex5QHDw .error-icon{fill:#552222;}#mermaid-svg-6vb5N8QAwex5QHDw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6vb5N8QAwex5QHDw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6vb5N8QAwex5QHDw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6vb5N8QAwex5QHDw .marker.cross{stroke:#333333;}#mermaid-svg-6vb5N8QAwex5QHDw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6vb5N8QAwex5QHDw p{margin:0;}#mermaid-svg-6vb5N8QAwex5QHDw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6vb5N8QAwex5QHDw .cluster-label text{fill:#333;}#mermaid-svg-6vb5N8QAwex5QHDw .cluster-label span{color:#333;}#mermaid-svg-6vb5N8QAwex5QHDw .cluster-label span p{background-color:transparent;}#mermaid-svg-6vb5N8QAwex5QHDw .label text,#mermaid-svg-6vb5N8QAwex5QHDw span{fill:#333;color:#333;}#mermaid-svg-6vb5N8QAwex5QHDw .node rect,#mermaid-svg-6vb5N8QAwex5QHDw .node circle,#mermaid-svg-6vb5N8QAwex5QHDw .node ellipse,#mermaid-svg-6vb5N8QAwex5QHDw .node polygon,#mermaid-svg-6vb5N8QAwex5QHDw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6vb5N8QAwex5QHDw .rough-node .label text,#mermaid-svg-6vb5N8QAwex5QHDw .node .label text,#mermaid-svg-6vb5N8QAwex5QHDw .image-shape .label,#mermaid-svg-6vb5N8QAwex5QHDw .icon-shape .label{text-anchor:middle;}#mermaid-svg-6vb5N8QAwex5QHDw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-6vb5N8QAwex5QHDw .rough-node .label,#mermaid-svg-6vb5N8QAwex5QHDw .node .label,#mermaid-svg-6vb5N8QAwex5QHDw .image-shape .label,#mermaid-svg-6vb5N8QAwex5QHDw .icon-shape .label{text-align:center;}#mermaid-svg-6vb5N8QAwex5QHDw .node.clickable{cursor:pointer;}#mermaid-svg-6vb5N8QAwex5QHDw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-6vb5N8QAwex5QHDw .arrowheadPath{fill:#333333;}#mermaid-svg-6vb5N8QAwex5QHDw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6vb5N8QAwex5QHDw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6vb5N8QAwex5QHDw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6vb5N8QAwex5QHDw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-6vb5N8QAwex5QHDw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6vb5N8QAwex5QHDw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-6vb5N8QAwex5QHDw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6vb5N8QAwex5QHDw .cluster text{fill:#333;}#mermaid-svg-6vb5N8QAwex5QHDw .cluster span{color:#333;}#mermaid-svg-6vb5N8QAwex5QHDw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6vb5N8QAwex5QHDw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-6vb5N8QAwex5QHDw rect.text{fill:none;stroke-width:0;}#mermaid-svg-6vb5N8QAwex5QHDw .icon-shape,#mermaid-svg-6vb5N8QAwex5QHDw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6vb5N8QAwex5QHDw .icon-shape p,#mermaid-svg-6vb5N8QAwex5QHDw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-6vb5N8QAwex5QHDw .icon-shape .label rect,#mermaid-svg-6vb5N8QAwex5QHDw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6vb5N8QAwex5QHDw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-6vb5N8QAwex5QHDw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-6vb5N8QAwex5QHDw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Eth-Trunk/成员链路
Eth-Trunk/成员链路
Spine1
Underlay
Spine2
Underlay
Leaf1
VTEP 3.3.3.3
Leaf2
VTEP 4.4.4.4
Leaf3
远端观察Leaf
ESI 1001
多归属Ethernet Segment
服务器
Bond/LACP双上联
基础状态假设:
text
Leaf1、Leaf2 共同连接服务器;
ESI 为 1001;
业务运行在 VNI 1010;
Leaf1、Leaf2 的 VTEP 分别为 3.3.3.3 和 4.4.4.4;
Leaf3 作为远端 Leaf;
All-Active 场景下两个成员都可能参与已知单播;
DF 只决定当前EVI的BUM下游交付责任。
四、状态解读的五个层次
1. BGP EVPN 邻居
常见命令类别:
text
display bgp evpn peer
display bgp peer
看到:
text
3.3.3.3 Established
4.4.4.4 Established
只能证明:
text
BGP控制平面邻居会话建立
不能直接证明:
text
Type 1/2/3/5都已经正确
per-EVI成员完整
Aliasing已经形成
VNI/NVE数据面正常
服务器接入链路正常
2. Underlay VTEP 路由
常见命令类别:
text
display ip routing-table 3.3.3.3
display ip routing-table 4.4.4.4
display ospf peer
display bgp peer
也可以使用指定源测试:
text
ping -a <本端Loopback> 3.3.3.3
ping -a <本端Loopback> 4.4.4.4
这主要验证:
text
Leaf3是否有到远端VTEP Loopback /32 的路由
外层VTEP之间是否具备IP可达性
但必须注意:
text
Underlay VTEP可达
≠
远端Leaf到服务器的下行成员链路正常
3. Type 1、Type 2
Type 1 主要关注:
text
ESI
per-ES成员
per-EVI成员
EAD
撤销和收敛
Type 2 主要关注:
text
MAC
IP
ESI
Next-Hop/VTEP
VNI/EVI
关系:
text
Type 1 per-ES:
整个Ethernet Segment有哪些成员
Type 1 per-EVI:
哪些成员参加某个具体VNI/EVI业务
Type 2:
具体主机的MAC/IP位置
4. Aliasing
Aliasing 的逻辑链条:
#mermaid-svg-W9Ct9kqysDPnC5uk{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-W9Ct9kqysDPnC5uk .error-icon{fill:#552222;}#mermaid-svg-W9Ct9kqysDPnC5uk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-W9Ct9kqysDPnC5uk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-W9Ct9kqysDPnC5uk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-W9Ct9kqysDPnC5uk .marker.cross{stroke:#333333;}#mermaid-svg-W9Ct9kqysDPnC5uk svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-W9Ct9kqysDPnC5uk p{margin:0;}#mermaid-svg-W9Ct9kqysDPnC5uk .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster-label text{fill:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster-label span{color:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster-label span p{background-color:transparent;}#mermaid-svg-W9Ct9kqysDPnC5uk .label text,#mermaid-svg-W9Ct9kqysDPnC5uk span{fill:#333;color:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk .node rect,#mermaid-svg-W9Ct9kqysDPnC5uk .node circle,#mermaid-svg-W9Ct9kqysDPnC5uk .node ellipse,#mermaid-svg-W9Ct9kqysDPnC5uk .node polygon,#mermaid-svg-W9Ct9kqysDPnC5uk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-W9Ct9kqysDPnC5uk .rough-node .label text,#mermaid-svg-W9Ct9kqysDPnC5uk .node .label text,#mermaid-svg-W9Ct9kqysDPnC5uk .image-shape .label,#mermaid-svg-W9Ct9kqysDPnC5uk .icon-shape .label{text-anchor:middle;}#mermaid-svg-W9Ct9kqysDPnC5uk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-W9Ct9kqysDPnC5uk .rough-node .label,#mermaid-svg-W9Ct9kqysDPnC5uk .node .label,#mermaid-svg-W9Ct9kqysDPnC5uk .image-shape .label,#mermaid-svg-W9Ct9kqysDPnC5uk .icon-shape .label{text-align:center;}#mermaid-svg-W9Ct9kqysDPnC5uk .node.clickable{cursor:pointer;}#mermaid-svg-W9Ct9kqysDPnC5uk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-W9Ct9kqysDPnC5uk .arrowheadPath{fill:#333333;}#mermaid-svg-W9Ct9kqysDPnC5uk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-W9Ct9kqysDPnC5uk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-W9Ct9kqysDPnC5uk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-W9Ct9kqysDPnC5uk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-W9Ct9kqysDPnC5uk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-W9Ct9kqysDPnC5uk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster text{fill:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk .cluster span{color:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-W9Ct9kqysDPnC5uk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-W9Ct9kqysDPnC5uk rect.text{fill:none;stroke-width:0;}#mermaid-svg-W9Ct9kqysDPnC5uk .icon-shape,#mermaid-svg-W9Ct9kqysDPnC5uk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-W9Ct9kqysDPnC5uk .icon-shape p,#mermaid-svg-W9Ct9kqysDPnC5uk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-W9Ct9kqysDPnC5uk .icon-shape .label rect,#mermaid-svg-W9Ct9kqysDPnC5uk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-W9Ct9kqysDPnC5uk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-W9Ct9kqysDPnC5uk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-W9Ct9kqysDPnC5uk :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Type 1 per-ES
Type 1 per-EVI/EAD
Type 2 MAC/IP
控制面计算候选成员
Aliasing成员集合
检查VTEP /32 Underlay可达
数据面安装有效出口
已知单播实际转发
不能把下面两个数量简单画等号:
text
Type 2 的Next-Hop数量
≠
Aliasing成员数量
例如:
text
Type 2锚点:Leaf1
per-EVI成员:Leaf1、Leaf2
Aliasing:Leaf1、Leaf2
5. DF
DF 要结合 ESI 和具体 EVI/VNI 查看:
text
ESI 1001 + VNI 1010
Leaf1 = DF
Leaf2 = Non-DF
含义是:
text
Leaf1主要负责该EVI向多归属下游段交付BUM
不能推出:
text
Leaf2不能转发任何业务
已知单播只能走Leaf1
Leaf2就是Standby
尤其在 All-Active 中:
text
Non-DF ≠ Standby
All-Active ≠ 一主一备
五、MAC Flapping 是什么
MAC Flapping 表示同一个 MAC 地址在不同接口或不同逻辑出口之间反复变化。
例如:
text
MAC-C → Leaf1本地成员口
MAC-C → Leaf2本地成员口
MAC-C → Leaf1本地成员口
或者:
text
MAC-C → Eth-Trunk10
MAC-C → NVE1
MAC-C → Eth-Trunk10
它可能导致:
text
MAC表频繁刷新
已知单播被送往错误成员
业务间歇丢包
流量时通时断
MAC Flapping告警
二层环路时产生BUM重复和拥塞
MAC Flapping 是数据面观察到的现象,但根因不一定只在数据面。可能根因包括:
text
服务器Bond/LACP配置异常
Leaf双归属ESI配置错误
M-LAG/Peer-Link状态异常
双主保护失效
接入侧二层环路
远端错误学习或旧MAC状态残留
控制面与数据面不同步
六、根据跳变方向缩小范围
#mermaid-svg-9kQpC15rDv2QJFXh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9kQpC15rDv2QJFXh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9kQpC15rDv2QJFXh .error-icon{fill:#552222;}#mermaid-svg-9kQpC15rDv2QJFXh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9kQpC15rDv2QJFXh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9kQpC15rDv2QJFXh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9kQpC15rDv2QJFXh .marker.cross{stroke:#333333;}#mermaid-svg-9kQpC15rDv2QJFXh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9kQpC15rDv2QJFXh p{margin:0;}#mermaid-svg-9kQpC15rDv2QJFXh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9kQpC15rDv2QJFXh .cluster-label text{fill:#333;}#mermaid-svg-9kQpC15rDv2QJFXh .cluster-label span{color:#333;}#mermaid-svg-9kQpC15rDv2QJFXh .cluster-label span p{background-color:transparent;}#mermaid-svg-9kQpC15rDv2QJFXh .label text,#mermaid-svg-9kQpC15rDv2QJFXh span{fill:#333;color:#333;}#mermaid-svg-9kQpC15rDv2QJFXh .node rect,#mermaid-svg-9kQpC15rDv2QJFXh .node circle,#mermaid-svg-9kQpC15rDv2QJFXh .node ellipse,#mermaid-svg-9kQpC15rDv2QJFXh .node polygon,#mermaid-svg-9kQpC15rDv2QJFXh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9kQpC15rDv2QJFXh .rough-node .label text,#mermaid-svg-9kQpC15rDv2QJFXh .node .label text,#mermaid-svg-9kQpC15rDv2QJFXh .image-shape .label,#mermaid-svg-9kQpC15rDv2QJFXh .icon-shape .label{text-anchor:middle;}#mermaid-svg-9kQpC15rDv2QJFXh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9kQpC15rDv2QJFXh .rough-node .label,#mermaid-svg-9kQpC15rDv2QJFXh .node .label,#mermaid-svg-9kQpC15rDv2QJFXh .image-shape .label,#mermaid-svg-9kQpC15rDv2QJFXh .icon-shape .label{text-align:center;}#mermaid-svg-9kQpC15rDv2QJFXh .node.clickable{cursor:pointer;}#mermaid-svg-9kQpC15rDv2QJFXh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9kQpC15rDv2QJFXh .arrowheadPath{fill:#333333;}#mermaid-svg-9kQpC15rDv2QJFXh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9kQpC15rDv2QJFXh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9kQpC15rDv2QJFXh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9kQpC15rDv2QJFXh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9kQpC15rDv2QJFXh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9kQpC15rDv2QJFXh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9kQpC15rDv2QJFXh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9kQpC15rDv2QJFXh .cluster text{fill:#333;}#mermaid-svg-9kQpC15rDv2QJFXh .cluster span{color:#333;}#mermaid-svg-9kQpC15rDv2QJFXh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9kQpC15rDv2QJFXh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9kQpC15rDv2QJFXh rect.text{fill:none;stroke-width:0;}#mermaid-svg-9kQpC15rDv2QJFXh .icon-shape,#mermaid-svg-9kQpC15rDv2QJFXh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9kQpC15rDv2QJFXh .icon-shape p,#mermaid-svg-9kQpC15rDv2QJFXh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9kQpC15rDv2QJFXh .icon-shape .label rect,#mermaid-svg-9kQpC15rDv2QJFXh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9kQpC15rDv2QJFXh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9kQpC15rDv2QJFXh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9kQpC15rDv2QJFXh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Leaf1/Leaf2本地成员口
本地Eth-Trunk/NVE1
多个NVE远端
发现MAC Flapping
MAC在哪些出口之间跳变?
优先查Bond/LACP、Eth-Trunk、ESI成员
优先查二层环路、双主、Split Horizon、ESI
查远端重复主机、MAC发布、控制面同步
检查服务器和接入数据面
检查多归属保护和环路抑制
检查EVPN Type 2与MAC Mobility
情况 A:只在 Leaf1、Leaf2 本地成员口之间跳变
优先检查:
text
服务器Bond/LACP
Leaf两侧Eth-Trunk
LACP系统ID
ESI和多归属成员
服务器是否重复发送
情况 B:在本地 Eth-Trunk 和 NVE1 之间跳变
优先检查:
text
二层环路
ESI配置
双主保护
Peer-Link/Keepalive
Split Horizon或本地回环抑制
远端Leaf是否错误学习MAC
控制面/数据面是否同步
不能只把它归因于服务器 Bond,因为跳变已经跨越:
text
本地接入侧
和
VXLAN远端隧道
情况 C:本地 MAC 被远端 NVE 学到
如果确认 MAC-C 属于本地服务器,却在 NVE1 上学习到,优先怀疑:
text
二层环路
ESI/多归属配置错误
双主保护失效
远端错误发布或旧MAC残留
控制面与数据面不同步
"环路"是优先假设,但需要继续用 MAC 学习、ESI、Peer-Link 和实际抓包证实,不能在证据不足时绝对断言。
七、华为 VRP/CloudEngine 验证框架
不同设备版本命令可能不同,先使用:
text
display ?
display evpn ?
display vxlan ?
1. 接口和Eth-Trunk
text
display interface brief
display eth-trunk
display lacp statistics
关注:
text
物理接口是否Up
成员是否Selected
是否有Unselected/Individual/Standby
LACP协商是否正常
两台Leaf的聚合身份是否一致
关键边界:
text
物理接口Up
≠
LACP聚合正常
2. MAC学习和Flapping
text
display mac-address dynamic
display mac-address flapping
关注:
text
MAC-C当前接口
上一次学习接口
跳变次数
是否在本地接口和NVE之间切换
是否有保护动作或告警
模拟输出:
text
MAC-C:
Previous interface: Eth-Trunk10
Current interface : Nve1
Count : 38
这不是普通本地LACP跳变,而是本地接入和远端Overlay之间的跳变,应提升对环路、ESI、双主和控制面同步的怀疑。
3. ESI、EAD、多归属
版本相关命令类别:
text
display evpn ?
display ethernet-segment ?
确认:
text
Leaf1、Leaf2的ESI是否完全一致
ESI是否绑定正确Eth-Trunk
当前VNI/EVI是否都参与
All-Active/Single-Active是否一致
成员是否Valid
4. M-LAG、Peer-Link、双主保护
如果使用 M-LAG:
text
display m-lag
display dfs-group
display peer-link
确认:
text
Peer-Link是否Up
Keepalive是否正常
M-LAG Domain是否一致
是否进入双主保护或孤立保护状态
两台Leaf是否错误地同时独立转发
5. VNI/NVE
text
display vxlan vni
display nve peer
display interface nve
确认:
text
VNI 1010是否Up
NVE源地址是否为正确Loopback
远端VTEP是否建立
VLAN/BD/VNI映射是否一致
6. MTU与大报文
text
display interface
ping -f -l <size> <目标地址>
典型现象:
text
小报文正常
大报文丢失
VXLAN业务异常
MTU不足通常不是 MAC Flapping 的首要解释,但在控制面和MAC出口都正常、只有大报文丢失时必须检查。
八、今天的模拟输出与课堂问答
本节保留你的原回答和批改;独立 CSDN 稿件不包含课堂问答。
第一轮:per-EVI与VTEP验证
模拟输出:
text
BGP EVPN Peer:
3.3.3.3 Established
4.4.4.4 Established
Type 1 per-ES:
3.3.3.3 Valid
4.4.4.4 Valid
Type 1 per-EVI:
3.3.3.3 Valid
Type 2:
MAC-C → NextHop 3.3.3.3
Underlay:
ping 3.3.3.3 成功
ping 4.4.4.4 成功
问题 1:为什么 BGP 两个邻居都是 Established,但 Aliasing 可能仍不完整?
我的回答:4.4.4.4 不是实际有效的出口。
批改:这个回答更接近后续结果,不是根因。BGP Established 只说明会话建立;当前 per-EVI 只有 Leaf1,优先怀疑 Leaf2 没有发布或远端没有学习到该 EVI 的 EAD/per-EVI 成员信息。
问题 2:per-ES 有 Leaf1、Leaf2,per-EVI 只有 Leaf1,缺失的是什么范围?
我的回答:VNI。
批改:方向接近。完整表述是:缺失的是当前具体 VNI/EVI 的服务级成员信息。应查 Leaf2 的 VNI绑定、BD映射、ESI-EVI关系、EAD发布和策略过滤。
问题 3:Type 2 指向 Leaf1,能否断定已知单播只能走 Leaf1?
我的回答:不能,Aliasing和Underlay数据层都没测。
批改:结论正确。还需检查 per-EVI/EAD、Aliasing成员和VTEP可达。Underlay应拆成路由控制面与实际数据面转发,不能笼统称为"Underlay数据层"。
问题 4:两个 VTEP 都能 Ping 通,能否断定业务正常?
我的回答:不能。
批改:正确。还要查 VNI/NVE、EVPN Type 1/2、BD/VRF映射、MAC表、MTU、ACL和服务器接入。
问题 5:这组输出优先检查什么?
我的回答:先查接口和双上联LACP。
批改:当前证据下优先级不对。per-ES和Underlay已正常,首查 Leaf2 的 per-EVI/EAD、VNI/BD绑定、ESI-EVI关系和EVPN策略;接口/LACP仍要复查,但不是第一怀疑点。
第二轮:Aliasing、DF与Underlay
问题 1:Type 2 仍只指向 Leaf1,为什么 Aliasing 还能包含 Leaf2?
我的回答:对应ESI,候选Leaf成员。
批改:正确。Type 2提供主机位置锚点,per-EVI提供服务级成员,远端结合ESI形成多个候选出口。
问题 2:Leaf2 是 Non-DF,能否参与已知单播转发?
我的回答:可以,DF只针对BUM。
批改:正确。Non-DF仍可能参与已知单播,DF主要限制向该EVI下游多归属段交付BUM。
问题 3:Leaf2 VTEP /32 不可达时,控制面和数据面可能怎样?
我的回答:控制面不变,数据面invalid。
批改:方向正确但需加条件。控制面可能暂时保留Aliasing,数据面可能标记Leaf2无效并移除;如果收敛滞后,也可能暂时残留旧出口并造成间歇丢包。
问题 4:广播重复但已知单播正常,优先查什么?
我的回答:DF。
批改:正确。优先查DF、BUM复制、下游交付、Split Horizon和双主保护。
问题 5:All-Active 中 Leaf1 故障,Leaf2 是否从 Standby 切换为 Active?
我的回答:不用,一主一备。
批改:前半句正确,后半句错误。All-Active不是一主一备,Leaf1/Leaf2原本都是可用成员;Leaf1故障后删除Leaf1,Leaf2继续转发。只有Single-Active才是活动/备用接管关系。
第三轮:接入故障与MAC Flapping
问题 1:为什么广播正常仍不能排除 Leaf2 下行故障?
我的回答:不知道Underlay。
批改:错误前提。广播路径主要受DF/BUM控制,已知单播走Type 2/Aliasing和具体下行成员。广播正常不能证明Leaf2到服务器的接入链路、LACP或本地MAC出口正常。
问题 2:Leaf2本地MAC表显示MAC-C为Drop,更可能在哪一层?
我的回答:不知道。
批改:更可能是二层数据面/业务映射层。应查VLAN、BD、VLAN-BD映射、BD-L2 VNI、ESI状态、Split Horizon和端口安全策略,而不是首先查Underlay。
问题 3:服务器Bond只显示Leaf1成员Up,问题更可能在哪一侧?
我的回答:Underlay。
批改:不正确。更可能是服务器接入侧或Leaf2下行接入侧:服务器第二块网卡、Bond/LACP、Leaf2接口、Eth-Trunk成员、光模块和LACP协商。
问题 4:本地MAC都正常但服务器仍丢包,查MAC Flapping、MTU还是DF?
我的回答:MTU。
批改:部分正确。应同时检查MAC Flapping、MTU、服务器Bond/LACP和实际下行转发;由于广播正常,DF不是第一优先级。MTU更适合解释"大报文异常、小报文正常",不通常解释MAC本身跳变。
第四轮:MAC Flapping方向判断
问题 1:Leaf1、Leaf2 MAC表正常,但MAC在两台Leaf之间反复移动是什么?
我的回答:MAC Flapping,可能导致MAC表在Leaf1、Leaf2之间反复移动。
批改:现象判断正确。后果还包括已知单播不稳定、间歇丢包、流量时通时断、MAC告警,存在环路时还可能造成BUM重复和拥塞。
问题 2:优先检查服务器Bond/LACP还是DF?
我的回答:服务器Bond/LACP。
批改:正确。当前是已知MAC在成员之间移动,DF主要负责BUM,不是第一方向。
问题 3:MAC Flapping属于控制面还是数据面?
我的回答:数据面。
批改:基本正确。MAC Flapping是数据面观察到的现象,但根因可能来自接入、ESI、M-LAG、双主保护、环路或控制面/数据面不同步。
第五轮:本地Eth-Trunk与NVE1跳变
模拟输出:
text
MAC-C:
Previous interface: Eth-Trunk10
Current interface : Nve1
Count : 38
NVE Peer:
4.4.4.4 Up
Eth-Trunk10:
Member1 Selected
Member2 Selected
问题 1:本地 Eth-Trunk 和 NVE1 之间跳变,范围有何不同?
我的回答:需要检查二层环路等问题。
批改:正确。相较于只在Leaf1/Leaf2接入口跳变,此时范围扩大到本地接入与Overlay远端之间,应检查二层环路、ESI、双主保护、Split Horizon、远端错误学习和控制面/数据面同步。
问题 2:NVE Peer Up 能否排除二层环路或ESI问题?
我的回答:不能。
批改:正确。NVE Peer Up只说明远端VTEP邻居建立,不能证明ESI、环路抑制或MAC学习正确。
问题 3:先查服务器Bond/LACP,还是ESI/双主保护和环路抑制?
我的回答:先查服务器Bond。
批改:需要调整优先级。由于跳变跨越本地Eth-Trunk和NVE1,优先查ESI、双主保护、Split Horizon和二层环路,同时复查Bond/LACP。不能把范围先限定为服务器。
问题 4:本地MAC却从NVE1学到,最可能说明什么?
我的回答:环路了。
批改:方向正确,环路是优先假设;但还需排除ESI/多归属配置错误、双主保护失效、远端错误发布、旧MAC残留和控制面/数据面不同步。
第六轮:综合故障结论
场景:
text
广播正常;
已知单播间歇丢包;
Leaf1、Leaf2都在Aliasing;
两个VTEP都可达;
MAC-C在Leaf1、Leaf2之间Flapping;
服务器Bond两条链路都Up;
但LACP系统ID在两侧不一致。
问题 1:最可能根因?
结论:最强线索是 Leaf1、Leaf2 与服务器之间的 LACP/M-LAG 聚合身份不一致,需同时核对服务器Bond。LACP系统ID不一致可能导致两侧无法把链路视为同一正确聚合关系,从而引发MAC Flapping和间歇丢包,但仍应通过命令和输出确认,不能仅凭现象断言唯一根因。
问题 2:为什么不能先修DF?
因为:
text
广播正常
MAC Flapping存在
已知单播间歇丢包
DF主要负责BUM,而当前强线索位于已知单播和接入聚合方向。
问题 3:重点核对什么?
text
服务器Bond模式是否为LACP/802.3ad
两块网卡状态、速率和系统配置
Leaf1/Leaf2 Eth-Trunk成员
LACP系统MAC/系统ID
M-LAG Domain、Peer-Link、Keepalive
ESI是否一致
成员接口和VLAN/BD配置
MAC学习接口及Flapping告警
九、今天的完整排障流程
#mermaid-svg-tyGbDWg41BM0tnaX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-tyGbDWg41BM0tnaX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-tyGbDWg41BM0tnaX .error-icon{fill:#552222;}#mermaid-svg-tyGbDWg41BM0tnaX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-tyGbDWg41BM0tnaX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-tyGbDWg41BM0tnaX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-tyGbDWg41BM0tnaX .marker.cross{stroke:#333333;}#mermaid-svg-tyGbDWg41BM0tnaX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-tyGbDWg41BM0tnaX p{margin:0;}#mermaid-svg-tyGbDWg41BM0tnaX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-tyGbDWg41BM0tnaX .cluster-label text{fill:#333;}#mermaid-svg-tyGbDWg41BM0tnaX .cluster-label span{color:#333;}#mermaid-svg-tyGbDWg41BM0tnaX .cluster-label span p{background-color:transparent;}#mermaid-svg-tyGbDWg41BM0tnaX .label text,#mermaid-svg-tyGbDWg41BM0tnaX span{fill:#333;color:#333;}#mermaid-svg-tyGbDWg41BM0tnaX .node rect,#mermaid-svg-tyGbDWg41BM0tnaX .node circle,#mermaid-svg-tyGbDWg41BM0tnaX .node ellipse,#mermaid-svg-tyGbDWg41BM0tnaX .node polygon,#mermaid-svg-tyGbDWg41BM0tnaX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-tyGbDWg41BM0tnaX .rough-node .label text,#mermaid-svg-tyGbDWg41BM0tnaX .node .label text,#mermaid-svg-tyGbDWg41BM0tnaX .image-shape .label,#mermaid-svg-tyGbDWg41BM0tnaX .icon-shape .label{text-anchor:middle;}#mermaid-svg-tyGbDWg41BM0tnaX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-tyGbDWg41BM0tnaX .rough-node .label,#mermaid-svg-tyGbDWg41BM0tnaX .node .label,#mermaid-svg-tyGbDWg41BM0tnaX .image-shape .label,#mermaid-svg-tyGbDWg41BM0tnaX .icon-shape .label{text-align:center;}#mermaid-svg-tyGbDWg41BM0tnaX .node.clickable{cursor:pointer;}#mermaid-svg-tyGbDWg41BM0tnaX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-tyGbDWg41BM0tnaX .arrowheadPath{fill:#333333;}#mermaid-svg-tyGbDWg41BM0tnaX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-tyGbDWg41BM0tnaX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-tyGbDWg41BM0tnaX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tyGbDWg41BM0tnaX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-tyGbDWg41BM0tnaX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tyGbDWg41BM0tnaX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-tyGbDWg41BM0tnaX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-tyGbDWg41BM0tnaX .cluster text{fill:#333;}#mermaid-svg-tyGbDWg41BM0tnaX .cluster span{color:#333;}#mermaid-svg-tyGbDWg41BM0tnaX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-tyGbDWg41BM0tnaX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-tyGbDWg41BM0tnaX rect.text{fill:none;stroke-width:0;}#mermaid-svg-tyGbDWg41BM0tnaX .icon-shape,#mermaid-svg-tyGbDWg41BM0tnaX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tyGbDWg41BM0tnaX .icon-shape p,#mermaid-svg-tyGbDWg41BM0tnaX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-tyGbDWg41BM0tnaX .icon-shape .label rect,#mermaid-svg-tyGbDWg41BM0tnaX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tyGbDWg41BM0tnaX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-tyGbDWg41BM0tnaX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-tyGbDWg41BM0tnaX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 本地成员口↔本地成员口
本地Eth-Trunk↔NVE1
多个远端NVE
现象:广播正常,已知单播间歇丢包
确认MAC是否Flapping
跳变方向
Bond/LACP、Eth-Trunk、ESI成员
二层环路、ESI、双主、Split Horizon
Type 2、MAC发布、MAC Mobility、控制面同步
检查服务器和接入数据面
检查M-LAG/Peer-Link/Keepalive
检查EVPN路由与远端状态
检查MAC/BD/VNI/MTU/ACL
抓包和实际转发出口验证
工程记录建议至少保留:
text
1. 故障现象和开始时间;
2. interface brief;
3. Eth-Trunk/LACP成员和系统ID;
4. ESI、per-ES、per-EVI状态;
5. Type 2主机位置;
6. Aliasing有效成员;
7. DF和BUM状态;
8. VTEP /32路由与指定源Ping;
9. MAC学习和Flapping历史;
10. 服务器Bond状态;
11. MTU/ACL检查;
12. 修复后控制面、数据面和业务恢复时间。
十、今天的错误前提与修正
| 原判断 | 问题 | 修正 |
|---|---|---|
| BGP Established就代表Aliasing完整 | 会话状态与业务路由完整性混淆 | 还要看Type 1/2、per-EVI、VNI和数据面 |
| per-EVI缺失只回答"VNI" | 没说清服务级成员范围 | 查具体VNI/EVI的EAD、BD映射、策略 |
| 所有丢包优先归因Underlay | 忽略接入和Overlay数据面 | 根据跳变方向分层 |
| 广播正常就可排除下行故障 | BUM与已知单播路径不同 | 广播正常不等于下行单播正常 |
| All-Active是一主一备 | 与Single-Active混淆 | All-Active多活,Single-Active主备 |
| MAC Flapping的后果仍只是"MAC反复移动" | 把现象当成影响 | 还会造成单播不稳定、丢包、告警和环路风险 |
| 本地MAC从NVE学习一定就是环路 | 证据不足时绝对化 | 优先怀疑环路,同时排除ESI、双主和同步问题 |
十一、今日核心记忆卡
text
BGP Established:
只说明BGP会话建立
Underlay VTEP可达:
只说明外层IP路径可达
Type 1 per-ES:
整个ES的成员关系
Type 1 per-EVI:
具体业务的成员关系
Type 2:
具体主机的MAC/IP位置
Aliasing:
多个多归属成员的已知单播候选出口
DF:
当前EVI的BUM下游角色
MAC Flapping:
同一个MAC在不同接口/出口间反复变化
All-Active:
多活,不是一主一备
Single-Active:
主备,需要接管
本地Eth-Trunk ↔ NVE1跳变:
优先查二层环路、ESI、双主和Split Horizon
MAC本地成员口之间跳变:
优先查Bond/LACP和接入聚合
十二、下一课
下一课进入:
text
EVPN多归属实际故障演练设计
→ 正常状态基线
→ 成员链路Down
→ Type 1撤销
→ Aliasing更新
→ MAC表收敛
→ 业务恢复时间
→ All-Active与Single-Active对比
今日状态:第 14 天理论、模拟命令输出和分层排障训练完成;真实设备命令执行仍待实验环境验证。