Synchronization groups enable multiple VRRP instances to coordinate their state transitions, ensuring that a set of virtual routers moves as a unit between BACKUP and MASTER states.
背景问题
在多 VLAN 或多接口环境中,一台设备可能同时运行多个 VRRP 实例(每个实例对应一个虚拟网关)。如果这些实例各自独立进行主备状态决策:
- 可能出现某些实例为主(Master),另一些为备(Backup),导致部分业务流量正常,部分中断;
- 或者造成非对称路由、数据包来回路径不一致,影响防火墙、NAT 等有状态设备的正常工作。
同步组的作用
- 状态同步
将多个 VRRP 实例加入同一个 Sync Group 后,它们的主备状态将统一由组内优先级最高的设备决定。一旦某台设备在组内成为 Master,它将在所有关联的 VRRP 实例中都成为 Master;反之亦然。
- 联动切换
当主设备发生故障或优先级变化时,整个 Sync Group 内的所有 VRRP 实例会同时切换到备份设备,保证网关角色的一致性。
- 提升网络可靠性与一致性
避免“部分网关可用、部分不可用”的割裂状态,保障多业务或多租户环境下的高可用性和转发一致性。
代码实现
代码版本:
VRRP_TSM
当某个 VRRP 实例发生状态变更,且需要与其同步组(sync group)内的其他实例进行协调时,将使用
VRRP_TSM。使用方式可以理解为:VRRP_TSM[from_state][to_state]
1 | struct { |