两代报文字段差异
VRRPv2(RFC 3768)与 VRRPv3(RFC 5798)的字段差异是抓包判读与跨厂商对接的基础。版本字段可以直接区分报文世代;v3 移除了认证字段、新增通告间隔上限字段,地址列表同时兼容 IPv4 与 IPv6。VRRP 直接封装在 IP 之上,协议号为 112。
基本信息
| 标准 | RFC 3768(v2)/ RFC 5798(v3) |
|---|---|
| IP 协议号 | 112(不经 TCP/UDP) |
| IPv4 组播 | 224.0.0.18 |
| IPv6 组播 | ff02::12 |
| 认证 | v2 有(无/明文/MD5),v3 已移除 |
报文字段对比
| 字段 | VRRPv2 | VRRPv3 |
|---|---|---|
| 版本 / 类型 | 2 / 1 | 3 / 1 |
| VRID | 1-255 | 1-255 |
| 优先级 | 0-255 | 0-255 |
| 地址列表 | 仅 IPv4 | IPv4 与 IPv6 |
| 认证字段 | 有(无 / 明文 / MD5) | 已移除 |
| 通告间隔上限 | 无此字段 | 有(Max Adver Int) |
| 默认通告间隔 | 1 秒 | 1 秒 |
典型使用场景
- 抓包时先看版本字段,2 或 3 直接确定报文世代
- 跨厂商对接前确认两端支持的版本与地址族,避免版本不匹配
- v2 升级 v3 时逐台核对版本与地址列表类型
- 安全评估时注意 v3 没有认证字段,防护需要靠网络层手段
- 排障时关注通告间隔上限字段,它影响主备判定速度
抓包判读要点
抓包判读要点
# VRRP 封装在 IP 之上(协议号 112),不是 TCP/UDP 报文
版本 = 2 → VRRPv2,仅支持 IPv4 地址列表
版本 = 3 → VRRPv3,可承载 IPv4 或 IPv6 地址列表
组播目的 = 224.0.0.18(IPv4)
组播目的 = ff02::12(IPv6)
# 抓包过滤(示例):ip proto 112 或 vrrp两个数值字段怎么读
优先级字段决定主备角色:数值越大越优先。255 是地址拥有者的专用取值,优先级不可被抢占;0 表示主动放弃主状态,用于让备机立即接管,通常由协议或联动机制触发,不应长期手工配成 0。VRID 是虚拟路由器的编号,同一接口上不同 VRID 各自构成一套主备关系,两端必须一致,否则互相看不见对方。
v3 移除认证字段后,协议层面的防误组能力减弱。真实防护要落到网络层:用 ACL 限制 VRRP 报文的来源,接口侧配合保护特性,不要把 v2 时代关于认证的安全预期直接带到 v3 环境。