生成树协议(STP)的核心目的是在存在冗余链路的网络中,构建一个无环的拓扑结构,从而防止网络环路带来的广播风暴等问题
-
一、STP 原理
- 选举根桥:网络中的每台交换机都会有一个唯一的桥 ID(BID),由桥优先级(默认 32768)和交换机 MAC 地址组成。具有最低桥 ID 的交换机会被选举为根桥,根桥是生成树拓扑的中心。
- 确定根端口:在非根桥交换机上,每个交换机需要确定一个根端口。根端口是距离根桥最近的端口,衡量距离的指标是路径开销(Path Cost)。路径开销与端口带宽相关,带宽越高,路径开销越低。如果有多条路径开销相同的链路,则会比较发送方的桥 ID 以及端口 ID,选择最优的作为根端口。
- 确定指定端口:每个网段都需要确定一个指定端口。指定端口负责向本网段转发来自根桥的流量。在每个网段中,比较连接到该网段的各个交换机端口的路径开销。具有最低路径开销的端口成为该网段的指定端口。如果多个端口的路径开销相同,则比较这些端口所在交换机的桥 ID,桥 ID 较低的交换机端口成为指定端口。
- 阻塞非指定端口:除了根端口和指定端口之外,其他端口将被阻塞(Blocked)。被阻塞的端口不会转发用户流量,但会继续接收和处理 STP 协议报文,以便能够感知网络拓扑的变化。通过阻塞非指定端口,STP 协议有效地防止了网络环路的产生,确保了网络的稳定性和可靠性。
-
二、STP 状态
- 禁用(Disabled):端口处于非工作状态,不参与 STP 运算,也不转发任何数据帧。该状态通常是由于管理员手动关闭端口,或者端口出现硬件故障等原因导致。
- 阻塞(Blocking):端口不转发用户数据帧,但会接收并处理