STP协议的作用:
第一, 可以避免网络环路和广播风暴。
二层数据包是没有TTL(time to live)的,如果不加以限制,可能会无限的传播下去。二层设备间如果存在环路,大量的广播包就可能导致广播风暴,导致网络瘫痪。
这里需要理解广播包和二层设备是如何对广播包进行处理的。广播包又分为二层广播包和三层广播包,二层广播包基于特定mac段,三层广播包基于特定IP段。二层设备收到广播报后,会将该数据包从除了接收端口外的其他端口洪泛出去。
第二,可以增强网络的健壮性,正在工作的链路出现故障时,可以使用备份链路,以保证业务的正常
STP工作的主要步骤:
第一步,根据优先级最小的原则,在全网的交换机中选出一个根桥。
第二步,每个交换机上离根桥最近的端口选为根端口,每个网段上距离根桥最近的端口选为指定端口。
第三步,非根桥上的端口中除了根端口和指定端口外的端口都将被阻塞,保证网络不会成环。
第四步,检测到网络拓扑发生变化时,重新计算并生成新的树结构。
STP协议又可以分为:STP,RSTP,MSTP。
下面是STP工作各步骤的详细解释:
第一步,如何选择根桥。
交换机的优先级和交换机的mac地址之和最小的将选为根桥。交换机的优先级默认值是32768,但是也是可以设置的,可以将性能较好的交换机优 先级调低,指定其作为根桥。
各交换机都假设自己为根桥,发送BPDU数据包,包含了优先级和mac地址的信息,通过比较,交换机之间都知道了哪个交换机是根桥。
第二步,选取根端口和指定端口。
根端口和指定端口的选取也是基于优先级的,依据如下:
1.首先比较path cost,越小越好。一般是网络传输速率越快,path cost越小。
2.path cost相同,比较优先级和mac地址,和根桥的选取相同。
3.以上都相等,比较端口ID,越小越优。