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