第121篇:Smart Link 与 Monitor Link 原理
关键词:Smart Link、Monitor Link、RSM 报文、二层冗余、快速倒换、华为专有协议、与STP互斥
一、引言
第120篇介绍了堆叠与 VRRP 结合的高可用方案,解决了网关层冗余。但在接入层,大量场景只需实现"两条上行链路的主备切换",此时部署完整的 STP/RSTP 显得过于复杂,且收敛速度无法满足语音和视频等实时业务的要求。
Smart Link 是华为自主研发的二层快速切换技术,专为简单主备场景设计。它不依赖 BPDU 协商,切换时间从 STP 的秒级压缩到毫秒级。配合 Monitor Link 功能,还能实现上行链路故障的全网联动切换。
二、核心概念
2.1 Smart Link 基本架构
Smart Link 将交换机上的两个或多个物理端口编为一个"主备组",正常情况下只有主端口(Active)转发数据,备端口(Standby)处于阻塞状态。当主端口故障时,流量瞬间切换到备端口。

2.2 Smart Link 与 STP/RSTP 的核心差异
| 维度 | STP/RSTP/MSTP | Smart Link |
|---|---|---|
| 标准归属 | IEEE 802.1D/w/s 国际标准 | 华为专有协议 |
| 切换时间 | STP 约 30 秒,RSTP 1-2 秒,MSTP 1-2 秒 | 毫秒级(< 50ms) |
| 拓扑能力 | 支持任意环型/网状拓扑 | 仅支持主备(Active/Standby) |
| 负载分担 | MSTP 多实例可实现负载分担 | 不支持负载分担(一主多备) |
| 协议报文 | BPDU(协议号 0x8100) | RSM/GRSM(协议号 0x88E8) |
| 配置复杂度 | 需理解根桥、路径成本、实例映射 | 只需指定主备端口 |
| 与 Eth-Trunk 兼容 | 可以共存 | 同一端口不能同时加入 Smart Link 和 Eth-Trunk |
2.3 Monitor Link 联动机制
Monitor Link 是 Smart Link 的扩展功能,用于监控"上行链路"的状态。当被监控的上行接口 Down 时,自动触发 Smart Link 切换,使流量切换到备用的上行路径。

典型场景:接入交换机通过 GE0/0/2 连接到核心交换机,通过 GE0/0/3 连接到备用汇聚。同时 Monitor Link 监控 GE0/0/1(连接上层路由器的上行口)。当 GE0/0/1 Down 时,自动将 Smart Link 切换到备用路径。
三、技术细节
3.1 RSM 报文:Smart Link 切换的核心机制
Smart Link 切换时,仅将本地流量切换到备端口还不够——下游设备(如对端交换机或终端)的 MAC 地址表仍然将目的 MAC 指向旧的主端口。因此,华为设计了 RSM(Resume Signal Message)报文来刷新下游设备的转发表项。

RSM 报文类型:
| 类型 | 以太网类型 | 说明 |
|---|---|---|
| RSM | 0x88E8 | 普通 RSM,携带源 MAC 地址 |
| GRSM(Group RSM) | 0x88E8 | 组 RSM,携带 Smart Link 组 ID,可精确指定刷新范围 |
| MRSM(MAC RSM) | 0x88E8 | MAC RSM,携带具体的 MAC 地址列表 |
3.2 Smart Link 组的端口角色
| 角色 | 数量 | 状态 | 说明 |
|---|---|---|---|
| 主端口(Active) | 1 个 | Forwarding | 正常转发数据 |
| 备端口(Standby) | 1~N 个 | Blocked | 主端口故障后接管 |
| 负载分担端口 | 可选 | Forwarding | 与主端口同时转发(多主模式) |
3.3 Smart Link 与 STP 互斥
Smart Link 和 STP 在同一端口上互斥。如果一个端口加入了 Smart Link 组,STP 在该端口自动被禁止;如果端口启用了 STP,Smart Link 无法将该端口加入组。

四、实战配置/案例分析
4.1 基础 Smart Link 配置
# ========== 接入交换机配置 ==========
<HUAWEI> system-view
[HUAWEI] sysname Access-SW
# 创建 Smart Link 组 0
[Access-SW] smart-link group 0
# 指定主端口
[Access-SW-smartlink-group0] active interface GigabitEthernet 0/0/2
[Access-SW-smartlink-group0] active interface GigabitEthernet 0/0/2
# 指定备端口
[Access-SW-smartlink-group0] standby interface GigabitEthernet 0/0/3
# 使能 Smart Link 组
[Access-SW-smartlink-group0] enabled
# 配置 RSM 刷新模式为 GRSM(推荐)
[Access-SW-smartlink-group0] flush-mode grsm
# 配置 GRSM 报文的源 MAC(可选,默认使用系统 MAC)
[Access-SW-smartlink-group0] flush-mode grsm source-mac 00e0-fc00-0001
# 配置 GRSM 泛洪端口(指定从哪些端口发送 GRSM 报文)
[Access-SW-smartlink-group0] flush-mode grsm flood-port GigabitEthernet 0/0/3
# 退出 Smart Link 组配置
[Access-SW-smartlink-group0] quit
# ========== 验证 ==========
[Access-SW] display smart-link group 0
# Smart Link Group ID : 0
# State : Enabled
# Active Interface : GigabitEthernet0/0/2
# Standby Interface : GigabitEthernet0/0/3
# Flush Mode : GRSM
4.2 配置 Monitor Link 联动
# ========== 在接入交换机上配置 Monitor Link ==========
[Access-SW] smart-link monitor link-group 0 interface GigabitEthernet 0/0/1
# 含义:监控 GE0/0/1 接口
# 当 GE0/0/1 从 Up 变为 Down 时,触发 Smart Link Group 0 切换(主→备)
# 当 GE0/0/1 从 Down 变为 Up 时,触发 Smart Link Group 0 回切(备→主)
# 也可以配置多个监控接口
[Access-SW] smart-link monitor link-group 0 interface GigabitEthernet 0/0/4
# ========== 验证 Monitor Link ==========
[Access-SW] display smart-link monitor link-group 0
# Link-Group ID : 0
# Monitor Interface : GigabitEthernet0/0/1
# Monitor State : Up
4.3 故障案例:视频监控网络录像断点问题
场景描述
某医院视频监控网络采用 RSTP 做链路冗余。当主汇聚链路光模块故障时,RSTP 需要约 2 秒才能完成拓扑收敛。在这 2 秒内,视频录像机无法收到视频流,产生断点。医院安保部门反馈,每次链路切换后都需要手动补录丢失的画面,严重影响安保工作。
网络拓扑
视频摄像头 → 接入交换机 →(主链路:GE0/0/2)→ 汇聚交换机 → NVR 录像机
(备链路:GE0/0/3)→ 备用汇聚交换机
原始方案的问题
# 原方案:RSTP 配置
[Access-SW] stp mode rstp
[Access-SW] stp priority 4096
# 主链路 Cost 低,备链路被阻塞
# 故障时 RSTP 收敛约 2 秒
排查过程
# 查看 RSTP 收敛时间
[Access-SW] display stp brief
# 端口状态切换耗时统计
# 查看日志确认切换时间
[Access-SW] display logbuffer | include RSTP
# Jan 15 10:23:45 2024 Access-SW %%01STP/4/PORT_STATE(l)[0]:Port GigabitEthernet0/0/2 state changed to DISABLED.
# Jan 15 10:23:47 2024 Access-SW %%01STP/4/PORT_STATE(l)[1]:Port GigabitEthernet0/0/3 state changed to FORWARDING.
# 两次事件间隔约 2 秒
改造方案
改用 Smart Link + GRSM 刷新:
# 先关闭 RSTP
[Access-SW] undo stp enable
# 配置 Smart Link
[Access-SW] smart-link group 0
[Access-SW-smartlink-group0] active interface GigabitEthernet 0/0/2
[Access-SW-smartlink-group0] standby interface GigabitEthernet 0/0/3
[Access-SW-smartlink-group0] enabled
[Access-SW-smartlink-group0] flush-mode grsm
[Access-SW-smartlink-group0] quit
# 验证切换时间
# 模拟主端口 Down
[Access-SW] interface GigabitEthernet 0/0/2
[Access-SW-GigabitEthernet0/0/2] shutdown
# 查看日志
[Access-SW] display logbuffer | include SMARTLINK
# Jan 15 14:05:23 2024 Access-SW %%01SMARTLINK/4/PORT_SWITCH(l):Smart-link group 0 switched from GigabitEthernet0/0/2 to GigabitEthernet0/0/3.
# 切换耗时 < 50 毫秒
改造结果
切换时间从 2 秒降至 50 毫秒以内,视频录像无断点,医院安保部门确认录像完整。
4.4 故障案例:Smart Link 与 STP 冲突导致端口反复震荡
场景描述
某园区网络升级时,运维人员在接入交换机上同时配置了 RSTP 和 Smart Link,导致端口状态反复在 Forwarding 和 Blocking 之间切换。
排查
[Access-SW] display stp brief
# 发现 GE0/0/2 和 GE0/0/3 的 STP 状态异常
[Access-SW] display smart-link group 0
# Smart Link 组已创建
[Access-SW] display logbuffer | include SMARTLINK
# %%01SMARTLINK/4/CONFLICT:Port GigabitEthernet0/0/2 is in STP and Smart Link conflict.
根因
GE0/0/2 和 GE0/0/3 同时加入了 Smart Link 组,但全局启用了 STP,两个协议在端口上冲突。
处理
# 方案一:在 Smart Link 端口上关闭 STP
[Access-SW] interface GigabitEthernet 0/0/2
[Access-SW-GigabitEthernet0/0/2] undo stp enable
[Access-SW] interface GigabitEthernet 0/0/3
[Access-SW-GigabitEthernet0/0/3] undo stp enable
# 方案二(推荐):全局关闭 STP,纯用 Smart Link
[Access-SW] undo stp enable
五、总结
| 项目 | 说明 |
|---|---|
| Smart Link 本质 | 华为专有的二层主备快速切换技术 |
| 切换时间 | 毫秒级(< 50ms),远快于 STP/RSTP |
| RSM 报文 | 通知对端刷新 MAC 表,加速流量恢复 |
| GRSM 优势 | 携带 Smart Link 组 ID,精确刷新,减少不必要的 MAC 表删除 |
| Monitor Link | 监控上行接口状态,联动 Smart Link 切换 |
| 与 STP 关系 | 同一端口互斥,需关闭 STP 或在该端口禁止 STP |
| 适用场景 | 简单主备场景,对切换时间要求极高的场景(语音/视频/监控) |
| 不适用场景 | 复杂环型拓扑、需要负载分担的场景 |
思考
-
Smart Link 切换后发送 GRSM 报文刷新对端 MAC 表。如果中间经过多层级联交换机,GRSM 报文是否需要逐跳泛洪?如何控制 GRSM 的传播范围避免影响无关设备?
-
Monitor Link 触发 Smart Link 切换的条件是监控接口的物理状态 Down。如果监控接口物理 Up 但实际无法转发(如 ACL 丢弃、路由不可达),Monitor Link 能否感知?
-
Smart Link 不支持负载分担。如果需要两条上行链路同时承载流量且具备冗余能力,应该选择什么方案?Smart Link 能否与 Eth-Trunk 配合实现某种形式的负载分担?
下篇预告:第122篇:Smart Link 主备切换与回流保护