VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性。

使用VRRP的优势在于:既不需要改变组网情况,也不需要在主机上配置任何动态路由或者路由发现协议,就可以获得更高可靠性的缺省路由。

VRRP协议对应的是RFC3768,该协议仅适用于IPv4。

VRRP协议相关的基本概念:


概念

解释

VRRP路由器(VRRP Router

运行VRRP的设备,它可能属于一个或多个虚拟路由器。

虚拟路由器(Virtual Router)

由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。
它包括了一个虚拟路由器标识符和一组虚拟IP地址。

虚拟IP地址(Virtual  IP Address)

虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。

IP地址拥有者(IP Address Owner)

如果一个VRRP路由器将虚拟路由器的IP地址作为真实的接口地址,则该设备是IP地址拥有者。
当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。

虚拟MAC地址

是虚拟路由器根据虚拟路由器ID生成的MAC地址。
一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。
当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。

主IP地址(Primary  IP Address)

从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。
 VRRP广播报文使用主IP地址作为IP报文的源地址。

Master路由器(Virtual Router Master)

是承担转发报文或者应答ARP请求的VRRP路由器,转发报文都是发送到虚拟IP地址的。
如果IP地址拥有者是可用的,通常它将成为Master。

Backup路由器(Virtual Router Backup)

一组没有承担转发任务的VRRP路由器,当Master设备出现故障时,它们将通过竞选成为新的Master。

抢占模式

在抢占模式下,如果Backup的优先级比当前Master的优先级高,将主动将自己升级成Master。


VRRP的状态:

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

Initialize

设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理。

Master

 当路由器处于Master状态时,它将会做下列工作:

·定期发送VRRP报文。

·以虚拟MAC地址响应对虚拟IP地址的ARP请求。

·转发目的MAC地址为虚拟MAC地址的IP报文。

·如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。

·如果收到比自己优先级大的报文则转为Backup状态。

·如果收到优先级和自己相同的报文,并且发送端的主IP地址比自己的主IP地址大,则转为Backup状态。

·当接收到接口的Shutdown事件时,转为Initialize。

Backup

 当路由器处于Backup状态时,它将会做下列工作:

·接收Master发送的VRRP报文,判断Master的状态是否正常。

·对虚拟IP地址的ARP请求,不做响应。

·丢弃目的MAC地址为虚拟MAC地址的IP报文。

·丢弃目的IP地址为虚拟IP地址的IP报文。

·Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。

·当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。

·当接收到接口的Shutdown事件时,转为Initialize。