第143篇:物理冗余与链路冗余的权衡

关键词:物理冗余、链路冗余、Eth-Trunk、M-LAG、RRPP、STP、高可用、容灾、华为


一、引言

园区网高可用的核心手段有两条路径:物理冗余和链路冗余。物理冗余通过部署多台设备互为备份来实现,链路冗余通过在同一设备上绑定多条物理链路来提升带宽和可靠性。但在实际工程中,两者并非独立选择,而是需要综合权衡。

本文深入分析各种冗余技术的工作原理、适用场景、配置方法和局限性,帮助工程师在实际项目中做出最优选择。

二、核心概念

2.1 冗余技术分类

分类 技术 层级 切换时间 适用场景
链路冗余(单设备) Eth-Trunk(链路聚合) 接入→汇聚 < 1ms 同设备间多链路
链路冗余(跨设备) M-LAG 接入→多汇聚 < 50ms 跨设备链路聚合
环网冗余 RRPP 环型拓扑 < 50ms 工业环网、安防环
生成树冗余 STP/RSTP/MSTP 任意二层拓扑 1~30s 简单拓扑
物理冗余 VRRP/堆叠/iStack 设备级 < 1s / < 50ms 核心/汇聚高可用
路由冗余 OSPF/ECMP 三层 1~10s 三层多路径

2.2 物理冗余 vs 链路冗余

物理冗余 vs 链路冗余 - 图示

2.3 关键技术对比

维度 Eth-Trunk M-LAG RRPP 堆叠(iStack/CSS)
设备数量 2 台 2 台以上 环上多台 多台逻辑为一台
链路利用率 100%(聚合) 100%(聚合) 单路径,备份空闲 100%(聚合)
故障切换 < 1ms < 50ms < 50ms < 50ms
配置复杂度 低 高 中 中
跨厂商兼容 是(LACP) 否(华为私有) 否(华为私有) 否(华为私有)
环路易用 否 是 是 是

三、技术细节

3.1 Eth-Trunk(链路聚合)

Eth-Trunk 是最基础也是使用最广泛的链路冗余技术。它将多条物理链路绑定为一个逻辑链路,提高带宽的同时提供链路级别的冗余。

聚合模式

模式 说明 适用场景
Manual(手工) 不协商,手工指定成员端口 对端不支持 LACP
Static(静态) 手工绑定 + LACP 检测 对端支持 LACP 但不做负载分担
Dynamic(动态 LACP) 完全通过 LACP 协议协商 标准场景,推荐

负载分担算法

# Eth-Trunk 负载分担方式
[HUAWEI] interface Bridge-Aggregation 1
[HUAWEI-Bridge-Aggregation1] section load-balance src-mac           # 源MAC
[HUAWEI-Bridge-Aggregation1] section load-balance dst-mac           # 目的MAC
[HUAWEI-Bridge-Aggregation1] section load-balance src-dst-mac       # 源+目的MAC(默认)
[HUAWEI-Bridge-Aggregation1] section load-balance dst-ip            # 目的IP
[HUAWEI-Bridge-Aggregation1] section load-balance src-dst-ip        # 源+目的IP
[HUAWEI-Bridge-Aggregation1] section load-balance src-dst-ip-port   # 源+目的IP+端口(最均衡)

3.2 M-LAG(跨设备链路聚合)

M-LAG 解决了传统 Eth-Trunk 无法跨设备聚合的局限。它让两台物理设备对外呈现为一个聚合端,下行设备同时连接两台上行设备,实现跨设备冗余。

M-LAG(跨设备链路聚合) - 图示

M-LAG 核心配置

# ========== 设备1(M-LAG Peer)==========
[HUAWEI] sysname MLAG-PEER1

# 创建 M-LAG 系统
[MLAG-PEER1] m-lag system priority 100
[MLAG-PEER1] m-lag system ip 10.255.255.1

# 配置对端连接(心跳)
[MLAG-PEER1] m-lag peer ip 10.255.255.2
[MLAG-PEER1] m-lag peer link HeartBeat 1
[MLAG-PEER1] interface FortyGigE1/0/1
[MLAG-PEER1-FortyGigE1/0/1] description HEARTBEAT-LINK
[MLAG-PEER1-FortyGigE1/0/1] port link-mode bridge
[MLAG-PEER1-FortyGigE1/0/1] m-lag peer-link interface

# 配置 M-LAG 接口
[MLAG-PEER1] interface Bridge-Aggregation 100
[MLAG-PEER1-Bridge-Aggregation100] link-aggregation mode dynamic
[MLAG-PEER1-Bridge-Aggregation100] m-lag
[MLAG-PEER1-Bridge-Aggregation100] m-lag peer-ip 10.255.255.2
[MLAG-PEER1-Bridge-Aggregation100] m-lag priority 100
[MLAG-PEER1-Bridge-Aggregation100] port trunk allow-pass vlan 10 20 30

3.3 RRPP(环网保护协议)

RRPP(Ring Relay Protocol Protection)是华为专有的环网保护协议,提供快速故障检测和切换。

RRPP(环网保护协议) - 图示

RRPP 角色与配置

角色 说明 数量
主节点(Master) 控制环网保护,断开越迁端口 1 个
从节点(Slave) 上报故障信息 N-1 个
# ========== RRPP 主节点 ==========
[HUAWEI] sysname RRPP-MASTER

# 创建 RRPP 域
[RRPP-MASTER] rrpp domain-id 1
[RRPP-MASTER-rrpp-domain-1] control-vlan 1000
[RRPP-MASTER-rrpp-domain-1] priority 100
[RRPP-MASTER-rrpp-domain-1] stamp all

# 添加主环
[RRPP-MASTER-rrpp-domain-1] ring 1
[RRPP-MASTER-rrpp-domain-1-ring-1] mpid 1
[RRPP-MASTER-rrpp-domain-1-ring-1] primary-port FortyGigE1/0/1 neighbor 2.2.2.2 domain 1
[RRPP-MASTER-rrpp-domain-1-ring-1] secondary-port FortyGigE1/0/2 neighbor 3.3.3.3 domain 1

3.4 STP/RSTP/MSTP 对比

协议 收敛时间 支持实例 兼容性 适用场景
STP (802.1D) 30~50s 1 个 全兼容 已淘汰,不推荐
RSTP (802.1w) 1~3s 1 个 广泛 简单网络
MSTP (802.1s) 1~3s 多达 64 个 广泛 VLAN 映射不同路径

3.5 堆叠技术(iStack/CSS)

堆叠技术将多台物理交换机通过堆叠线缆连接,逻辑上呈现为一台交换机。

特性 iStack(Huawei) CSS(H3C) vSS(Cisco)
堆叠成员数 2~9 台 2~9 台 2 台
堆叠线缆 专用堆叠线 专用堆叠线 10GE 互联
管理 统一 IP 统一 IP 统一 IP
配置 主设备统一下发 主设备统一下发 主设备统一下发
# iStack 配置示例
[HUAWEI] sysname iSTACK-SW-MASTER

# 配置 iStack 优先级
[iSTACK-SW-MASTER] irf priority 32
[iSTACK-SW-MASTER] irf member 1

# 配置堆叠链路
[iSTACK-SW-MASTER] interface FortyGigE1/0/1
[iSTACK-SW-MASTER-FortyGigE1/0/1] port link-type bridge
[iSTACK-SW-MASTER-FortyGigE1/0/1] irp-port 1/1

# 在另一台设备上
[HUAWEI] sysname iSTACK-SW-02
[iSTACK-SW-02] irf priority 1
[iSTACK-SW-02] irf member 2
[iSTACK-SW-02] interface FortyGigE1/0/1
[iSTACK-SW-02-FortyGigE1/0/1] irp-port 2/1

四、实战配置/案例分析

4.1 完整 Eth-Trunk + STP 冗余方案

# ========== 汇聚交换机1 ==========
[HUAWEI] sysname AGG-01

# 开启 STP
[AGG-01] stp mode mstp
[AGG-01] stp region-configuration
[AGG-01-stp-region] region-name CAMPUS-NET
[AGG-01-stp-region] revision-level 1
[AGG-01-stp-region] active region-configuration

# 上行 Eth-Trunk
[AGG-01] interface Bridge-Aggregation 1
[AGG-01-Bridge-Aggregation1] link-aggregation mode dynamic
[AGG-01-Bridge-Aggregation1] port trunk allow-pass vlan 10 20 30 40 50

[AGG-01] interface FortyGigE1/0/1
[AGG-01-FortyGigE1/0/1] eth-trunk 1
[AGG-01] interface FortyGigE1/0/2
[AGG-01-FortyGigE1/0/2] eth-trunk 1

# 下行 Eth-Trunk
[AGG-01] interface Bridge-Aggregation 10
[AGG-01-Bridge-Aggregation10] link-aggregation mode dynamic
[AGG-01-Bridge-Aggregation10] port trunk allow-pass vlan 10 20 30 40 50

[AGG-01] interface TenGigE1/0/10
[AGG-01-TenGigE1/0/10] eth-trunk 10
[AGG-01] interface TenGigE1/0/11
[AGG-01-TenGigE1/0/11] eth-trunk 10

4.2 故障案例:Eth-Trunk 单链路失效

场景:汇聚与核心之间的 Eth-Trunk(4 × 10G)中一条链路的光模块故障,导致链路 Down。

排查过程:

# 1. 检查 Eth-Trunk 状态
[AGG-01] display eth-trunk 1
# Eth-Trunk1:
#   Work Mode: LACP Dynamic
#   Loadbalance: src-dst-ip
#   Member interface: 4
#   Active interface: 3    ← 只有3条活跃
#   Inactive interface: 1
#   TenGigE1/0/2: Down (Physical down)

# 2. 检查物理接口
[AGG-01] display interface TenGigE1/0/2
# TenGigE1/0/2 current state : DOWN
#   Description: TO-CORE-01-Link2
#   Last protocol Up/Down time : 2026-09-01 14:23:15
#   Current system uptime : 1 days, 3 hours, 15 minutes

# 3. 检查光模块
[AGG-01] display transceiver interface TenGigE1/0/2
# RX power: -45.00 dBm  ← 无光输入,光模块故障或光纤断开

影响评估: - Eth-Trunk 从 40G 降为 30G,带宽降低 25% - 原走 TenGigE1/0/2 的流量自动重分布到其他 3 条链路 - 业务无感知中断(这是链路聚合的价值所在)

解决方案:

# 临时方案:将故障端口从 Eth-Trunk 中移除
[AGG-01] interface TenGigE1/0/2
[AGG-01-TenGigE1/0/2] undo eth-trunk 1
# 故障端口隔离,避免影响 Eth-Trunk 状态

# 永久方案:更换光模块或修复光纤
# 1. 更换光模块
# 2. 重新加入 Eth-Trunk
[AGG-01] interface TenGigE1/0/2
[AGG-01-TenGigE1/0/2] eth-trunk 1

# 3. 验证
[AGG-01] display eth-trunk 1
# Active interface: 4  ← 恢复为4条

4.3 故障案例:M-LAG Split-Brain(脑裂)

场景:某园区网采用 M-LAG 架构,维护人员误将两台 M-LAG Peer 交换机之间的两条心跳链路同时断开,导致两台设备都认为对方故障,各自独立处理流量,引发 ARP 冲突和广播风暴。

排查过程:

# 1. 检查 M-LAG 状态
[MLAG-PEER1] display m-lag summary
# M-LAG State: ALONE    ← 正常应为 ACTIVE
# Peer Link State: DOWN
# Peer IP State: DOWN

# 2. 检查日志
[MLAG-PEER1] display logbuffer | include M-LAG
# %M-LAG-4-PEER_DOWN: M-LAG peer link down, enter ALONE state
# %M-LAG-4-SPLIT_BRAIN: Possible split-brain detected

# 3. 检查 ARP 表
[MLAG-PEER1] display arp | include Duplicate
# 发现同一 MAC 在两个 M-LAG 端口上出现

根因:心跳链路全部中断后,两台 M-LAG Peer 设备失去通信。各自认为对端故障,进入 ALONE 状态,开始独立转发流量。下游设备发送的流量被两台 M-LAG Peer 同时接收和处理,造成 MAC 漂移、ARP 冲突和可能的广播风暴。

预防配置:

# 1. 配置多条心跳链路(冗余心跳)
[MLAG-PEER1] m-lag peer link HeartBeat 1
[MLAG-PEER1] m-lag peer link HeartBeat 2

[MLAG-PEER1] interface FortyGigE1/0/1
[MLAG-PEER1-FortyGigE1/0/1] m-lag peer-link interface
[MLAG-PEER1] interface FortyGigE1/0/2
[MLAG-PEER1-FortyGigE1/0/2] m-lag peer-link interface

# 2. 配置检测机制(BFD for M-LAG)
[MLAG-PEER1] m-lag detect bfd enable

# 3. 配置 ALONE 超时后自动关闭下游端口(防止脑裂危害)
[MLAG-PEER1] m-lag alone-timeout 300
# 进入 ALONE 状态 300 秒后,自动关闭 M-LAG 接口的下游端口

4.4 冗余方案选型决策流程

冗余方案选型决策流程 - 图示

五、总结

项目 说明
Eth-Trunk 基础链路聚合,同设备多链路冗余,切换 < 1ms
M-LAG 跨设备链路聚合,解决传统聚合无法跨设备的局限
RRPP 环网保护,切换 < 50ms,适合安防环、工业环
MSTP 通用生成树,兼容性最好,但收敛较慢(1~3s)
堆叠 多设备逻辑统一,简化管理,适合同楼层多台接入
组合方案 Eth-Trunk + M-LAG 为当前园区网主流方案
防脑裂 M-LAG 必须配置冗余心跳 + ALONE 超时保护

思考

  1. Eth-Trunk 的负载分担算法中,src-dst-ip-port 最均衡但需要三层信息。如果交换机工作在二层模式(不感知 IP),是否还能使用 src-dst-ip-port 算法?

  2. M-LAG 的 ALONE 超时保护(300秒后关闭下游端口)虽然防止了脑裂,但在这 300 秒内下游业务仍然受到影响。有没有更好的方案在检测到脑裂的瞬间就做出防护?

  3. 堆叠技术虽然简化管理,但所有成员交换机共享一个控制平面。如果堆叠中一台设备故障,是否会影响其他成员?与 M-LAG 方案相比,哪种方案的故障隔离能力更强?

下篇预告:第144篇:组播基础:IGMP 与组播地址