一、MSTP 基础概

 1.1 什么是 MSTP

MSTP 是 IEEE 802.1s 标准定义的多生成树协议,是 RSTP(快速生成树)的扩展,旨在解决传统 STP/RSTP 的以下问题:

问题

说明

单一生成树限制

STP/RSTP 整个网络只有一棵生成树,所有 VLAN 共享一条路径

带宽浪费

冗余链路被阻塞,无法承载流量

负载均衡缺失

无法实现 VLAN 级别的流量分担

就是原本物理上有两条或者更多条链路,但是STP协议功能为了防止造成环路广播风暴等就阻塞一条链路,被堵塞的链路就空闲下来了,导致资源浪费。

负载均衡缺失同样也是因为一条链路被堵塞后没法启用导致链路缺少一条链路实现负载分担。

 1.2 MSTP 的核心思想

+----------------------- MST Region -----------------------+
|                                                          |
|  +------------+     +------------+     +------------+    |
|  |  VLAN 10   |     |  VLAN 20   |     |  VLAN 30   |    |
|  | (MSTI 1)   |     | (MSTI 2)   |     | (MSTI 0)   |    |
|  +-----+------+     +-----+------+     +-----+------+    |
|        |                  |                  |            |
|        +------------------+------------------+            |
|                  多实例生成树并行计算                      |
|                                                          |
+----------------------------------------------------------+
 

关键术语:

- MSTI(Multiple Spanning Tree Instance):多生成树实例,每个实例独立计算生成树

- IST(Internal Spanning Tree):内部生成树,实例 0,用于计算 MST 区域内部的拓扑

- CST(Common Spanning Tree):公共生成树,连接不同 MST 区域和其他 STP 区域

- CIST(Common and Internal Spanning Tree):公共和内部生成树,是整个网络的单一生成树

MSTP就是通过创建多个“虚拟网络”(实例)分别控制堵塞哪一条链路来控制数据往不同发方向流动,这样每一个虚拟网络都有不同的生成树,每一个实例都不会导致环路和互相交叉使得资源高效利用。

 二、MSTP 深度技术原理

 2.1 配置标识符(Configuration Identifier)

MSTP 通过配置标识符来判断交换机是否属于同一 MST 区域:

配置标识符 = {

    配置名称(Configuration Name):32 字节字符串

    修订级别(Revision Level):2 字节

    配置摘要(Configuration Digest):16 字节 HMAC-MD5

        - 基于 VLAN 到实例的映射表计算

}

关键规则:只有配置标识符完全相同的交换机才属于同一 MST 区域!

 2.2 端口角色与状态

MSTP 在 RSTP 基础上增加了针对 MSTI 的端口角色:

端口角色

说明

Root Port

指向 CIST 根桥的最优端口

Designated Port

网段上的指定端口

Master Port

连接 MST 区域到 CIST 根桥的端口(IST 的特殊角色)

Alternate Port

根端口的备份

Backup Port

指定端口的备份

Boundary Port

区域边界端口,连接其他 MST 区域或 STP/RSTP 交换机

 2.3 拓扑计算流程

阶段 1: CIST 计算(整个网络)

    └── 选举 CIST 根桥(优先级 + MAC)

    └── 计算到 CIST 根桥的最短路径

    └── 确定边界端口的角色

阶段 2: 每个 MSTI 独立计算(区域内)

    └── 每个实例选举自己的域根(Regional Root)

    └── 在实例内计算生成树

    └── 不同实例可以使用不同的链路

 三、MSTP 与相关技术深度关联

 3.1 MSTP vs STP/RSTP 对比

特性

STP (802.1D)

RSTP (802.1w)

MSTP (802.1s)

收敛速度

30-50 秒

1-2 秒

1-2 秒

生成树数量

1 棵

1 棵

多棵(按实例)

VLAN 负载均衡

❌ 不支持

❌ 不支持

✅ 支持

与 VLAN 关联

映射到实例

标准状态

废弃

主流

推荐

兼容性

基础

兼容 STP

兼容 RSTP/STP

 3.2 MSTP 与 VLAN 的关系

┌────────────────────────────────────────┐
│ MSTI 0 (IST/CIST)                      │
│ └── 默认所有 VLAN,或管理 VLAN          │
├────────────────────────────────────────┤
│ MSTI 1                                 │
│ └── VLAN 10, 20, 30 (办公网)           │
├────────────────────────────────────────┤
│ MSTI 2                                 │
│ └── VLAN 40, 50, 60 (生产网)           │
├────────────────────────────────────────┤
│ MSTI 3                                 │
│ └── VLAN 100, 200 (核心业务)           │
└────────────────────────────────────────┘
 

设计说明

  • MSTI 0 (IST/CIST)
    作为内部生成树实例,通常承载默认 VLAN 或管理 VLAN,用于维护整个 MSTP 域的连通性。

  • MSTI 1 (办公网)
    映射办公网络相关的 VLAN(如 10、20、30),隔离办公流量与其他业务流量。

  • MSTI 2 (生产网)
    分配生产环境 VLAN(如 40、50、60),确保生产数据流的独立性和低延迟。

  • MSTI 3 (核心业务)
    专用于高优先级业务 VLAN(如 100、200),通过独立的生成树实例优化路径选择。

实现要点

  • 每个 MSTI 对应一组逻辑拓扑,独立计算生成树路径。

  • VLAN 与 MSTI 的映射需在域内所有交换机上保持一致。

  • 通过 instance <id> vlan <vlan-list> 命令配置映射关系。

MSTP 与链路聚合(LACP)的配合原则

逻辑端口统一性
端口聚合组(如 Eth-Trunk 或 Port-Channel)在 STP/MSTP 协议中被视为单一逻辑端口。STP 计算仅在聚合口上进行,不涉及物理成员端口。

配置隔离性
禁止在聚合组的成员端口上单独配置 STP 参数(如优先级、Cost 值等),所有 STP 相关配置需在聚合接口层级完成。物理端口的 STP 状态由聚合口统一管理。

协同工作能力
MSTP 与 LACP 可同时生效:

  • LACP 负责成员链路的动态捆绑与负载均衡

  • MSTP 负责消除逻辑拓扑中的环路

  • 两者配合实现链路冗余与带宽叠加

典型配置拓扑示例

┌─────────────┐         ┌─────────────┐
│  Switch A   │─────────│  Switch B   │
│ Eth-Trunk1  │  LACP   │ Eth-Trunk1  │
│ (聚合口)    │─────────│ (聚合口)    │
└─────────────┘         └─────────────┘
      │                          
      └── MSTP 仅在 Eth-Trunk1 逻辑口计算
          不涉及物理成员端口

关键实施要点

  • 协议优先级:LACP 协商成功后,MSTP 将聚合组作为整体进行生成树计算

  • 参数一致性:聚合组两端设备的 LACP 模式(主动/被动)、MSTP 区域配置需匹配

  • 故障隔离:成员链路故障由 LACP 检测并剔除,不影响 MSTP 拓扑稳定性

 四、实际生产场景与配置

 4.1 典型企业网络架构

双核心交换机 + 多接入层 VLAN 负载均衡

[防火墙] (出口网关)
   │
   ├── [Trunk10] ──┐
   ├── [Trunk20] ──┤
   └── [Trunk30] ──┘
           │
   ┌───────┴───────┐
 [Core-SW1]════[Core-SW2]
 (CIST Root) LACP (Secondary)
 (MSTI1 Root)   (MSTI2 Root)
   │               │
   └───────┬───────┘
           │
   ┌───────┴───────┐
 [Access-SW1]   [Access-SW2]
 (VLAN10-30)    (VLAN10-30)

流量走向设计

  • VLAN 10, 20:通过 Core-SW1 上行(MSTI 1)

  • VLAN 30, 40:通过 Core-SW2 上行(MSTI 2)

  • 负载均衡:两条上行链路均被利用,避免单点拥塞

关键技术实现

  • MSTP(多生成树协议):

    • Core-SW1 作为 CIST(Common Internal Spanning Tree)根桥,确保主路径最优。

    • Core-SW2 作为 MSTI 2 的根桥,负责 VLAN 30/40 的流量转发。

  • LACP(链路聚合):

    • 双核心交换机之间通过 LACP 绑定物理链路,提升带宽和冗余。

  • VLAN 负载均衡:

    • 通过 MSTP 实例划分,不同 VLAN 流量走不同上行路径,实现链路利用率最大化。

配置要点

  • 接入层交换机:

    • 配置 Trunk 端口允许 VLAN 10-30 通过。

    • 启用 MSTP 并关联对应的实例(MSTI 1/2)。

  • 核心层交换机:

    • 配置 LACP 聚合端口,确保高可用性。

    • 设定 MSTP 优先级,明确根桥角色。

该架构适用于中大型企业,兼顾高可用性和流量优化。

 4.2 华为设备配置实例

 ==================== Core-SW1 配置 ====================

#进入 MST 域配置
stp region-configuration
 region-name Company-MSTP           区域名称,所有交换机必须相同
 revision-level 1                   修订级别,所有交换机必须相同
 instance 1 vlan 10 20              VLAN 10,20 映射到实例 1
 instance 2 vlan 30 40              VLAN 30,40 映射到实例 2
 active region-configuration        激活配置(必须执行!)

#配置 STP 模式为 MSTP
stp mode mstp

#配置 Core-SW1 为 CIST 根桥(整体网络根)
stp root primary

#或者精确控制优先级
stp priority 0                       CIST 优先级 0(最高)

#配置实例 1 的根桥(让 VLAN 10,20 走 Core-SW1)
stp instance 1 root primary
stp instance 1 priority 0

#配置实例 2 的备份根(VLAN 30,40 走 Core-SW2,Core-SW1 备份)
stp instance 2 root secondary
stp instance 2 priority 4096

#配置端口路径开销(影响选路)
interface GigabitEthernet0/0/1
 stp instance 1 cost 1000           实例 1 走这条链路
 stp instance 2 cost 20000          实例 2 不走这条

#边缘端口配置(连接服务器/终端)
interface GigabitEthernet0/0/10
 stp edged-port enable              快速收敛,不接收 BPDU
 stp bpdu-filter enable             过滤 BPDU(可选,防环)

#根保护(防止非法交换机成为根)
interface GigabitEthernet0/0/2
 stp root-protection                如果收到更优 BPDU,端口阻塞

 ==================== Core-SW2 配置 ====================

stp region-configuration
 region-name Company-MSTP
 revision-level 1
 instance 1 vlan 10 20
 instance 2 vlan 30 40
 active region-configuration

stp mode mstp

Core-SW2 作为 CIST 备份根
stp root secondary
stp priority 4096

#实例 1 的备份根
stp instance 1 root secondary
stp instance 1 priority 4096

#实例 2 的根桥(VLAN 30,40 主走 Core-SW2)
stp instance 2 root primary
stp instance 2 priority 0

 ==================== Access-SW 配置 ====================

stp region-configuration
 region-name Company-MSTP
 revision-level 1
 instance 1 vlan 10 20
 instance 2 vlan 30 40
 active region-configuration

stp mode mstp

#接入层不参与根桥竞争,优先级设高
stp priority 61440

#上联口配置
interface GigabitEthernet0/0/1
 description Uplink-to-Core-SW1
 stp instance 1 cost 1000
 stp instance 2 cost 20000

interface GigabitEthernet0/0/2
 description Uplink-to-Core-SW2
 stp instance 1 cost 20000
 stp instance 2 cost 1000

#连接终端的边缘端口
stp edged-port default               默认所有端口为边缘端口
interface GigabitEthernet0/0/10
 undo stp edged-port                  上联口取消边缘端口

4.3 思科设备配置实例

! ==================== Core-SW1 (Cisco) ====================

! 进入 MST 配置模式
spanning-tree mode mst

spanning-tree mst configuration
 name Company-MSTP
 revision 1
 instance 1 vlan 10,20
 instance 2 vlan 30,40
 active

! 配置实例优先级
spanning-tree mst 0 priority 0      ! CIST 根
spanning-tree mst 1 priority 0      ! MSTI 1 根
spanning-tree mst 2 priority 4096   ! MSTI 2 备份根

! 端口配置
interface Port-channel1
 description LACP-to-Core-SW2
 spanning-tree link-type point-to-point

interface GigabitEthernet1/0/1
 description Uplink-to-Firewall
 spanning-tree portfast              ! 边缘端口
 spanning-tree bpduguard enable      ! BPDU 保护

! 根保护
interface GigabitEthernet1/0/2
 spanning-tree guard root

! ==================== 验证命令 ====================

! 查看 MST 配置
show spanning-tree mst configuration

! 查看详细状态
show spanning-tree mst 1 detail

! 查看端口角色
show spanning-tree mst 1 interface

! 查看 VLAN 到实例映射
show spanning-tree vlan 10

五、生产环境运维与排障

 5.1 关键检查命令

华为/华三

display stp region-configuration     查看区域配置

display stp brief                    简要状态

display stp instance 1               实例 1 详细信息

display stp interface GE0/0/1        端口 STP 状态

display stp topology-change          拓扑变化记录

display stp root                     根桥信息

 思科

show spanning-tree mst configuration

show spanning-tree mst 1

show spanning-tree root

show spanning-tree summary

show spanning-tree vlan 10 detail

 5.2 常见故障与排查

故障现象

可能原因

排查方法

MST 区域分裂

配置标识符不一致

display stp region-configuration 对比 name/revision/VLAN 映射

VLAN 不通

该 VLAN 未映射到实例

检查 instance X vlan Y 配置

无法负载均衡

实例根桥设置错误

display stp root 查看各实例根桥位置

拓扑频繁变化

边缘端口配置错误或链路抖动

display stp topology-change 查看变化源

阻塞口选错

路径开销设置不当

display stp interface 查看 cost 值

 5.3 生产环境最佳实践

1. 配置一致性检查

    定期审计脚本(Python 示例)

    检查所有交换机的 region-name 和 revision-level 是否一致

2. BPDU 保护

   - 所有边缘端口启用 `stp bpdu-protection` 或 `spanning-tree bpduguard`

   - 防止非法交换机接入导致拓扑震荡

3. 根桥保护

   - 核心交换机上联口启用根保护

   - 防止接入层交换机意外成为根桥

4. 监控告警

   - 监控 STP 拓扑变化次数(频繁变化说明网络不稳定)

   - 监控阻塞端口状态变化

 六、进阶:大规模网络设计

 6.1 多区域 MSTP 设计

┌─────────────────┐         ┌─────────────────┐
│  MST Region 1    │═════════│  MST Region 2    │
│ (数据中心 A)     │   CST   │ (数据中心 B)     │
│                  │         │                  │
│ Instance 1-4     │         │ Instance 1-4     │
│ (VLAN 10-100)    │         │ (VLAN 10-100)    │
└─────────────────┘         └─────────────────┘
        │                         │
        └───────────┬──────────────┘
                    │
             ┌─────────────┐
             │ Legacy STP  │ ← 旧设备区域
             │ Region       │
             └─────────────┘

关键设计要点

  • 区域间连接:通过公共生成树(CST)实现不同MST区域间的互联

  • 内部计算:每个MST区域内部独立计算多生成树实例(MSTI)

  • VLAN映射:实例1-4分别承载VLAN 10-100的流量

  • CIST根桥:通常部署在网络核心位置以确保最优路径

  • 兼容性设计:保留与传统STP设备的互操作区域

 6.2 MSTP 与 VXLAN/Overlay 网络的配合

在现代数据中心中,MSTP(多生成树协议)通常用于 Underlay 网络,而 VXLAN/EVPN 则用于构建 Overlay 网络。两者的配合可以实现高效的网络架构设计。

Underlay 网络(MSTP)

  • 功能:物理交换机运行 MSTP,提供无环二层基础。

  • 特点:通过多实例实现核心链路负载均衡,确保物理网络的稳定性和可靠性。

Overlay 网络(VXLAN)

  • 功能:在 MSTP 之上构建大二层逻辑网络。

  • 特点:逻辑网络不关心底层物理拓扑,提供灵活的虚拟化网络环境。

架构图示

┌─────────────────────────────────────┐
│           Overlay (VXLAN)           │
│  逻辑网络,不关心底层物理拓扑       │
├─────────────────────────────────────┤
│           Underlay (MSTP)           │
│  物理网络,MSTP 消除环路            │
│  多实例实现核心链路负载均衡        │
└─────────────────────────────────────┘

 七、总结

MSTP 是现代交换网络的核心协议,其价值在于:

1. 消除环路:继承 STP 的基本功能

2. 快速收敛:继承 RSTP 的秒级收敛

3. 负载均衡:通过多实例实现 VLAN 级别的流量分担

4. 灵活扩展:支持大规模网络的分区域管理

在实际生产中,务必注意:

- ✅ 同一 MST 区域的所有交换机配置标识符必须完全一致

- ✅ 合理规划 VLAN 到实例的映射,实现流量分担

- ✅ 核心层配置根桥,接入层配置边缘端口和保护机制

- ✅ 定期审计配置,防止区域分裂

---------------------------------------------------------------------------------------------------------------------------------

一、VRRP 基础概念

 1.1 什么是 VRRP

+---------------------------------------------------------------+
|                   VRRP 虚拟路由器                             |
|   Virtual IP: 192.168.1.1                                    |
|   Virtual MAC: 00-00-5E-00-01-VRID                           |
|                                                               |
|   +---------------------+     +---------------------+         |
|   |      Router A       |     |      Router B       |         |
|   | 物理IP: 192.168.1.2 |     | 物理IP: 192.168.1.3 |         |
|   | 优先级: 100 (Master)|◄───►| 优先级: 90 (Backup) |         |
|   |                     |     |                     |         |
|   +----------┬----------+     +----------┬----------+         |
|              |                           |                    |
|              +------------+ +------------+                    |
|                           | |                                 |
|                     +-----▼-▼-----+                           |
|                     |  交换机    |                           |
|                     +-----┬──────+                           |
|                           |                                   |
|                     +-----▼──────+                            |
|                     |  终端PC    |                            |
|                     | 默认网关:  |                            |
|                     | 192.168.1.1|                            |
|                     +------------+                            |
+---------------------------------------------------------------+

关键组件说明

虚拟路由器

  • 虚拟IP:192.168.1.1(终端设备配置的默认网关)

  • 虚拟MAC:格式为00-00-5E-00-01-VRID,VRID由配置决定

物理路由器

  • Router A:优先级100,默认成为Master角色,处理所有流量

  • Router B:优先级90,作为Backup角色,通过心跳检测监控Master状态

故障切换流程 当Master路由器失效时,Backup路由器检测到心跳超时(默认3倍Advertisement间隔),立即接管虚拟IP和MAC地址,保证网络连通性不间断。

协议参数

  • 心跳报文:组播地址224.0.0.18,默认Advertisement间隔1秒

  • 优先级范围:1-254,优先级0表示主动释放Master角色

  • 抢占模式:默认启用,高优先级路由器恢复后会重新成为Master

 1.2 VRRP 核心组件

组件

说明

VRID(Virtual Router ID)

虚拟路由器标识,范围 1-255,同一网段唯一

Virtual IP

虚拟 IP 地址,作为终端的默认网关

Virtual MAC

虚拟 MAC 地址,格式 00-00-5E-00-01-{VRID}

Priority

优先级(0-255),默认 100,越大越优先成为 Master

Preempt

抢占模式,Master 恢复后是否重新夺回主权

 1.3 VRRP 状态机

┌─────────┐  启动/优先级=255       ┌─────────┐
│ Initial │ ────────────────────► │ Master  │
│ (初始)  │                       │ (主网关) │
└────┬────┘                       └────┬────┘
     │                                 │
     │ 收到 VRRP 通告且优先级更高        │ 优先级降低或接口 Down
     ▼                                 ▼
┌─────────┐ ◄────────────────────────┐
│ Backup  │                          │
│ (备份)  │ ── 超时未收到 Master 通告 ─┘
│         │ 或收到优先级为 0 的通告    │
│         │ ───────────────────────────► 
└─────────┘                           Master

关键转换条件说明

Initial → Master
当VRRP实例启动且配置优先级为255(最高优先级)时,直接进入Master状态。

Master → Backup
主网关因以下原因降级为备份状态:

  • 主动降低优先级

  • 监测到接口故障(接口Down)

Backup → Master
备份网关在以下情况升级为主网关:

  • 超过通告超时时间未收到Master的通告

  • 收到Master发送的优先级为0的通告(主动释放Master角色)

 二、VRRP 深度技术原理

 2.1 VRRP 报文格式

┌─────────────────────────────────────────────────────────┐
│ IP Header: 源 IP = 物理接口 IP,目的 IP = 224.0.0.18       │
│ (VRRP 组播地址,TTL=255,协议号=112)                       │
├─────────────────────────────────────────────────────────┤
│ Version (4bit) │ Type (4bit) │ Virtual Rtr ID (8bit)    │
├─────────────────┼──────────────┼────────────────────---─┤
│ Priority (8bit) │ Count IP Addrs │ Auth Type (8bit)     │
├─────────────────┴──────────────┴────────────────────---─┤
│ Advertisement Interval (8bit) │ Checksum (16bit)        │
├─────────────────────────────────────────────────────────┤
│ IP Address 1 (Virtual IP)                               │
│ IP Address 2 (可选,支持多 VIP)                           │
├─────────────────────────────────────────────────────────┤
│ Authentication Data (8 bytes, 明文密码,现代已弃用)        │
└─────────────────────────────────────────────────────────┘

关键字段说明

  • IP Header:VRRP 使用组播地址 224.0.0.18,TTL 固定为 255,协议号为 112(VRRP)。

  • Version:4 比特,标识 VRRP 版本(如 VRRPv2 或 VRRPv3)。

  • Virtual Rtr ID:8 比特,标识 VRRP 组的 ID(范围 1-255)。

  • Priority:8 比特,路由器优先级(0-255),优先级越高越可能成为 Master。

  • Count IP Addrs:8 比特,报文中包含的虚拟 IP 地址数量。

  • Auth Type:8 比特,认证类型(0 表示无认证,1 表示明文认证,现代部署通常弃用)。

  • Advertisement Interval:8 比特,Master 发送通告报文的时间间隔(秒)。

  • Checksum:16 比特,用于校验报文完整性。

  • IP Address(es):虚拟 IP 地址(支持多 VIP 时连续排列)。

  • Authentication Data:8 字节明文密码(仅用于兼容旧设备,新部署不建议使用)。

 2.2 优先级与选举机制

优先级值

含义

255

保留给 IP 地址拥有者(如果某路由器接口 IP = Virtual IP,则强制成为 Master)

1-254

可配置优先级

0

特殊值,表示 Master 主动放弃主权(立即触发切换,避免等待超时)

选举规则:

1. 优先级高的成为 Master

2. 优先级相同,接口 IP 地址大的成为 Master

3. 抢占模式下,高优先级 Backup 可以抢占低优先级 Master

 2.3 计时器机制

计时器

默认时间

说明

Advertisement Interval

1 秒

Master 发送通告间隔

Master Down Interval

3 秒

Backup 判定 Master 失效的时间(通常 = 3 × Advertisement)

Skew Time

(256 - Priority) / 256 秒

优先级偏移时间,避免同时抢占

 三、VRRP 关联技术深度拓展

 3.1 VRRP vs HSRP vs GLBP 对比

特性

VRRP (IETF)

HSRP (Cisco)

GLBP (Cisco)

标准

RFC 3768/5798

思科私有

思科私有

组播地址

224.0.0.18

224.0.0.2

224.0.0.102

虚拟 MAC

00-00-5E-00-01-XX

00-00-0C-07-AC-XX

00-07-B4-XX-XX-XX

负载均衡

需多 VRRP 组

需多 HSRP 组

原生支持(AVG 分配)

认证方式

无/明文/IPsec AH

明文/MD5

明文/MD5

抢占

默认开启

默认关闭

默认关闭

追踪功能

Track 接口/对象

Track 接口/对象

Track 接口/对象

 3.2 VRRP 与 MSTP 的协同(关键!)

在生产环境中,VRRP Master 必须与 MSTP Root Bridge 保持一致,否则会导致流量路径次优化甚至环路。以下是错误配置与正确配置的对比分析及黄金法则。

错误配置示例(流量绕行)

拓扑结构:

┌─────────┐               ┌─────────┐
│Core-SW1 │◄───VRRP Master│Core-SW2 │
│(MSTP    │               │(MSTP    │
│ Backup) │               │ Root)   │
└────┬────┘               └────┬────┘
     │    ╲               ╱    │
     │     ╲     LACP    ╱     │
     │      ╲    Trunk  ╱      │
     │       ╲         ╱       │
     └─────----->┌─┐<--------──┘
              │Switch│
              └──┬─-─┘
                 │
              ┌──┴──┐
              │ PC  │ 网关指向 Core-SW1 (VRRP VIP)
              └─────┘

问题分析:

  • PC 的网关指向 Core-SW1(VRRP Master),但 MSTP Root 是 Core-SW2。

  • 流量从 PC 发往 Core-SW1 时,可能因 MSTP 阻塞端口在上联链路,被迫绕行 Core-SW2(Root),再返回 Core-SW1。

  • 结果:形成次优路径,增加延迟并浪费带宽。

正确配置示例(路径最优)

拓扑结构:

┌─────────┐               ┌─────────┐
│Core-SW1 │◄───VRRP Master│Core-SW2 │
│(MSTP    │◄───MSTP Root  │(MSTP    │
│ Root)   │               │ Backup) │
└────┬────┘               └───┬─────┘
     │                        │
     │ 流量直接上行,路径最优     │
     └──────────►┌─┐◄─────────┘
               │Switch│
               └──┬─-─┘
                  │
               ┌──┴──┐
               │ PC  │
               └─────┘

关键点:

  • VRRP Master 和 MSTP Root Bridge 均配置在 Core-SW1 上。

  • 流量从 PC 到网关(Core-SW1)后直接上行,无需绕行其他设备。

  • 路径最短,避免冗余跳数。

  • 实施黄金法则

  1. 配置一致性

    • 确保 VRRP Master 设备同时是 MSTP 实例的 Root Bridge。

    • 使用命令强制指定 Root Bridge(例如 Cisco 的 spanning-tree mst instance root primary)。

  2. 优先级调整

    • 手动设置 VRRP 优先级和 MSTP 优先级,确保同一设备在两个协议中均为最高优先级。

  3. 验证工具

    • 通过 show vrrpshow spanning-tree mst 命令检查角色一致性。

    • 使用 traceroute 或流量捕获工具验证实际路径是否符合预期。

  4. 多实例场景

    • 若存在多个 VLAN 或 MSTP 实例,需为每个实例单独配置 Root Bridge 与 VRRP Master 的对应关系。

  5. 容灾考虑

    • Backup 设备需同时配置为 VRRP Backup 和 MSTP Secondary Root,确保主备切换时拓扑仍最优。

配置关联:

#Core-SW1:既是 MSTP Root,又是 VRRP Master

stp instance 1 root primary

stp priority 0



interface Vlanif 10

 ip address 192.168.10.2 255.255.255.0

 vrrp vrid 10 virtual-ip 192.168.10.1

 vrrp vrid 10 priority 120         #优先级高于 Core-SW2 的 100



 Core-SW2:MSTP Backup,VRRP Backup

stp instance 1 root secondary

stp priority 4096



interface Vlanif 10

 ip address 192.168.10.3 255.255.255.0

 vrrp vrid 10 virtual-ip 192.168.10.1

 vrrp vrid 10 priority 100

 3.3 VRRP 与 BFD 联动(快速故障检测)

VRRP与BFD联合部署方案

┌─────────┐          ┌─────────┐
│Core-SW1 │◄──BFD───►│Core-SW2 │
│  VRRP   │ (50ms)   │  VRRP   │
│ Master  │◄──VRRP──►│ Backup  │
└─────────┘          └─────────┘

技术细节说明

VRRP默认机制

  • 通告间隔:3秒

  • 失效判定:3倍间隔(约9秒)

  • 金融业务痛点:切换延迟过高

BFD加速方案

  • 检测间隔:50毫秒

  • 会话类型:异步模式

  • 联动机制:BFD Down事件触发VRRP状态切换

配置要点

! Core-SW1配置示例
interface Vlan100
 vrrp 1 ip 192.168.1.254
 vrrp 1 priority 120
 vrrp 1 track 1 decrement 30

bfd interval 50 min_rx 50 multiplier 3
! Core-SW2配置示例
bfd neighbor 192.168.1.1
 detect-multiplier 3
 min-tx-interval 50
 min-rx-interval 50

性能对比

指标

VRRP独立

VRRP+BFD

检测时间

9000ms

50ms

切换延迟

10-15s

<200ms

报文开销

注:实际部署时需确保物理链路与BFD检测时间匹配,避免误切换。

华为配置:

 配置 BFD

bfd

 quit

bfd vrrp-bind-10 bind peer-ip 192.168.10.3 interface Vlanif10 source-ip 192.168.10.2

 discriminator local 10

 discriminator remote 20

 min-rx-interval 50

 min-tx-interval 50

 commit

 VRRP 关联 BFD

interface Vlanif10

 vrrp vrid 10 track bfd-session 10 increased 60

  如果 BFD 检测到故障,优先级降低 60(120-60=60 < 100,触发切换)

 3.4 VRRP 与路由协议的联动

场景:出口路由器运行 OSPF/BGP,内网运行 VRRP

┌─────────────┐       ┌─────────────┐
│  Router A   │◄═════►│  Router B   │
│ (VRRP Master)│       │(VRRP Backup)│
│ OSPF Cost=10 │       │OSPF Cost=100│
└──────┬───────┘       └──────┬───────┘
        │                      │
        └──────────┬───────────┘
                    │
             ┌──────┴──────┐
             │ 核心交换机  │
             └──────┬──────┘
                    │
             ┌──────┴──────┐
             │  内网用户   │
             │网关=VRRP VIP│
             └─────────────┘

关键配置要点

VRRP主备设定
Router A配置更高优先级(如120)成为Master,Router B配置默认优先级100作为Backup。VRRP虚拟IP(VIP)作为内网用户网关。

OSPF路径控制
Router A的出口接口配置OSPF Cost=10,Router B出口接口配置Cost=100。较低Cost使Router A成为优选出口。

流量路径一致性

  • 下行流量:内网用户→VRRP VIP→Router A(Master)→出口

  • 上行流量:出口→Router A(OSPF优选路径)→内网用户

BGP联动建议
在出口路由器间建立iBGP邻居,通过AS_PATH或LOCAL_PREF属性确保BGP选路与OSPF一致。例如为Router A的BGP路由设置更高LOCAL_PREF值。

 四、VRRP 高级特性

 4.1 VRRP 负载均衡模式(华为 VRRP Load-Balance)

方案一:多 VRRP 组(最常见)

网络拓扑示例:

┌─────────┐                            ┌────────-─┐
│Core-SW1 │ VIP1: 192.168.1.1 (Master) │Core-SW2  │
│         │ VIP2: 192.168.1.2 (Backup) │          │
│  PC-A   │────────────────────----───►│  PC-B    │
│ 网关=    │                            │ 网关=    │
│192.168.1.1│◄───────────────────────--│192.168.1.2│
└─────────┘                            └────────-─┘

配置示例(华为设备):

interface Vlanif 10
# VRRP 组 1:Core-SW1 主,Core-SW2 备
vrrp vrid 1 virtual-ip 192.168.1.1
vrrp vrid 1 priority 120

# VRRP 组 2:Core-SW1 备,Core-SW2 主
vrrp vrid 2 virtual-ip 192.168.1.2
vrrp vrid 2 priority 80

关键说明:

  • 通过创建多个VRRP组实现流量分担

  • 不同主机在不同VRRP组中担任Master角色

  • 终端设备通过配置不同网关实现负载分担

  • 优先级数值越高越优先成为Master(默认100)

注意事项:

  • 需确保物理链路冗余

  • 建议结合BFD等快速检测机制

  • 不同VRID组的虚拟MAC地址不同

4.2 VRRP 与接口追踪(Track)

#追踪上行接口状态

interface Vlanif 10

 vrrp vrid 10 virtual-ip 192.168.10.1

 vrrp vrid 10 priority 120

 vrrp vrid 10 track interface GigabitEthernet0/0/24 reduced 30

  #如果 GE0/0/24(上联口)Down,优先级降低 30,变为 90,触发切换


#追踪路由(更智能)

track 1 ip route 0.0.0.0 0.0.0.0 reachability

interface Vlanif 10

 vrrp vrid 10 track 1 reduced 40

  #如果默认路由不可达(比如上联 ISP 故障),触发切换

 4.3 VRRP 与 IPsec 认证(安全加固)

#防止 VRRP 欺骗攻击

interface Vlanif 10

 vrrp vrid 10 authentication-mode md5 Huawei@123

  #或使用 IPsec AH(更安全的 RFC 推荐方式)

 vrrp vrid 10 authentication-mode ipsec ah-key Huawei@123

 五、实际生产场景配置

 5.1 企业园区网核心层(华为)

                            [防火墙]
                           192.168.0.1
                                |
                                | Trunk (VLAN 10-50)
                                |
                    ---------------------------
                    |                         |
                [Core-SW1]               [Core-SW2]
           192.168.10.2 (MSTP Root)  192.168.10.3 (MSTP Backup)
           192.168.20.2 (VRRP Backup) 192.168.20.3 (VRRP Master)
                    |                         |
                    ---------------------------
                                |
                         [汇聚/接入层交换机]

VLAN与VRRP配置说明

VLAN 10配置

  • 虚拟网关IP: 192.168.10.1

  • Core-SW1角色: VRRP Master (优先级120)

  • Core-SW2角色: VRRP Backup (优先级80)

  • 实际物理IP:

    • Core-SW1: 192.168.10.2

    • Core-SW2: 192.168.10.3

VLAN 20配置

  • 虚拟网关IP: 192.168.20.1

  • Core-SW2角色: VRRP Master (优先级120)

  • Core-SW1角色: VRRP Backup (优先级80)

  • 实际物理IP:

    • Core-SW1: 192.168.20.2

    • Core-SW2: 192.168.20.3

协议部署要点

  • 生成树协议: MSTP部署,Core-SW1配置为根桥

  • 链路类型: 核心层之间及上下行链路均为Trunk,允许VLAN 10-50通过

  • 负载均衡: 通过VLAN 10/20的主备网关分离实现流量分担

  • 高可用机制: VRRP协议实现网关冗余,MSTP防止环路

完整配置:

 ==================== Core-SW1 配置 ====================

#MSTP 配置(与 VRRP 配合)

stp region-configuration

 region-name Campus

 instance 1 vlan 10 30 50     #奇数 VLAN 走 Core-SW1

 instance 2 vlan 20 40        #偶数 VLAN 走 Core-SW2

 active region-configuration


stp instance 1 root primary

stp instance 2 root secondary


 VLAN 10 - VRRP Master

interface Vlanif 10

 ip address 192.168.10.2 255.255.255.0

 vrrp vrid 10 virtual-ip 192.168.10.1

 vrrp vrid 10 priority 120

 vrrp vrid 10 preempt-mode timer delay 5     #延迟 5 秒抢占,防止震荡

 vrrp vrid 10 track interface GigabitEthernet0/0/24 reduced 30

 vrrp vrid 10 authentication-mode md5 CampusVRRP10


 VLAN 20 - VRRP Backup

interface Vlanif 20

 ip address 192.168.20.2 255.255.255.0

 vrrp vrid 20 virtual-ip 192.168.20.1

 vrrp vrid 20 priority 80                    #低于 Core-SW2 的 120


#上联口配置

interface GigabitEthernet0/0/24

 description Uplink-to-Firewall

 port link-type trunk

 port trunk allow-pass vlan 10 20 30 40 50

 ==================== Core-SW2 配置 ====================

stp region-configuration

 region-name Campus

 instance 1 vlan 10 30 50

 instance 2 vlan 20 40

 active region-configuration


stp instance 1 root secondary

stp instance 2 root primary


 VLAN 10 - VRRP Backup

interface Vlanif 10

 ip address 192.168.10.3 255.255.255.0

 vrrp vrid 10 virtual-ip 192.168.10.1

 vrrp vrid 10 priority 80


 VLAN 20 - VRRP Master

interface Vlanif 20

 ip address 192.168.20.3 255.255.255.0

 vrrp vrid 20 virtual-ip 192.168.20.1

 vrrp vrid 20 priority 120

 vrrp vrid 20 preempt-mode timer delay 5

 vrrp vrid 20 track interface GigabitEthernet0/0/24 reduced 30

 vrrp vrid 20 authentication-mode md5 CampusVRRP20

 5.2 数据中心出口(思科 HSRP/VRRP 混合)
 

```cisco

! 数据中心双出口路由器,运行 HSRP(内网)和 BGP(外网)


! Router A

interface GigabitEthernet0/0

 description To-Internet-ISP1

 ip address 203.0.113.2 255.255.255.252

 ip ospf cost 10


interface GigabitEthernet0/1

 description To-Core-Switch

 ip address 10.0.0.2 255.255.255.0

 standby 10 ip 10.0.0.1           ! HSRP Virtual IP

 standby 10 priority 110

 standby 10 preempt

 standby 10 track GigabitEthernet0/0 30  ! 追踪上联口


! BGP 配置,宣告 VIP 所在网段

router bgp 65001

 network 10.0.0.0 mask 255.255.255.0

 neighbor 203.0.113.1 remote-as 65002


! Router B

interface GigabitEthernet0/1

 ip address 10.0.0.3 255.255.255.0

 standby 10 ip 10.0.0.1

 standby 10 priority 90           ! 备份

 5.3 运营商 BRAS 场景(大型网络)

场景:BRAS 设备双机热备,支持大量 PPPoE 用户

┌─────────────────────┐             ┌─────────────────────┐
│       BRAS-A        │◄───-----──► │       BRAS-B        │
│    (Master 主设备)   │ VRRP        │    (Backup 备设备)  │
│  支持50K PPPoE用户   │  +          │  支持50K PPPoE用户   │
└──────────┬──────────┘RADIUS会话同步└──────────┬──────────┘
            │                                  │
            └──────────────┬───────-----───────┘
                           │
                    ┌──────┴──────┐
                    │ OLT/DSLAM   │
                    │ (接入层设备) │
                    └──────┬──────┘
                           │
                    ┌──────┴──────┐
                    │ 宽带用户群   │
                    │ (PPPoE拨号) │
                    └─────────────┘

关键技术说明

VRRP冗余协议

  • 主备设备间通过VRRP实现虚拟网关(VIP)冗余

  • 主设备故障时VIP自动切换至备设备(毫秒级收敛)

RADIUS会话同步

  • 采用类似华为SGSN的会话同步方案

  • 用户认证状态/计费信息实时双机同步

PPPoE无感知切换

  • 会话信息热备份确保用户不感知主备切换

  • 依赖LCP/Echo报文检测链路状态(典型检测间隔30s)

负载均衡设计

  • 单设备支持50K并发PPPoE会话

  • 主备设备硬件配置完全对称

 六、生产环境运维与排障

 6.1 关键检查命令

 华为/华三

display vrrp                               查看所有 VRRP 组状态

display vrrp interface Vlanif 10           查看特定接口 VRRP

display vrrp verbose                       详细信息(含追踪)

display vrrp statistics                    统计信息(收发包)

display vrrp brief                         简要状态


 思科

show vrrp                                  VRRP 状态

show vrrp interface GigabitEthernet0/1     接口详情

show vrrp brief                            简要

show standby                               HSRP 状态

show standby brief                         HSRP 简要

 6.2 典型输出解读

[Core-SW1] display vrrp verbose

Vlanif10 | Virtual Router 10

    State          : Master               当前状态:Master

    Virtual IP     : 192.168.10.1         虚拟 IP

    Master IP      : 192.168.10.2         Master 物理 IP

    PriorityRun    : 120                  当前运行优先级

    PriorityConfig : 120                  配置优先级

    MasterPriority : 120                  Master 优先级

    Preempt        : YES (Delay 5s)       抢占开启,延迟 5 秒

    Advertise Time : 1 sec                通告间隔

    Auth Type      : MD5                  认证方式


    Virtual Mac    : 0000-5e00-010a       虚拟 MAC(VRID=10)


    Track IF       : GigabitEthernet0/0/24

    Track Priority : 30                   追踪降低 30


    Last Switchover: 2024-01-15 09:23:10  上次切换时间

 6.3 常见故障与排查

故障现象

可能原因

排查命令

双 Master

VRRP 报文不通(ACL 拦截/VLAN 未透传)

display vrrp 看状态,display interface 看端口

无法切换

优先级计算错误/追踪未生效

display vrrp verbose 看 PriorityRun

频繁切换

链路抖动/抢占时间过短

display vrrp statistics 看通告统计

终端无法上网

Virtual IP 不通/ARP 学习错误

display arp 看 MAC,ping -a 测试

认证失败

密码不一致

display vrrp verbose 看 Auth Type

故障现象

可能原因

排查命令

 6.4 故障模拟演练

#场景:验证 VRRP 切换

 #1. 在 Master 上关闭上联口,观察切换

[Core-SW1] interface GigabitEthernet0/0/24

[Core-SW1-GigabitEthernet0/0/24] shutdown


 #2. 在 Backup 上观察状态变化

[Core-SW2] display vrrp interface Vlanif 10

 #应看到 State 从 Backup 变为 Master


 #3. 恢复上联口,观察抢占

[Core-SW1-GigabitEthernet0/0/24] undo shutdown

 #等待 5 秒后,Core-SW1 应重新成为 Master

 七、VRRP 最佳实践总结

 7.1 设计原则

1. VRRP 与 MSTP 对齐:Master 必须是 Root,避免流量绕行

2. 合理规划优先级:预留足够空间用于 Track 降权

3. 开启抢占但加延迟:防止接口抖动导致频繁切换

4. 必须配置认证:防止恶意 VRRP 报文攻击

5. 结合 BFD/Track:实现快速故障检测

 7.2 监控指标

指标

告警阈值

说明

VRRP 切换次数

> 3 次/小时

网络不稳定

Master Down 时间

> 3 秒

切换过慢

双 Master 持续时间

> 0 秒

立即处理

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐