1. VRRP协议基础与抓包准备
第一次接触VRRP协议时,我盯着设备日志里不断跳转的Master/Backup状态百思不得其解。直到用Wireshark抓到实际报文,才真正看懂了这台"路由器选秀"大戏。VRRP(Virtual 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)突然被一条Priority=200的报文打断,就像选举现场突然有人亮出更高资质证书。关键字段解析:
| 字段名 | 十六进制值 | 实际含义 |
|---|---|---|
| Version | 0x21 | VRRPv2版本 |
| Type | 0x01 | Advertisement报文 |
| Virtual Rtr ID | 0x01 | 组号1 |
| Priority | 0xc8 | 十进制200 |
| Advertisement Interval | 0x01 | 1秒发送间隔 |
2.2 抢占模式暗战
VRRP默认开启抢占模式(Preempt Mode),这就像职场竞争——只要有能力更强的候选人出现,现任必须立刻让位。有次我故意将主设备优先级从200改为80,抓包看到这样的流程:
- 原Master发送Priority=80的Advertisement
- Backup在3倍Advertisement Interval(默认3秒)后启动选举
- 新Master发送Priority=100的Advertisement
- 原Master转为Backup状态
这个过程中最易出错的是计时器同步。曾遇到设备时钟不同步导致状态震荡,后来统一配置NTP服务才解决。
3. 主备切换的两种触发方式
3.1 优雅退出:主动放弃场景
执行undo vrrp vrid 1命令时,抓包能看到Master发送Priority=0的特殊报文。这相当于领导离职前做的交接工作,确保业务零中断。实测发现:
- 优先级0的报文会设置TTL=255(普通报文TTL=1)
- 备份设备收到后立即切换,无需等待Master_Down计时器
- 虚拟MAC地址(00-00-5E-00-01-01)保持不变
3.2 意外宕机:链路故障模拟
当手动shutdown主设备接口时,Wireshark会显示令人窒息的静默——再也没有Advertisement报文发出。此时备份设备的操作堪称教科书级容灾:
- 持续监听1秒间隔的Advertisement(默认Master_Down=3*Adv_Interval+Skew_time)
- 3.6秒后启动选举流程(Skew_time=(256-priority)/256秒)
- 发送携带自身优先级的Advertisement
- 接管虚拟IP响应ARP请求
有个坑我踩了三次:如果备份设备配置了vrrp vrid 1 preempt-mode disable,即使主设备宕机它也不会接管业务!
4. STP与VRRP的联动机理
4.1 路径选择的血泪教训
早期实验我把STP根桥设在LSW2,VRRP 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)