本文的主要目的:帮助简单理解 STP 协议的工作流程
1. 背景
二层网络,存在环路的情况下。引起下面的两个问题:
-
广播风暴
交换机转发广播帧的原则,哪个接口收到了数据,就把数据转发给其他接口。 想一想,如果存在环路的情况下,是不是产生了广播风暴 -
MAC 地址漂移
ARP 广播的时候,就会不停的收到不同的 MAC 地址,造成 MAC 地址漂移
2. STP
STP 的目的就是要让闭环变成树
假如有如下闭环:
SWA —— —— SWB
| \ / |
| \ / |
| \/ |
| /\ |
| / \ |
SWC —— —— SWD
怎么才能变成一棵树?
-
选择根节点
在这里我们选择自然排序最低的那个交换机,作为根节点 SWA -
选择根端口
选择每个交换机到根节点,路径最短的那个端口 SWA —— —— SWB | \ | \ | \ | \ | \ SWC SWD -
选择指定端口
其实第二步的时候,一个树已经被我们建立了,但是这棵树太简化了 比如:SWC-SWD 之间的两个端口其实,只需要堵塞一个即可 我们比较 PORTID 的比重,来选择指定端口,这里我们选择了SWC 的两个指定端口和 SWB 的一个指定端口 SWA —— —— SWB | \ | | \ | \ | \ | / \ SWC—— SWD -
其余端口将指定为预备端口,预备端口被阻塞