计时器是按直径算出来的
传统生成树的缺省计时器不是随手定的,它们按 7 跳的网络直径设计:报文从一端传到另一端的最坏耗时要能被超时时间覆盖,否则设备会误判链路故障。当网络直径超过这个规模时,正确做法是按协议给出的约束关系重新计算,或者干脆把拓扑收敛——用聚合、堆叠减少级联层级,效果通常好于放大计时器。
基本信息
| 缺省支持 | 7 跳网络直径 |
|---|---|
| 缺省计时器 | Hello 2 秒、Max Age 20 秒、Forward Delay 15 秒 |
| 关键约束 | Max Age 需覆盖最远传播时间,否则会误判超时 |
| 推荐关系 | Max Age 不小于两倍的(Hello 加 1),两倍的(Forward Delay 减 1)不小于 Max Age |
| 辅助工具 | 部分平台支持按直径参数自动换算计时器 |
可行途径
- 用链路聚合或堆叠把多级级联压缩成一层,直接减小直径
- 调整拓扑结构,让核心与汇聚之间的跳数不再累积
- 改用 RSTP 或 MSTP,从根本上缩短收敛时间对直径的依赖
- 确实需要放大计时器时,全网设备统一调整并记录参数
- 调整后用收敛实测验证,确认最远节点的切换时间在可接受范围
按直径设置
按直径设置
spanning-tree vlan 10 root primary diameter 7 # 思科:按直径自动换算计时器
show spanning-tree vlan 10 # 思科:确认根桥与计时器
# 华为:按平台支持的命令设置计时器,修改前核对取值范围
display stp brief # 华为:确认角色与拓扑状态
display stp interface GigabitEthernet0/0/24 # 华为:单口计时相关参数计时器影响
| 参数 | 作用 | 调整后果 |
|---|---|---|
| Hello | 根桥发送配置报文的间隔 | 过短增加处理负担,过长发现故障慢 |
| Max Age | 报文超时判定时间 | 小于传播时间会误判链路故障 |
| Forward Delay | 状态迁移停留时间 | 过短可能导致临时环路 |
压缩手段:用聚合或堆叠收敛层级替代多级级联,减少参与生成树计算的跳数。直径小则收敛快且稳定,比放大计时器更根本。
计时器修改需全网一致:单台设备单独调整会与其他设备形成不一致状态,反而制造出难以定位的间歇性故障。