🤔 什么是 STP?

STP(Spanning Tree Protocol)是运行在交换机上的二层破环协议,冗余网络虽能消除单点故障,但会引发广播风暴帧重复MAC 表震荡。STP(生成树协议)通过构建无环树形拓扑解决此问题,是 IEEE 802.1D 定义的二层破环公有协议

作用

  • 消除二层网络冗余路径导致的环路(广播风暴、MAC 表震荡、帧重复)

  • 构建无环树形拓扑,逻辑阻塞冗余链路
    标准:IEEE 802.1D(公有协议)
    部署范围:交换机 / 路由器 /WLAN 设备(思科默认启用

🎏 选举

从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。

根桥(Root Brideg)

对于一个 STP 网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。在进行根桥的选择时,一般会选择性能高、网络层次高的交换设备作为根桥。根桥会根据网络拓扑的变化而动态变化。在配置 STP 过程中,建议手动配置根桥和备份根桥。请配置最核心的交换设备为根桥,以保证 STP 二层网络的稳定性,否则新接入设备可能会触发 STP 根切换,从而导致业务短暂中断。

根端口(Root Port)

去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据路径开销判定。在一台设备上所有使能 STP 的端口中,根路径开销最小者,就是根端口。很显然,在一个运行 STP 协议的设备上根端口有且只有一个,根桥上没有根端口。

指定端口(Designate Port)

指定桥向本设备转发配置消息(BPDU 报文)的端口或者指定桥向本网段转发配置消息的端口。

阻塞端口(Blocking Port)

防止形成环路,剩下没有选中的端口就作为阻塞端口。

🎭接口状态

状态过渡时间:

非自身链路出现故障的情况下,接口从阻塞状态变成转发状态需要 50s

自身链路出现故障的情况下,接口从阻塞状态变成转发状态需要多 30s

禁用状态

接口是 down

阻塞状态

是一个稳定的状态,阻塞接口就是属于阻塞状态,过渡时间 20s

  • 可以接收 BPDU

  • 不能发送 BPDU

  • 不能进行 MAC 地址学习

  • 不会转发业务数据

侦听状态

是一个过渡状态,过渡时间 15s

  • 可以接收 BPDU,也可以发送 BPDU

  • 不可以进行 MAC 地址学习

  • 不能转发业务数据

学习状态

是一个过渡状态,过渡时间 15s

  • 可以收发 BPDU

  • 可以进行 MAC 地址学习

  • 不能转发业务数据

转发状态

是一个稳定状态,根端口、指定端口都是处于转发状态

  • 可以收发 BPDU

  • 可以进行 MAC 地址学习

  • 可以转发业务数据

🌳生成树的特性机制

portfast(思科)和边缘端口(华为华三),使连接终端的接口接入设备的时候不需要进行 30s 的等待时间,直接进行转发状态,一般部署在交换机连接终端设备的接口上。

🧸参考文献

什么是 STP - 华为 (huawei.com)