|
STP 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。
8 V3 [: I- d) v; i; d, T' h在以太网交换网中部署生成树协议后,如果网络中出现环路,生成树协议通过拓扑计算,可实现: • 消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。 • 链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
5 F9 u) M( M* ?8 n2 B" [) bSTP网络中的其他设备收到配置BPDU消息后,四个基本比较原则如下: a) 最小BID:用来选举根桥。运行STP协议的设备之间根据根桥ID字段选择最小的BID。 b) 最小根路径开销:用来在非根桥上选择根端口。在根桥上,每个端口到根桥的根路径开销都是0。 c) 最小发送者BID:当一台运行STP协议的设备要在两个以上根路径开销相等的端口之中选择根端口时,通过STP协议计算,将选择接收到的配置消息中发送者BID较小的那个端口。 d) 最小PID:用于在根路径开销相同的情况下,不阻塞最小PID的端口,而是阻塞PID值较大的端口。 STP五种端口状态 % ^) Y' n! L4 ~4 x9 q0 t
| 端口状态 | | | | | 只有根端口或指定端口才能进入Forwarding状态。 | | 设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。 | | | | | | | | | | | & V8 N# @' u; S' e1 b6 i2 O7 S `
STP报文格式 • 配置BPDU是一种心跳报文,只要端口使能STP,则配置BPDU就会按照HelloTime定时器规定的时间间隔从指定端口发出。 • TCN BPDU是在设备检测到网络拓扑发生变化时才发出。
7 Q4 [6 o7 F, V6 R0 |; ~" `BPDU报文被封装在以太网数据帧中,目的MAC是组播MAC:01-80-C2-00-00-00,Length/Type字段为MAC数据长度,后面是LLC头,LLC之后是BPDU报文头。以太网数据帧格式如图1所示。
STP
" _& O4 B$ S9 v
图1 BPDU报文格式如图2所示:
STP
图2
# |+ [" u: E, `4 V ~, y |