4.11. Timer Values (定时器值)
本节提供 PIM-SM 中使用的所有定时器的默认值和配置指南.
Hello 消息定时器
Hello Timer (HT)
| 参数 | 默认值 | 说明 |
|---|---|---|
| Hello_Period | 30 秒 | Hello 消息发送间隔 |
| Triggered_Hello_Delay | 5 秒 | 接口启动后延迟 |
| Default_Hello_Holdtime | 105 秒 | 3.5 × Hello_Period |
配置建议:
- Hello_Period 可根据网络大小调整(10-60 秒)
- 较小的网络可使用较短周期以加快收敛
- Holdtime 应设置为 3.5 × Hello_Period
Join/Prune 定时器
Upstream Join/Prune Timer (JT)
| 参数 | 默认值 | 说明 |
|---|---|---|
| t_periodic | 60 秒 | Join/Prune 周期 |
| t_suppressed | rand(1.1 × t_periodic, 1.4 × t_periodic) | 抑制周期 |
| t_override | rand(0, Effective_Override_Interval) | 覆盖延迟 |
Holdtime 计算:
Holdtime = 3.5 × t_periodic = 210 秒
Join/Prune Expiry Timer (ET)
默认值:从接收的 Join/Prune 消息中的 Holdtime 字段获取(通常 210 秒)
Prune-Pending Timer (PPT)
| 参数 | 默认值 | 说明 |
|---|---|---|
| J/P_Override_Interval | Effective_Propagation_Delay + Effective_Override_Interval | LAN 上的 Prune 延迟 |
有效值计算:
Effective_Propagation_Delay =
max(从 LAN 上所有邻居接收的 Propagation_Delay)
Effective_Override_Interval =
max(从 LAN 上所有邻居接收的 Override_Interval)
Assert 定时器
Assert Timer (AT)
| 参数 | 默认值 | 说明 |
|---|---|---|
| Assert_Time | 180 秒 | Assert 状态超时 |
| Assert_Override_Interval | 3 秒 | 赢家刷新间隔 |
注意:由于历史原因,Assert 消息缺少 Holdtime 字段,因此不建议更改 Assert_Time 的默认值.
Register 定时器
Register-Stop Timer (RST)
| 参数 | 默认值 | 说明 |
|---|---|---|
| Register_Suppression_Time | 60 秒 | 停止发送 Register 的时间 |
| Register_Probe_Time | 5 秒 | 发送 Null-Register 的提前时间 |
约束条件:
Register_Probe_Time < Register_Suppression_Time / 2
这确保 Null-Register 探测不会与定时器到期冲突.
Keepalive 定时器
Keepalive Timer (KAT)
| 参数 | 默认值 | 说明 |
|---|---|---|
| Keepalive_Period | 210 秒 | 正常 keepalive 周期 |
| RP_Keepalive_Period | 3 × Register_Suppression_Time + Register_Probe_Time | RP 上的 keepalive |
RP Keepalive 计算:
RP_Keepalive_Period = 3 × 60 + 5 = 185 秒
RP 使用较长的 keepalive 以确保状态不会在下一个 Null-Register 到达之前超时.
LAN 延迟参数
Propagation_Delay
| 参数 | 默认值 | 说明 |
|---|---|---|
| Propagation_Delay | 0.5 秒 | 默认传播延迟 |
配置建议:
- 高速 LAN(千兆以太网):0.5 秒
- 较慢网络或卫星链路:根据实际往返时间配置
Override_Interval
| 参数 | 默认值 | 说明 |
|---|---|---|
| Override_Interval | 2.5 秒 | 默认覆盖间隔 |
定时器调优指南
小型网络优化
对于小型,高速网络(<50 路由器):
Hello_Period = 10 秒
t_periodic = 30 秒
Assert_Time = 90 秒
优势:更快的故障检测和收敛
大型网络优化
对于大型网络(>200 路由器):
Hello_Period = 60 秒
t_periodic = 120 秒
Assert_Time = 360 秒
优势:减少控制流量开销
带宽受限链路
对于低带宽链路:
Hello_Period = 60 秒
t_periodic = 90 秒
减少 Hello 选项以缩小消息大小
定时器关系约束
必须遵守的约束条件:
-
Hello Holdtime:
Holdtime >= 3 × Hello_Period
推荐:Holdtime = 3.5 × Hello_Period -
Join/Prune Holdtime:
Holdtime >= 3 × t_periodic
推荐:Holdtime = 3.5 × t_periodic -
Register 定时器:
Register_Probe_Time < Register_Suppression_Time / 2 -
Assert 刷新:
Assert_Override_Interval < Assert_Time
备注
关于定时器值的详细讨论和不同网络场景的配置建议,请参阅 RFC 7761 第 4.11 节的完整规范.定时器的选择对 PIM-SM 的性能和稳定性有重要影响.