Bootstrap

VRRP:虚拟路由器冗余协议

技术背景

通常,一个网段内只有一个网关,因此一旦网关出现故障,该网段就被孤立。

VRRP

  • 含义:Virtual Router Redundancy Protocol,虚拟路由器冗余协议
  • 把几台路由设备联合组成一台虚拟的”路由设备“。
  • 由一个主(Master)和备(Backup)组成,功能上相当于一台虚拟网关。
  • 虚拟网关具有一个虚拟IP地址,充当终端的网关IP地址。
  • 可以让虚拟网关的IP和某一个网关的IP一致。

VRRP基本概念

概念备注
VRRP路由器运行VRRP协议的路由设备,基于三层接口配置和工作
VRID

Virtual Router Identifier,虚拟路由器标识符

代表一个VRRP组

属于同一VRRP组的路由器(接口)之间产生一台虚拟”路由器“

一个VRRP组中只能粗线一台Master路由器。

VRRP角色

选举规则

角色备注
Master负责应答对IP地址的ARP请求,转发发往虚拟网关的数据包
Backup负责在Master故障后,接替Master工作
选举规则

先比较优先级:0~255,默认100,越大越优先

255:保留给IP地址保留者使用(直接成为Master)

0:触发Backup立即成为Master(如:主动退出VRRP组)

再比IP地址,越大越优先(仅多台设备同时切换到Master后比较)

抢占机制默认开启抢占

虚拟MAC规则

虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址。

格式:

00-00-5E-00-01-{VRID}(VRRP for IPv4);

00-00-5E-00-02-{VRID}(VRRP for IPv6)。

当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。

20(十进制)=14(16进制)

VRRP报文格式

  • IP协议号=122,组播地址=224.0.0.18
  • 版本2=IPv4,版本3=IPv6

VRRP状态机制

IP地址拥有者:物理IP和虚拟IP一样自动成为Master,优先级自动变成255且不能够改变。

Master状态:

  1. 定期发送VRRP报文。
  2. 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
  3. 转发目的MAC地址为虚拟MAC地址的IP报文。
  4. 默认允许ping通虚拟IP地址。
  5. 当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态。

Backup状态:

  1. 接收Master设备发送的VRRP报文,判断Master设备的状态是否正常。
  2. 对虚拟IP地址的ARpeggio请求,不做响应。
  3. 丢弃目的MAC地址为虚拟MAC地址的IP报文。
  4. 丢弃目的地址为虚拟IP地址的IP报文。
  5. 如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不会进一步比较IP地址的大小。

VRRP定时器

定时器备注
ADVER_INTERVAL

默认1秒

Master会定时发送VRRP通知报文,通知自己工作正常。

MASTER_DOWN

(3*ADVER_INTERVAL)+Skew_time(偏移时间)

Skew_Time=(256-Priority)/256

Backup设备监听该定时器超时后,会变成Master状态。

抢占延迟定时器

默认0秒

为了避免频繁进行主备切换,让Backup有足够的时间搜集必要的信息(如路由信息)。

Backup接收到优先级较低的VRRP通告报文后,不会立即抢占成为Master,而是等待一定时间后,才会对外发送VRRP通知报文取代原来的Master。

0:触发Backup立即成为Master

Master主动退出VRRP组切换时间为Skew_time=(256-Priority)/256

Master设备或者链路故障切换时间为(3*ADVER_INTERVAL)+Skew_time

免费ARP的第二应用:用于VRRP 主备切换时更新交换机的MAC地址表

VRRP设计方案注意事项

Master应该和STP根桥保持一致,否则会导致次优路径。

VRRP监视上行链路

当Master上行链路故障时,自动修改优先级,主备切换。

下面那个接口故障了Backup就接收不到报文会引起主备切换,设备故障也会引起主备切换。

Q:如果两台设备配好了VRRP,为什么Router A(配置了监视)故障以后它还是Master?

A:Master的优先级小了但是还是比Backup大。

PS:关注我,更新更多计算机网络的知识~

;