17-1 VRRP抓包实战:从报文交互透视主备选举与切换

发布时间:2026/6/29 12:31:37
17-1 VRRP抓包实战:从报文交互透视主备选举与切换 1. VRRP协议基础与抓包准备第一次接触VRRP协议时我盯着设备日志里不断跳转的Master/Backup状态百思不得其解。直到用Wireshark抓到实际报文才真正看懂了这台路由器选秀大戏。VRRPVirtual Router Redundancy Protocol本质上是给网络设备设计的民主选举机制通过优先级比较决定谁当主网关。这里有个反直觉的设计优先级高的设备反而会主动放弃竞选——就像学霸在考试时故意空几道题把表现机会让给其他同学。搭建实验环境需要准备两台支持VRRP的交换机我用的是华为S5700安装Wireshark的笔记本普通PC作为测试终端关键配置往往卡在接口模式上。记得有次实验死活抓不到包后来发现是交换机端口没配trunk模式。正确的初始化命令应该是[LSW1]interface GigabitEthernet0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type trunk [LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 102. 主备选举的报文解密2.1 优先级对决现场当我在LSW1上配置vrrp vrid 1 priority 200时Wireshark立即捕获到戏剧性的一幕。原本稳定的Advertisement报文默认优先级100突然被一条Priority200的报文打断就像选举现场突然有人亮出更高资质证书。关键字段解析字段名十六进制值实际含义Version0x21VRRPv2版本Type0x01Advertisement报文Virtual Rtr ID0x01组号1Priority0xc8十进制200Advertisement Interval0x011秒发送间隔2.2 抢占模式暗战VRRP默认开启抢占模式Preempt Mode这就像职场竞争——只要有能力更强的候选人出现现任必须立刻让位。有次我故意将主设备优先级从200改为80抓包看到这样的流程原Master发送Priority80的AdvertisementBackup在3倍Advertisement Interval默认3秒后启动选举新Master发送Priority100的Advertisement原Master转为Backup状态这个过程中最易出错的是计时器同步。曾遇到设备时钟不同步导致状态震荡后来统一配置NTP服务才解决。3. 主备切换的两种触发方式3.1 优雅退出主动放弃场景执行undo vrrp vrid 1命令时抓包能看到Master发送Priority0的特殊报文。这相当于领导离职前做的交接工作确保业务零中断。实测发现优先级0的报文会设置TTL255普通报文TTL1备份设备收到后立即切换无需等待Master_Down计时器虚拟MAC地址00-00-5E-00-01-01保持不变3.2 意外宕机链路故障模拟当手动shutdown主设备接口时Wireshark会显示令人窒息的静默——再也没有Advertisement报文发出。此时备份设备的操作堪称教科书级容灾持续监听1秒间隔的Advertisement默认Master_Down3*Adv_IntervalSkew_time3.6秒后启动选举流程Skew_time(256-priority)/256秒发送携带自身优先级的Advertisement接管虚拟IP响应ARP请求有个坑我踩了三次如果备份设备配置了vrrp vrid 1 preempt-mode disable即使主设备宕机它也不会接管业务4. STP与VRRP的联动机理4.1 路径选择的血泪教训早期实验我把STP根桥设在LSW2VRRP Master设在LSW1结果PC访问外网的路径变成了PC→LSW3→LSW2→LSW1→AR1。抓包看到ICMP报文在Trunk链路上反复横跳延迟暴涨到140ms。这是因为STP阻塞了LSW3→LSW1的链路VRRP虚拟IP实际在LSW1上流量被迫绕行LSW2中转4.2 最佳实践配置方案经过多次测试总结出黄金配置公式计算STP根桥优先级4096*(n-1)n为设备编号设置VRRP优先级255-(设备编号*10)确保Master设备同时是STP根桥具体到我们的实验环境# LSW1配置 [LSW1]stp priority 0 # 确保成为根桥 [LSW1-Vlanif10]vrrp vrid 1 priority 200 # LSW2配置 [LSW2]stp priority 4096 [LSW2-Vlanif10]vrrp vrid 1 priority 1505. 实战排错指南上周帮客户排查VRRP故障时发现Backup设备不断切换状态。通过抓包分析发现Master发送的Advertisement间隔忽大忽小报文中的Checksum经常错误深层原因是交换机CPU过载这类问题最快定位方法是过滤VRRP报文后按frame.time_delta排序观察时间间隔。正常应该严格遵循Advertisement Interval默认1秒偏差超过±10%就说明设备异常。另一个经典案例是虚拟IP无法ping通。用这个检查清单能快速定位确认物理链路状态display interface brief检查VRRP状态display vrrp brief抓包确认Advertisement报文是否正常发送检查防火墙是否拦截了VRRP报文目的IP 224.0.0.18