转发基础:VLAN、LAG、生成树与路由 · 交换机基础 · 网卡与交换机 · 文档 · CodingBox
CodingBox 文档

转发基础:VLAN、LAG、生成树与路由

光模块问题从不会以"光模块问题"的面目出现。它表现为生成树拓扑变化、LAG 成员被挂起、OSPF 邻居反复震荡、VXLAN 隧道闪断,或者"一半用户变慢"。要把这些现象读回物理层,需要掌握转发层的词汇:交换机如何学习 MAC 地址、VLAN 和 trunk 是什么、链路聚合如何对流量做哈希、生成树为什么阻塞端口,以及链路闪断时路由协议会做什么。本页就是这套词汇,只保留根因可能是脏连接器时用得上的部分。

二层:MAC 学习与 VLAN

概念发生了什么光模块视角
MAC 学习每个帧的源 MAC 被记录到入接口;未知目的地址被泛洪端口闪断会清空并重新学习表项——每次闪断后都有短暂泛洪
老化表项过期(默认 300 秒)—
VLAN(802.1Q)一个广播域;帧在 trunk 上携带 12 位标签(1–4094)—
Access 端口一个未打标签的 VLAN—
Trunk 端口多个打标签的 VLAN,一个未打标签的 native VLAN上行链路两端 native VLAN 不一致表现为部分连通,而不是链路故障
MTU / 巨帧默认 1500 字节,巨帧 9000–9216 字节上行链路两端 MTU 不一致时小包能通过、大包被丢弃——看起来像间歇性光模块故障
风暴控制、BPDU guard、端口安全关闭端口的保护特性由此产生的 errdisable 端口看起来像模块失效(现象索引)

生成树

变体收敛时间说明
STP(802.1D)30–50 秒传统协议
RSTP(802.1w)< 1–3 秒大多数设备的默认协议
MSTP(802.1s)与 RSTP 相同,按实例按 VLAN 分组
PVST+/Rapid-PVST+按 VLANCisco

生成树会阻塞冗余的二层路径。一个有问题的光模块会对它造成以下影响:

  • 上行链路闪断会产生拓扑变化通知(TCN);每次 TCN 都会在全网范围内清空 MAC 表并引发数秒的泛洪——每次闪断用户都会感到卡顿(链路闪断);
  • 单向链路(一根光纤断开,Tx 正常、Rx 不通)如果导致 BPDU 停止到达,可能形成环路——UDLD、 loop guard 和 bridge assurance 正是为此而设(无链路);
  • 冗余链路上出现阻塞端口指示灯(琥珀色)属于正常现象,不是故障(端口命名与指示灯)。

Leaf-spine 架构通过让每条链路都走路由来避免使用 STP。

链路聚合(LAG、port-channel、bond)

项目规则
协议LACP(802.1AX / 802.3ad):成员交换 PDU,协商成员关系;静态 LAG 没有保护机制
成员速率、双工、MTU 必须相同;大多数 NOS 还要求 FEC 和介质类型一致——4 × 25G 光模块或 4 × 25G DAC,不能混用
哈希按 MAC/IP/端口字段的哈希分配流量;单条流量永远不会超过一个成员的速率
有错误的成员只要 PDU 能通过,LACP 就会把它留在捆绑内;某个成员上的 CRC 错误会破坏哈希到它的流量——"部分会话变慢,其他正常"是典型特征(VDM 与 FEC 指标)
最小链路数如果 up 的成员少于 N 个,整个捆绑就会断开——防止在单条劣化链路上继续运行
名称各 NOS 的叫法为 Port-channel、ae、Eth-Trunk、bond、PortChannel
跨两台交换机MLAG/vPC/VLT(堆叠与 MLAG)

实践建议:当 LAG"能用但很慢"时,检查每个成员的计数器和 DDM,而不是检查捆绑本身。

三层:交换机上的路由

概念含义光模块视角
SVI / 路由端口VLAN 上或物理端口上的 IP 接口路由上行链路没有 STP;闪断是一次路由事件
静态 / OSPF / IS-IS / BGP路由协议;数据中心架构使用 BGP(每条链路一个 eBGP)或 OSPF邻居 up/down 日志能精确定位哪条链路何时闪断
ECMP在 N 条上行链路上的等价多路径;流量哈希方式与 LAG 类似一条劣化上行链路会影响 1/N 的流量;BFD(50–300 毫秒)比协议自身的计时器更快发现故障
抑制(Dampening)抑制反复闪断的接口发布路由闪断的光模块最终被抑制——链路"up"但流量不被路由
VRF独立的路由表(注意管理 VRF!)通过错误的 VRF ping 交换机看起来像链路故障
首跳冗余(HSRP/VRRP)两台交换机间的虚拟网关闪断会引发网关切换

Overlay

叠加网络应用场景光模块视角
VXLAN / EVPN数据中心架构:三层之上的二层隧道走 ECMP;某条 spine 链路故障会随机地、而非确定性地影响隧道
MPLS / SR运营商网络快速重路由(< 50 毫秒)会掩盖闪断——需要检查底层(underlay)计数器
EVPN 多归属(ESI-LAG)替代 MLAG成员链路连到不同的 leaf,规则与 LAG 成员相同

流控与无损分类

机制目的光模块视角
802.3x pause让邻居暂停发送很少使用;全局 pause 会掩盖拥塞
PFC(802.1Qbb)面向 RoCE/FCoE 的按优先级 pause存在 CRC 错误的链路触发的是重传而非 pause——但闪断端口引发的 pause 风暴会导致无损分类在全网范围内停滞(无损以太网)
ECN标记拥塞—

把转发层现象读回物理层

转发层现象需要检查的物理原因
每隔几分钟出现 STP TCN,日志中有 MAC 闪断某条上行链路闪断——DDM Rx 功率接近灵敏度、连接器脏污
LACP 成员处于 "suspended" / "individual"该成员 FEC 或速率不匹配;模块未被识别
OSPF/BGP 邻居在某条链路上反复重置光模块闪断,或模块达到温度极限
ECMP:部分流量变慢或丢包某条上行链路存在 FEC 不可纠正错误 / CRC 错误
巨帧失败,ping 正常MTU 问题——与光模块无关
光纤维修后出现环路或广播风暴单向链路、MPO 极性接反、缺少 UDLD
软件升级后流量中断新版本拒绝第三方光模块(兼容性矩阵与固件)
服务器看到链路 up,但没有流量VLAN 错误/native 不匹配,或交换机侧配了 LAG 而服务器侧没配

每一行对应的物理层排查步骤:现象索引、 在交换机上验证光模块。

在 CodingBox 中

转发层的现象指向一个端口;端口指向一个模块;模块的 DDM、身份信息和阈值——无论是在交换机上读取还是在工作台上读取——才能真正结案。在代码数据库中为每个模块保留记录,能把"LAG 又变慢了"变成"成员 3,序列号 X,Rx −17 dBm,已更换"。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。