STP协议---生成树协议

张开发
2026/4/11 21:14:56 15 分钟阅读

分享文章

STP协议---生成树协议
一、STP定义二层环路带来的问题广播风暴stp是二层网络中用于消除环路的协议通过阻断冗余链路来消除网络中可能存在的环路stp是二层网络中用于消除环路的协议通过阻断冗余链路来消除网络中可能存在的环路。二、STP的相关BDPU:1、定义桥协议数据单元用于传递STP协议相关信息2、分类1配置BPDU传递STP配置信息​​​​​​网桥通过交互配置BPDU获取STP计算所需的参数;配置BPDU基于二层组播方式发送目的地址01-80-C2-00-00-00配置BPDU只由根桥周期性发出发送周期为Hello Time2秒配置BPDU格式2TCN BPDU通告拓扑变更信息注意区分TC BPDU根桥发出的拓扑变化信息其他交换机收到后会将MAC地址表老化时间由300秒缩短到15秒、TCA BPDU拓扑变化确认TCN BPDU非根交换机发的拓扑变化通知用于报错使用 两者是属于配置BPDU中不同的flag置位三、STP选举机制BID中的优先级范围数字越大设备的优先级越低四、stp初始化流程---端口状态disable禁用状态被手动shutdown的端口。不发送配置BPDU也不能接收到来自根桥的配置BPDU不进行MAC地址学习不收发数据。blocking阻塞状态不发送配置BPDU但是能接收到来自根桥的配置BPDU不进行MAC地址学习不收发数据。listening监听状态发送配置BPDU不进行MAC地址学习不收发数据持续15秒。learning学习状态发送配置BPDU进行MAC地址学习不收发数据持续15秒。forwarding转发状态发送配置BPDU进行MAC地址学习收发数据发送延迟的过程从中间状态listening经过一个延迟进入另一个中间状态learning从中间状态learning经过一个延迟进入另一个中间状态forWording思考当交换机A和B之间的链路down故障切换网络收敛需要多长时间需要30秒因为上图中虽然有很多的阻塞口可到底启用哪个口就需要重新进行STP的选举过程。五、STP计时器hello time2秒配置BPDU的发送周期max age20秒判断链路故障的时间10个hello time周期forwarding delay15秒状态切换延迟STP收敛时间总结51初次收敛时间30秒15侦听15s学习:存在直连检测本地仅存在一个阻塞端口可以收到来自根桥的BPDU分析SW0上2口是阻塞口当其上1口链路故障2口只需经过30S就可以故障切换因为它可以收到来自根桥的BPDU所以不需要经过额外的20秒的故障检测机制。2拓扑故障再收敛时间若某个端口断开将发送次优BPDU以本地为根给其他邻居交换机其他交换机无视该数据进行20s max age计时同时阻塞接口进入15s侦听15s学习故总50s六、STP拓扑变更机制2---B分析主机B发送一个数据SW1会从2口收到在SW1的MAC地址表中会写进去这么一条记录2口对应主机B的MAC地址思考SW2和SW4连接的链路down后SW4的阻塞口2会被启用。但是这个故障切换对于SW1来说并不知道假设现在主机A访问主机B还能正常访问吗答案不能SW1通过查MAC地址表发现要从自己的2口转发数据数据到达SW2后发现SW2和SW4连接的链路down了所以数据传不到主机B如果没有STP协议则需要300秒的老化时间才能更改SW1中的MAC地址表的记录为3口对应主机B的MAC地址所以拓扑变更后要及时通知给上行交换机工作原理1.交换机检测到拓扑变更交换机向根网桥发起TCN BPDUmax age超时/有接口变更为转发状态判断为拓扑发生变更交换机上有端口从forwarding或learning状态转变为blocking2.沿途的非根桥收到TCN BPDU后会继续向根桥转发并在转发根桥的下一轮配置BPDU中把TCA位置位用于向下游交换机确认已经收到了TCN BPDU3.根桥收到TCN BPDU后在下一轮的配置BPDU中把TC位置位4.所有交换机收到TC置位的BPDU后MAC地址表老化时间由300秒缩短到15秒七、缺点拓扑变更不灵活主机频繁上下线网络会产生大量TCN BPDU导致网卡收敛时间长拓扑层次越多收敛时间越长 故障切换时间太长

更多文章