第122篇:Smart Link 主备切换与回流保护
关键词
Smart Link、回流保护、Flush 报文、MAC 地址刷新、负载分担、Preemption
一、回流问题
1.1 什么是回流
当 Smart Link 从备链路切回主链路时,如果不做处理,会导致流量短暂中断:
切回前:
PC ──── 接入 SW ──── 备端口 ──── 汇聚 B ──── Internet
MAC 表:PC 的 MAC → 备端口对应下一跳
切回后:
PC ──── 接入 SW ──── 主端口 ──── 汇聚 A ──── Internet
MAC 表:仍然是 PC 的 MAC → 备端口方向(未更新)
→ 流量丢向错误方向 → 丢包
1.2 解决:Flush 报文
Smart Link 在切换后发送 Flush 报文,通知上游交换机刷新 MAC/ARP 表:
切回时:
1. Smart Link 激活主端口
2. 发送 Flush 报文(组播或广播)
3. 上游交换机收到 Flush → 刷新相关 MAC/ARP
4. 流量重新学习路径 → 恢复正常
Flush 报文携带的信息: - Smart Link 组的 Control VLAN - 需要刷新的 VLAN 列表 - 源设备 ID
二、Flush 报文的配置
2.1 Control VLAN
Flush 报文通过 Control VLAN 传输。所有 Smart Link 设备必须在同一个 Control VLAN 中。
# ===== 所有 Smart Link 设备配置 =====
# 定义 Control VLAN
smart-link flush enable control-vlan 10
# 确认 Control VLAN 在 Trunk 端口上放行
interface GigabitEthernet0/0/1
port trunk allow-pass vlan 10
# 查看 Flush 报文统计
display smart-link flush statistics
-----------------------------------------------
Received Flush packets: 5
Sent Flush packets: 3
2.2 接收 Flush 的配置
上游交换机需要开启 Flush 报文接收能力:
# 上游汇聚交换机
smart-link flush enable control-vlan 10
# 接收到 Flush 后的动作:
# 自动刷新指定 VLAN 的 MAC 和 ARP 表项
三、回切模式
3.1 三种回切模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 非抢占 | 主端口恢复后不切回 | 避免频繁切换 |
| 抢占 | 主端口恢复后立即切回 | 需要主链路优先 |
| 延迟抢占 | 主端口恢复后等待一段时间再切回 | 链路稳定后再切换 |
3.2 配置
# 非抢占模式(默认)
smart-link group 1
preemption mode none
# 抢占模式(立即切回)
smart-link group 1
preemption mode forced
# 延迟抢占(推荐)
smart-link group 1
preemption mode delay 30 # 延迟 30 秒切回
3.3 延迟抢占的用途
主链路恢复后:
第 0 秒:主端口 Up
第 0-30 秒:仍用备端口转发(等待主链路稳定)
第 30 秒:Flush → 切回主端口
好处:避免主链路反复 Flapping 导致频繁切换
四、负载分担方案
4.1 多 Smart Link 组实现负载分担
Smart Link 一个组只有一条链路转发。但通过多个 Smart Link 组可以实现负载分担:
# 组 1:VLAN 10-50 走主端口
smart-link group 1
protected-vlan reference-instance 1 # Instance 1 = VLAN 10-50
port GE0/0/1 master
port GE0/0/2 slave
# 组 2:VLAN 60-100 走备端口(反向)
smart-link group 2
protected-vlan reference-instance 2 # Instance 2 = VLAN 60-100
port GE0/0/1 slave # 注意:主备反向
port GE0/0/2 master
效果:
VLAN 10-50:主端口转发
VLAN 60-100:备端口转发
两个方向都利用起来了!
4.2 与 MSTP 配合
# MSTP 多实例 + Smart Link
stp region-configuration
instance 1 vlan 10 to 50
instance 2 vlan 60 to 100
active region-configuration
smart-link group 1
protected-vlan reference-instance 1
port GE0/0/1 master port GE0/0/2 slave
smart-link group 2
protected-vlan reference-instance 2
port GE0/0/1 slave port GE0/0/2 master
五、Smart Link 与 STP 互斥
Smart Link 和 STP 不能同时开启在同一条链路上:
# 在 Smart Link 端口上关闭 STP
interface GigabitEthernet0/0/1
stp disable
interface GigabitEthernet0/0/2
stp disable
六、排错命令
# 查看 Smart Link 组状态
display smart-link group 1
# 查看 Flush 统计
display smart-link flush statistics
# 查看端口 Flush 报文接收
display smart-link flush interface GigabitEthernet0/0/1
# 调试 Smart Link
debugging smart-link event
七、总结
| 知识点 | 核心要点 |
|---|---|
| 回流 | 主链路恢复后切回时 MAC 表未更新导致丢包 |
| Flush 报文 | 通知上游刷新 MAC/ARP 表 |
| Control VLAN | Flush 报文的传输 VLAN |
| 回切模式 | 非抢占/抢占/延迟抢占 |
| 负载分担 | 多 Smart Link 组 + MSTP 实例 |
| 与 STP 互斥 | Smart Link 端口需关闭 STP |
八、思考
- 什么是回流问题?Smart Link 如何解决?
- Flush 报文使用的 Control VLAN 需要做什么配置?
- 延迟抢占模式的 delay 参数设置多长时间比较合理?
- 如何实现 Smart Link 的负载分担?
- 为什么 Smart Link 端口上要关闭 STP?
下篇预告:第123篇《DLDP 单向链路检测——防光模块故障》——讲解 DLDP 如何检测和防止光纤单通导致的二层环路。