stp拓扑变化分类

Max Age 20s

Hellotime 2s

Forward delay 15

3、拓扑改变需要多长时间

1)根桥故障:需要50秒(Max age+2个forwarding delay)

2)非直连链路:

非直连故障

在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。

若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自根桥SW1的BPDU报文,Max Age计时器(缺省: 20 s)就会超时,从而导致已经收到的BPDU报文失效。

此时,非根桥SW2会认为根桥失效,并且认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。

在此期间,SW3的预备端口一直收不到包含根桥ID的BPDU,Max Age计时器超时后,端口进入到Listening状态,开始向SW2"转发"从上游发来的包含根桥ID的BPDU。

因此,Max Age定时器超时后,SW2和SW3几乎同时收到对方发来的BPDU,再进行STP重新计算,SW2发现SW3发来的BPDU更优,就放弃宣称自己是根桥并重新确定端口角色。

端口状态:

SW3预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。

收敛时间:

非直连故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时间。

3)直连链路

直连链路故障:

当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路。

当网络稳定时,交换机SWB检测到根端口的链路发生故障,则其备用端口会进入用户流量转发状态。

端口状态:

备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。

收敛时间:

直连链路故障,备用端口会经过30s后恢复转发状态。

4)拓扑改变,MAC地址表的处理方式

在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。

本例中,SW2中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/3可以到达主机B。由于SW3的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SW2后,SW3会继续通过端口GigabitEthernet 0/0/3转发该数据帧。

拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。

拓扑变更以及MAC地址表项更新的具体过程如下:

SW3感知到网络拓扑发生变化后,会不间断地向SWB发送TCN BPDU报文。

SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。

SW2向根桥转发TCN BPDU报文。

SW1把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。

最多等待15 s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。

相关推荐
敲上瘾1 小时前
Docker镜像构建优化指南:CMD/ENTRYPOINT、多阶段构建与缓存优化
运维·缓存·docker·容器·架构
qq_479875437 小时前
X-Macros(1)
linux·服务器·windows
ζั͡山 ั͡有扶苏 ั͡✾8 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai9 小时前
python写的文件备份网盘程序
运维·服务器·网络
爱吃牛肉的大老虎9 小时前
网络传输架构之gRPC讲解
网络·架构
Warren989 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
欢喜躲在眉梢里9 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_5377658010 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体10 小时前
docker健康检查使用
运维·docker·依赖·健康检查
云飞云共享云桌面10 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑