工作流程
1.根据Bid选举根桥Root Bridge(全局唯一)
Bid=priority(def:32768 max:61440 step:4096)+MAC 越小越优先
2.每个交换机根据每个接口去往根桥的cost选取根接口Root port,如果cost相同比较对端的Bid(每个交换机唯一)
3.根据每条链路两端的路由器的Bid选取指定接口Designate port(每条链路唯一)
1)根桥上接口全为指定接口
2)根接口对端一定为指定接口
4.阻塞非根、非指定接口
BPDU:bridge protocol data unit 二层心跳报文,用来实现stp
五种状态
禁用(disabled):stp关闭状态
阻塞(blocking):只接收不发送BPDU
侦听(listening):比较BPDU,确定交换机和接口角色
学习(learning):学习MAC地址表 学习、广播(和交换机原理重叠)
转发(forwarding):端口最终状态 转发、更新
计时器
hello 2s 侦听 15s 学习 15s 老化 20s
rstp rapid
解决stp收敛慢(30~50s)
改进:增加 AP alternative代替接口(根接口备份),可以快速变为根接口
增加BP back备份接口(指定接口的备份)
增加edge port:连接边缘设备的端口,开启边缘端口保护后不接收BPDU
增加P/A机制Proposal/Agree
状态:阻塞(discarding <- disabled、blocking、listening):只接受BPDU
学习:接受数据、学习MAC
转发:最终状态
mstp multi
前两版本的缺陷:只有一颗生成树并不是对所有的vlan都是最佳路径
阻塞链路彻底阻塞,浪费资源无法负载分担
解决:引入实例 instance,每个vlan绑定一颗树,可以对每个vlan的流量进行规划