通告与检测计时器
VRRPv2 的 Advertisement_Interval 缺省为 1 秒,由 Master 周期发送;Backup 每收到一个通告就把 Master_Down 计时器复位,超时未收到才认为主设备失效并进入选举。Master_Down 的算法是 3 × 通告间隔 + Skew_Time,其中 Skew = (256 - 优先级) / 256 秒,所以优先级越低的备份等待时间越长,这个设计的好处是优先级高者会先接管,减少选举冲突。
基本信息
| 通告间隔 | VRRPv2 缺省 1 秒(Advertisement_Interval) |
|---|---|
| Master_Down | 3 × 通告间隔 + Skew_Time |
| Skew_Time | (256 - 优先级) / 256 秒 |
| 缺省检测时间 | 优先级 100 约 3.61 秒 |
| 华为命令 | vrrp vrid 1 timer advertise 2 |
| 思科命令 | vrrp 1 timers advertise 2 或 msec 300 |
| H3C 命令 | vrrp vrid 1 timer advertise 2 |
检测时间计算
检测时间计算
优先级 100:Skew = (256-100)/256 ≈ 0.61s,Master_Down ≈ 3.61s
优先级 120:Skew = (256-120)/256 ≈ 0.53s,Master_Down ≈ 3.53s
优先级 90 :Skew = (256-90)/256 ≈ 0.65s,Master_Down ≈ 3.65s
把通告间隔调成 2 秒:检测时间随之约翻倍到 6 秒以上计时器参数速查
| 参数 | 缺省值 | 作用 | 调整影响 |
|---|---|---|---|
| Advertisement_Interval | 1 秒 | Master 发送通告的周期 | 调小检测更快,也更容易被抖动误判 |
| Master_Down_Interval | 3 倍间隔加 Skew | Backup 判定主设备失效的时间 | 由间隔与优先级共同决定,不可直接配置 |
| Preempt delay | 0 秒 | 抢占前的等待时间 | 调大让上行与路由先收敛 |
| 通告间隔一致性 | 两端需相同 | 保证主备判断口径一致 | 不一致会造成过早接管或长期并存 |
通告间隔两端必须一致:不一致时可能出现一方过早接管,或双方长时间并存形成双主。调整定时器时要把它纳入双端核对清单,并在变更后重新做一次切换演练。
想把切换做快,优先用 BFD 联动或接口 track 提前发现故障,而不是一味压小通告间隔。间隔过小会让偶发丢包直接触发选举,反过来造成角色频繁漂移,稳定性反而更差。
排障时先抓包看通告周期是否稳定:周期规律说明协议侧正常,问题在链路或终端;周期抖动或缺失,再回头查设备负载、链路质量与安全策略。