STP生成数协议
一、二层冗余协议
1、由冗余拓扑引起的问题
广播风暴
帧的多个副本
MAC地址表不稳定
2、解决方法
生成树
Smartlink
Flexlink
3、工作方式
将链路上的某一个端口进行逻辑阻塞从而避免环路
二、STP
1、STP类型
标准 | 所需资源 | 收敛速度 | 收敛方式 | |
---|---|---|---|---|
CST | 802.1D | 低 | 慢 | 所有VLAN |
PVST+ | 思科 | 高 | 慢 | 每个VLAN |
RSTP | 802.1w | 中 | 快速 | 所有VLAN |
快速PVST+ | 思科 | 极高 | 快速 | 每个VLAN |
MSTP | 802.1s | 中或高 | 快速 | VLAN列表 |
2、BPDU类型
(1)配置BPDU
用于生成树的计算以及设备间的选举
相关信息
根桥ID
根路径开销
指定桥ID:优先级+MAC
指定端口ID:优先级+端口编号
(2)TCN BPDU
用于通知网络中其他设备拓扑发生变化
3、计时器
Hellotime,2s
Max age,20s
转发延迟,15s
4、根桥选举
只依靠根桥ID
5、端口角色选举
根桥ID
根路径开销
指定桥ID
指定端口ID
6、端口角色
(1)根端口
用于接收来自根桥的BPDU
一台设备只有一个
根桥没有
(2)指定端口
用于发送或转发根桥的BPDU
一条链路只有一个
根桥全都是
(3)阻塞端口
逻辑阻塞,无法转发数据的端口
没有其他角色的端口
7、端口状态
STP端口状态 | 接收BPDU | 发送BPDU | 获取MAC地址 | 接收数据 | 发送数据 | 状态持续时间 |
---|---|---|---|---|---|---|
阻塞 | √ | × | × | × | × | 未定义(如果存在环路) |
侦听 | √ | √ | × | × | × | 转发延迟(15秒) |
学习 | √ | √ | √ | × | × | 转发延迟(15秒) |
转发 | √ | √ | √ | √ | √ | 未定义(只要没有环路) |
禁用 | × | × | × | × | × | 直至管理员将其启用 |
(1)禁用
被关闭的接口
(2)阻塞
无法接收和转发用户数据
无法学习MAC
接收BPDU
(3)侦听
无法接收和转发用户数据
无法学习MAC
转发和接收BPDU
(4)学习
无法接收和转发用户数据
学习MAC
转发和接收BPDU
(5)转发
接收和转发用户数据
学习MAC
转发和接收BPDU
8、拓扑变更
发现拓扑发生变化的交换机会向根桥方向发送TCN BPDU,上游交换机收到后会回复TCA置位的配置BPDU,然后继续向上游发送TCN BPDU,直到根桥收到,根桥会全网泛洪TC置位的配置BPDU,使所有交换机的MAC地址老化时间修改成15s
9、不足
收敛时间太长
30s或50s
三、PVST+增强特性
1、Uplinkfast
当交换机存在多条上联链路时,可以加快上联链路的切换速度
只能检测直连链路故障
1 | (config)#spanning-tree uplinkfast |
2、Backbonefast
可以解决非直连链路故障时等待的时间20s
所有设备都需要开启
1 | (config)#spanning-tree backbonefast |
3、Portfast
不参与生成树的计算
该端口收到BPDU后,会自动取消portfast
无法在trunk下生效
1 | (config-if)#spanning-tree portfast |