采用的协议报文是BPDU,BPDU在STP协议中分为两类:
1、配置BPDU:生成树计算和维护生成树的报文
2、TCN BPDU:通知相关网络设备拓扑结构发生变化的报文
分这么几步:
1、根桥的选举:就看桥ID,先比较优先级,然后比较桥MAC地址
2、端口角色的确定: 根端口、指定端口、阻塞端口
根端口选举的时候遇到的特殊情况:
(1)两个端口到达根桥的路径开销是一样的,所连网段指定桥ID最小的端口为根端口;
(2)两个端口根路径开销和指定桥ID都一样, 所连指定端口ID(Port ID+端口优先级)最小的端口为根端口;
端口状态:
disabled:未启用STP功能的端口;
BLOcking:
listening:
learning:
forwarding:
Listening和Learning是不稳定的中间状态;
端口状态迁移:
端口被选举为指定端口和根端口之后,需要从Blocking经过Listening、Learning状态才能到Forwarding状态;
802.1D中默认的Forwarding Delay是15秒;
端口状态迁移:
1、当一个端口由于拓扑发生改变不再是根端口或者指定端口了,就会立刻迁移到Blocking状态;
2、当一个端口被选举为根端口或者指定端口之后,就会从Blocking转台迁移到LIstening状态,经历一个Forwarding Delay时间,迁移到下一个中间状态Learning状态;再经历一个FOrwarding Delay状态,迁移到Forwarding状态;
生成树的不足:
1、端口从阻塞进入转发状态需要经历两倍的Forwarding Delay;
2、如果网络中的拓扑结构变化频繁,网络会频繁的失去联通性;
应该就是网络当中的主机会至少有30S的时间无法访问;