集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

学习文章

华为认证 HCIP-Datacom 必学:STP生成树协议详解与排障指南

发布时间: 2026-09-24 10:37:03

STP生成树协议

在HCIP-Datacom的学习体系中,STP生成树协议是二层交换的必修核心,也是园区网防环的基石。只要网络中存在冗余链路,就可能出现二层环路:重复数据帧、广播风暴、MAC地址漂移,轻则卡顿,重则全网瘫痪。STP通过阻塞特定端口,把物理环状拓扑变成逻辑无环树,同时保留冗余备份能力。

一、为什么需要STP?

二层环路,指的是二层设备(交换机)之间连成环状拓扑,并且没有开启防环协议。

环状拓扑会带来三个典型问题:

  1. 主机可能收到重复数据帧;
  2. 广播风暴:广播帧在链路上无休止发送,占用链路资源,浪费设备开销;
  3. MAC地址漂移:后学习的MAC地址表项会覆盖前面的表项,导致同一MAC在多个接口间来回切换,最终通信异常,甚至网络瘫痪
但环状拓扑并非一无是处,它可以提高网络的冗余性和可靠性。所以真正的思路不是“禁止环路”,而是“用防环协议消除逻辑环路”。常见方法包括:STP、链路聚合、堆叠、集群。

三层环路一般由人为配置失误导致。路由器通常不会出现三层环路,而且即使出现,TTL值也会防止数据包永久转发,TTL减为0后丢弃。

二、STP是什么?有哪些版本?

STP生成树协议的核心作用有两个:

  1. 防环:通过阻塞某个端口,让拓扑中的环状消失;
  2. 实现路径备份:当网络变化时重新计算生成树,原先被阻塞的接口恢复,确保数据正常转发。
原理很简单:在交换网络中运行生成树计算,在交换机相连的接口中选出一个接口进行阻塞,被阻塞的接口无法收发任何数据帧。当网络发生变化,重新计算生成树。

STP常见版本:

版本标准特点
STP802.1d收敛慢,30s~50s
RSTP802.1w收敛快,秒级
MSTP802.1s支持多棵生成树,实现负载

所谓收敛,就是网络从不稳定到稳定的过程。设备刚开机、网络刚发生变化,都属于不稳定状态。华为设备默认运行MSTP。

三、STP工作过程四步走

STP整个工作过程可以概括为四步:

  1. 选根桥ROOT:整个交换网络选出一台根交换机;
  2. 选根端口RP:每台非根交换机上各选出一个根端口;
  3. 选指定端口DP:每段链路上选出一个指定端口;
  4. 剩AP口:非根非指定端口直接阻塞,用于防环。

选举ROOT

网络刚开始运行时,所有交换机都会认为自己是根桥,所有接口都是DP,都会产生配置BPDU向外发送,并以自身桥ID作为根桥ID。
经过比较后,桥ID最优的交换机成为根桥,其余交换机成为非根桥。非根桥停止产生配置BPDU,只能转发来自根桥的配置BPDU。

选举RP

RP用于接收最优BPDU,每台非根交换机有且仅有一个RP。

选举根端口时依次比较:

  1. 根路径开销;
  2. 对端BID;
  3. 对端PID;
  4. 本端PID。

选举DP

DP口用于发送最优BPDU,每段链路上有且仅有一个DP。
根桥的所有接口一般都是DP;交换机连接PC、路由器的接口,也均为DP口。
选举指定端口时依次比较:

  1. BPDU发送者的根路径开销;
  2. 本端BID;
  3. 本端PID。

剩余端口为AP

剩下的接口为AP口,直接阻塞,用于防环。

四、BPDU:STP的“语言”

BPDU,即网桥协议数据单元,是STP的报文。

STP报文结构为:STP层 + 数据链路层头部,采用802.3帧格式。

  • SMAC:交换机自己;
  • DMAC:专用组播MAC 0180-c200-0000,代表运行了STP协议的交换机都能接收。
STP报文组播发送,主要分为两类。

1. 配置BPDU

周期性发送:默认2s/次。只有根桥才能主动发送,其他非根桥只能转发。
作用:

  • 维护根桥地位。如果其他交换机在20s内没有收到根桥发送的配置BPDU,则认为根桥故障;
  • 选举根桥以及各种端口角色:RP、DP、AP。
配置BPDU携带内容:

  • 标识部分:协议ID、协议版本ID、BPDU类型、flags位;
  • 选举四要素;
  • 时间参数:Hello时间默认2s,转发延时15s。

选举四要素的规则是:数值越小越优先。

① 根桥ID

桥ID = 优先级 + MAC地址。
STP优先级默认32768,可调范围0-65535,调整步长为4096。先比较优先级,再比较MAC地址。
根桥ID特指根桥的桥ID。只有网络中根桥确认,根桥ID就不会发生变化。
华为命令:

[S1] stp priority 0
② 根路径开销

BPDU发送者到根桥的最小开销。
根桥直接发送出来的配置BPDU中,根路径开销为0。路径开销指流量经过的所有出接口的开销之和。STP接口默认开销为20000。
接口下配置:

[S2-GigabitEthernet0/0/1] stp cost 10000

③ 发送者的桥ID

BPDU发送者的优先级 + MAC地址。
当一份BPDU中的根桥ID与发送者的桥ID一致,则说明该BPDU为根桥直接发送。

④ 端口ID

端口ID = 端口优先级 + 接口编号,越小越优。
接口优先级默认为128,可调范围0-240,调整步长为16。先比较接口优先级,再比较接口编号。

[S2-GigabitEthernet0/0/3] stp port priority 0

2. TCN BPDU

TCN BPDU是拓扑变更通知BPDU。
触发式发送:只有网络拓扑发生变化时才会发送。所有交换机都可以发送,只要网络发生变化就可以发送TCN BPDU。
作用:通知其他交换机网络发生变化。
TCN BPDU只携带标识部分:协议ID、协议版本ID、BPDU类型。

五、华为设备命令速查

[S1] undo stp enable                  // 关闭STP协议,华为设备默认开启
[S1] stp mode stp                     // 修改STP版本为STP,默认运行MSTP
[S1] stp priority 0                   // 修改STP全局优先级
[S1-GigabitEthernet0/0/1] stp port priority 128   // 修改STP接口优先级
[S1] stp root primary                 // 手工指定根桥,本质是设置优先级为0
[S1] stp root secondary               // 手工指定备份根桥,本质是设置优先级为4096
[S1] display stp brief                // 查看STP端口角色

六、STP端口状态与转发延时

标准STP端口状态:disable、blocking、listening、learning、forwarding。
华为设备中通常对应为:discarding、learning、forwarding。

  • discarding 阻塞状态:所有端口初始都为discarding状态。选举为AP的端口会停留在discarding状态。处于该状态的端口无法转发数据,无法学习MAC地址表项。
  • learning 学习状态:过渡状态。处于该状态的接口无法转发数据,但可以学习MAC地址表项。
  • forwarding 转发状态:处于该状态的接口可以转发数据,也可以学习MAC地址表项。DP/RP最终会停留在forwarding。
转发延时过程:

discarding ——15s—— learning ——15s—— forwarding
转发延时的主要作用是防止临时环路。
端口状态只影响业务数据转发,BPDU的发送不受端口状态影响,只受端口角色影响。其中DP可以发送BPDU,RP只能接收BPDU。初始状态下,所有接口都为DP,都可以发送BPDU。

七、拓扑变化与收敛时间

​1. 直连链路故障

收敛时间:30s。

2. 非直连链路故障

收敛时间:50s。

过程如下:

  1. 当S2的RP失效后,对于S3来说属于非直连链路故障,S3无法直接检测;
  2. S2收不到来自根桥的BPDU,就会认为自己为根桥,向S3发送自身的配置BPDU;
  3. 但S3仍然保存有之前根桥的BPDU,所以接收到S2的次优BPDU时不会处理,而是等待20s;
  4. 20s后,S3给S2发送最优的来自根桥的BPDU;
  5. 通过交互BPDU,S3的AP要转换为DP,S2的DP要转换为RP;
  6. DP进入转发状态需要等待两个转发延时,即30s;
  7. 所以非直连链路故障需要等待20+30s,即50s。

八、拓扑变更机制

拓扑变更机制的触发条件:有接口进入forwarding状态。

  1. 发生拓扑变更的设备,会向外发送TCN BPDU,往根桥方向发送,给到上游交换机;
  2. 上游交换机收到后,会回应TCA=1的配置BPDU,用于确认收到TCN BPDU,并且将TCN BPDU继续往上游发送,直到根桥收到;
  3. 根桥收到TCN BPDU后,会先发送TCA=1的配置BPDU确认收到,再向外发送TC=1的配置BPDU,2s一次,持续发送35s,在全网泛洪;
  4. 其余交换机收到后,会清空自身的MAC地址表项。

九、备考小结

对于华为认证 HCIP-Datacom 来说,STP是二层交换的高频考点。重点记住:

  • 根桥看桥ID,先优先级后MAC;
  • RP看根路径开销、对端BID、对端PID、本端PID;
  • DP看发送者根路径开销、本端BID、本端PID;
  • 剩下的是AP,阻塞防环;
  • 配置BPDU周期2s,20s未收到认为根桥故障;
  • 转发延时15s,直连故障收敛30s,非直连故障收敛50s;
  • TCN用于拓扑变更通知,根桥用TC=1配置BPDU通知全网清空MAC表项;
  • 华为默认开启STP,默认运行MSTP。
掌握这些,再配合 display stp brief 实际查看端口角色,STP就不再是抽象协议,而是园区网排障中非常实用的一把利器。

上一篇: 已经是最新的文章了

下一篇: HCIP-Datacom 学习笔记:初识 OSPF 动态路由协议

二十多年老品牌
微信咨询:togogo_hcie 咨询电话:18924184114 咨询网站客服:在线客服
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!