本文最后更新于 2024-08-15,文章内容可能已经过时。

🤗引言

当网络中出现单点故障问题时会影响网络的通信,构建一个冗余网络环境能很好的解决这个问题,但是又会出现诸如广播风暴、帧的多个副本、MAC 地址表不稳定等问题

🤔什么是 STP?

STP(Spanning Tree Protocol)是运行在交换机上的二层破环协议,环路会导致广播风暴、MAC 地址表震荡等后果,STP 的主要目的就是确保在网络中存在冗余路径时,不会产生环路。用来解决二层环路带来的问题。

STP 是一个公有协议,基于 IEEE802.1D 标准,是数通的基本特性,交换机、路由器、WLAN 等产品均支持配置 STP(思科设备默认运行)。

🎏选举

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

根桥(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)