VRRP的状态机

VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。VRRP状态的转换如图1所示。

图1 VRRP状态的转换




交换机间Vrf中bgp_vrrp路由器三种状态


交换机间Vrf中bgp_交换机间Vrf中bgp_02


Master

当VRRP设备处于Master状态时,它将会做下列工作:

  • 定时(Advertisement Interval)发送VRRP通告报文。
  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 如果它是虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。
  • 如果收到比自己优先级大的报文,立即成为Backup。
  • 如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。
  • 当接收到接口的Shutdown事件时,转为Initialize状态。

Backup

当VRRP设备处于Backup状态时,它将会做下列工作:

  • 接收Master发送的VRRP通告报文,判断Master的状态是否正常。
  • 对虚拟IP地址的ARP请求,不做响应。
  • 收到目的IP地址为虚拟IP地址的IP报文时按照正常二层转发流程进行处理。
  • 如果收到比自己优先级小的报文时,默认立刻升主,如果配置了不抢占,则重置定时器;如果配置了抢占延迟,则重置定时器,待抢占延迟到期再升主。收到比自己优先级高的报文时,重置定时器。如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则会转换为Master状态。计算公式如下:Master_Down_Interval=(3 * Advertisement_Interval) + Skew_time(偏移时间)Skew_Time=(256–Priority)/256
  • 如果收到比自己优先级小的报文且该报文优先级不是0,丢弃报文,立刻成为Master;如果收到报文优先级是0,定时器时间设置为Skew_time(偏移时间)。
  • 当接收到MASTER_DOWN_TIMER定时器超时的消息时,Backup状态才会转为Master状态。
  • 当接收到接口的Shutdown消息时,转为Initialize状态。
VRRP工作过程

VRRP的工作过程如下:

  1. VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
  2. Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
  3. 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
  4. VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
  5. 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。