生成树协议(英语:Spanning Tree Protocol,STP),是一个作用在OSI网络模型中第二层的通信协议。基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴大量占用交换机的资源。
生成树协议工作原理:任意一交换机中如果到达根网桥有两条或者两条以上的链路,生成树协议都根据算法把其中一条切断,仅保留一条,从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的拓扑结构,很像是以根交换机为树干的树形结构,故为生成树协议。
生成树协议解决了二层环路中的网络风暴 和 MAC表震荡, 在网络中存在二层环路时, 通过逻辑阻塞(Block)特定端口, 从而打破环路, 并在网络出现拓扑变更时及时收敛, 保障网络冗余性。
网络拓扑如图

华为设备默认开启MSTP协议, 使用PC1 ping 任意IP, 抓包结果

交换机 SW3 正确学习到端口g0/0/3对应的PC1的MAC地址

关闭所有交换机的STP功能
1 | system-view |

再次查看抓包结果,二层环路中出现大量ARP报文

SW3 上 对应的PC1 的MAC 在 g/0/0/1 g/0/0/2 之间反复跳动 Flapping

关闭SW3 的g/0/0/1 端口, 广播风暴停止
