一.STP的状态机制
disable—>不会参加STP的选举(可能端口没有打开,或者没有连线)
1.阻塞 —> 20S—>和计时器有关
在选举之前,所有的端口从disable过度到的第一个状态
在选举结束之后,被阻塞的端口,就是阻塞状态
2.监听—>选举 forwarding delay =15S
在监听的状态下,交换机完成STP的角色的选举,选出根桥、根端口、指定端口、非指定端口
选举结束之后,网络拓扑无环,处于一种比较稳定的状态
3.学习 forwarding delay = 15S: 交换机学习MAC地址,完善CAM表
交换机转发数据,依靠CAM表,交换机的接口开始学习MAC地址来形成CAM表
如果交换机接口从监听直接跳跃到转发状态,在最开始的时候,交换机的CAM表是空的,在网络中的一段时间内,会有大量的泛洪的数据
3.转发
交换机的端口能够正常的转发 数据流量
二.计时器
三.拓扑变更机制
1.当网络中某些链路、交换机设备出现的故障的时候,与该交换机有关的MAC地址信息就会变成无用的信息
2.拓扑变更机制的目的:让其他交换机快速刷新CAM表,将这些无用的信息快速的刷新掉,节省计算和带宽资源
TCN: top change notice --->最先感知到top变化的交换机发送到报文,这个报文最终将要被传递到根桥
TCN ACK:当交换机收到一个TCN报文的时候,向发送TCN的交换机发出的回复报文
TC: 根桥发出的,用于通知全网交换机,网络拓扑发生了变化:35s
当交换机收到TC的时候,会将自己的CAM表老化时间由原来的 300s调整到15s,快速的将CAM表进行刷新
刷新之后,就不再由关于发生故障交换机的MAC地址信息了
四.拓扑变更信息通知及操作过程
1.SWB 感知到SWA的链路故障
2.SWB 通过自己的根端口 向上发送TCN BPDU,通知上面的交换机 拓扑变更的情况,TCN BPDU最终要通知到根桥
3.SWC 的指定端口 收到SWB 发送的BPDU,会给SWB 一个TCN ACK报文的回复,同时,会将接收到的TCN BPDU 再通过自己的根端口向上转发
4.SWC 发送的BPDU TCN 最终被根桥接收,根桥向SWC发送TCN ACK的回复信息
5.根桥向全网通知 拓扑变更
6.全网交换机将自己的CAM表时间由300s 变成15s,重新刷新自己的CAM表
五.STP的特性
1.port fast:port fast端口一旦连接设备,接口可绕过listening和learning状态直接进入forwarding状态。
链接终端的接口,不会连接其他的交换机,所以也不会出现环路,但是这些接口依然受控与STP,当接口在启用的时候,依然要经历30-50漫长的时间。
所以,要把连接终端的端口的选举机制去掉,让这些端口在启用后,迅速的进入到转发状态
2.bpdu guard/bpdu防护
只配置portfast的缺陷:当边缘端口 / 配置了portfast的端口接入交换机的时候,交换机会发送bpdu,则portfast接口会重新参与stp计算,造成环路或者二层的网络动荡
当交换机的portfast 接口收到 BPDU报文的时候,接口会切换到 down(hauwei)/err-disbale(cisco)的状态
3.bpdu filter
背景:
(1)全局配置BPDU filter
希望这个接口处于 边缘接口的角色,但是也可以接入交换机设备,一旦收到BPDU的时候,就会消失掉portfast的特性,成为一个普通的stp的端口
(2)在接口情况下配置bpdu filter
相当于关闭了 STP的功能,当收到BPDU的时候,可能会导致二层环路
4.uplink fast
主要作用:主动向其他交换机发送自己下联PC的MAC地址信息,让其他交换机快速更新CAM表
5.backbone fast
BackboneFast是对UplinkFast的一种补充,
UplinkFast能够检测直连链路的失效,
BackboneFast是用来检测间接链路的失效。
当启用了BackboneFast的交换机检测到间接链路失效之后,会马上使阻塞的端口进入监听状态,少了20S的老化时间。
6.RootGuard
如果新接入的交换机优先级更低,将抢占原有的根网桥
Root Guard是一种强制的根保护措施,它的作用是防止意外(或者非法)加入的交换机成为网络中的根桥