收敛调优在调什么
OSPF 的一条链路变化会触发一连串动作:产生 LSA、泛洪、各设备重算最短路径树、更新转发表。链路反复振荡时,这套动作被无限重复,CPU 被 SPF 计算占满,路由表跟着抖动,业务表现为断续丢包。调优的思路是把「检测」和「计算」分开控制:用 BFD 之类的手段快速发现故障,用 SPF 节流和 LSA 间隔限制计算与泛洪的频率。
基本信息
| 适用平台 | 中大型 OSPF 网络,华为 VRP、思科 IOS、H3C Comware |
|---|---|
| 三类参数 | SPF 调度间隔、LSA 生成间隔、LSA 到达间隔 |
| 时间单位 | 思科以毫秒为单位;华为/H3C 取值形态以版本帮助为准 |
| 权限要求 | OSPF 进程视图 |
| 对比前提 | 调优前先采集 CPU 与邻居震荡次数的基线数据 |
典型使用场景
- 链路振荡之后:先记录 CPU 峰值,再用节流限制 SPF 计算频率
- 接入层批量上下线:设备反复重启引发路由抖动,需要限制泛洪节奏
- 设备资源受限:老设备 CPU 弱,默认参数下 SPF 计算就成了瓶颈
- 改造前评估:变更前先确认当前 SPF 调度参数,避免叠加冲突的调整
- 与 BFD 配合:快速检测加节流计算,故障感知快同时抑制振荡
华为 VRP
华为 VRP
[Huawei] ospf 1
[Huawei-ospf-1] spf-schedule-interval ?
! 具体形态与取值以版本帮助为准:可为固定间隔,也可为智能定时器的
! 起始/保持/最大三档;配套参数还有 lsa-arrival-interval
! 与 lsa-generation-interval,改前记录原值以便回退思科 IOS
思科 IOS
SW-CORE-01(config)# router ospf 1
SW-CORE-01(config-router)# timers throttle spf 50 200 5000
! 依次为:启动间隔 50ms / 保持 200ms / 最大 5000ms(毫秒)
SW-CORE-01(config-router)# timers lsa arrival 100 # 同一 LSA 的最短接收间隔
SW-CORE-01(config-router)# timers throttle lsa all 0 5000 5000
SW-CORE-01# show ip ospf | include SPF|throttle # 核对生效值H3C Comware
H3C Comware
[H3C] ospf 1
[H3C-ospf-1] spf-schedule-interval ?
! 取值以版本帮助为准;同类参数还有 lsa-arrival-interval、lsa-generation-interval三类节流参数
| 参数 | 控制对象 | 调小的后果 | 调大的后果 |
|---|---|---|---|
| SPF 调度间隔 | 最短路径树重算的触发频率 | 收敛更快但 CPU 压力上升 | CPU 压力下降但收敛变慢 |
| LSA 生成间隔 | 本机产生 LSA 的频率 | 拓扑变化上送更快 | 变化扩散延迟,邻居感知滞后 |
| LSA 到达间隔 | 同一 LSA 被接收处理的最小间隔 | 泛洪处理更及时 | 抑制重复 LSA,降低处理开销 |
| 检测手段(BFD) | 故障发现速度 | 检测更快、误判风险与开销上升 | 检测变慢,切换时间拉长 |
调优先于节流:节流只是把症状压住,震荡根因(链路故障、STP 翻滚、双工问题)不查清楚,参数再调也只是延后爆发。此外思科的时间参数单位是毫秒,按秒填会得到与设计相差三个数量级的结果。