
STP 协议
本文最后更新于 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 的等待时间,直接进行转发状态,一般部署在交换机连接终端设备的接口上。