Skip to content

STP 配置实战指南 (Huawei VRP)

本章节将通过一个典型的园区网案例,演示如何在华为交换机上配置 STP,并介绍常用的优化和保护机制。

1. 实验拓扑与需求

1.1 实验场景

一个典型的三层架构网络,包含两台核心交换机 (Core) 和两台接入交换机 (Access)。为了提高可靠性,设备之间采用全互联冗余链路。

text
      [Core-SW1] ================= [Core-SW2]
       (主根桥)      (Trunk)       (备份根桥)
          |   \                     /   |
          |    \                   /    |
          |     \                 /     |
       (Trunk)   \               /   (Trunk)
          |       \             /       |
          |        \           /        |
      [Acc-SW3] =================== [Acc-SW4]

1.2 配置需求

  1. 模式:全网运行默认的 MSTP 模式(兼容 STP/RSTP)。
  2. 根桥规划
    • Core-SW1 作为主根桥 (Primary Root)。
    • Core-SW2 作为备份根桥 (Secondary Root)。
  3. 边缘端口:连接 PC 的接口配置为边缘端口,不参与生成树计算。
  4. 安全保护:开启 BPDU 保护,防止伪造 BPDU 攻击。

2. 基础配置步骤

2.1 全局开启与模式选择

华为交换机默认开启 MSTP,但建议显式配置以确保一致性。

bash
# 在所有交换机上执行
[Huawei] stp mode mstp          # 设置模式为 MSTP
[Huawei] stp enable             # 全局开启 STP (默认已开启)

2.2 配置根桥 (Root Bridge)

核心交换机配置:

bash
# [Core-SW1] 配置为主根桥
# 实际上是将优先级设置为 0
[Core-SW1] stp root primary

# [Core-SW2] 配置为备份根桥
# 实际上是将优先级设置为 4096
[Core-SW2] stp root secondary

验证配置:

bash
[Core-SW1] display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge         :0    .4c1f-cc57-1234  # 优先级为 0
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :0    .4c1f-cc57-1234 / 0  # 根桥就是自己 (RPC=0)

2.3 配置边缘端口 (Edge Port)

接入交换机连接 PC 的接口(例如 Gi0/0/1)应配置为边缘端口,使其 Up 后立即进入 Forwarding 状态,不触发拓扑变更。

bash
# [Acc-SW3] 和 [Acc-SW4] 连接终端的接口
[Acc-SW3] interface GigabitEthernet 0/0/1
[Acc-SW3-GigabitEthernet0/0/1] stp edged-port enable

3. 结果验证与排查

3.1 查看 STP 简要信息

display stp brief 是最常用的查看命令,可以快速了解端口角色和状态。

bash
[Acc-SW3] display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/3        ALTE  DISCARDING      NONE

字段解析:

字段含义
MSTID0实例 ID。MSTP 默认所有 VLAN 都在实例 0 (CIST) 中。
RoleROOT根端口 (RP)。去往根桥最近的端口。
DESI指定端口 (DP)。负责转发数据的端口。
ALTE替代端口 (AP)。RSTP/MSTP 中的阻塞端口,作为 RP 的备份。
BACK备份端口 (BP)。作为 DP 的备份(通常在 Hub 场景)。
STP StateFORWARDING转发状态。正常通信。
DISCARDING丢弃状态。相当于 STP 的 Blocking/Listening/Learning。
LEARNING学习状态。正在建立 MAC 表,不转发数据。

3.2 查看详细信息

当需要排查 Cost 计算或 BPDU 接收情况时,使用 display stp interface [interface-type interface-number]

bash
[Acc-SW3] display stp interface GigabitEthernet 0/0/2
----[CIST][Port2(GigabitEthernet0/0/2)][FORWARDING]----
 Port Protocol       :Enabled
 Port Role           :Root Port        # 端口角色
 Port Priority       :128              # 端口优先级
 Port Cost(Dot1T )   :20000            # 路径开销 (802.1t 标准)
 Designate Bridge    :0.4c1f-cc57-1234 # 指定桥 ID (对端设备)
 Port Edged          :Config=default / Active=disabled
 Point-to-point      :Config=auto / Active=true
 Protection Type     :None

4. 进阶优化与保护

4.1 BPDU 保护 (BPDU Protection)

场景:边缘端口连接的 PC 或服务器不仅不应该产生环路,也不应该发送 BPDU。如果边缘端口收到 BPDU(例如用户私接了交换机),会导致边缘端口失效,重新参与计算,甚至引起网络震荡。 配置:全局开启。

bash
[Huawei] stp bpdu-protection
  • 效果:当边缘端口收到 BPDU 时,端口会被 Error-Down(关闭),并通知网管。

4.2 根保护 (Root Protection)

场景:防止下联的接入交换机或非法设备因配置错误(优先级更高),抢占成为新的根桥,导致流量走向异常。 配置:在 根桥汇聚层 的下联接口(指定端口 DP)上配置。

bash
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] stp root-protection
  • 效果:如果该端口收到更优的 BPDU(试图抢占根),端口进入 Discarding 状态,直到不再收到更优 BPDU 为止。