VRRP的概念
VRRP是一种路由容错协议,也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由,当网内主机发出的目的地址不在本网段时,报文将被通过缺省路由发往外部路由器,从而实现了主机与外部网络的通信。当缺省路由器down掉(即端口关闭)之后,内部主机将无法与外部通信,如果路由器设置了VRRP时,那么这时,虚拟路由将启用备份路由器,从而实现全网通信。
VRRP的原理
通过在冗余网关间共享虚拟MAC和IP地址,保证数据转发时并不是转给某一个具体网关的IP,而是把数据转发给虚拟网关的IP,因此,不论哪一个路由器成为主路由,都不会影响数据通信。通过组播协议对数据端口进行监控,一旦检测数据转发的端口坏掉,主路由器会停发HELLO包,备路由器提升为主路由,实现数据的稳定高效转发。
在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体;虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定的IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器VRRP协议从路由器组中选出一台作为主控路由器,负责ARP解析和转发IP数据包,组中的其他路由器作为备份的角色并处于待命状态,当由于某种原因主控路由器发生故障时,其中的一台备份路由器能在瞬间的时延后升级为主控路由器,由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。
设备类型
Master 当路由器处于Master状态时,它将会做下列工作:
-
定期发送VRRP报文。
-
以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址
-
转发目的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。
主备切换
当Master设备发生故障后,会主动降低自身优先级低于Backup设备优先级(降低优先级可以手动配置,默认降低至0),并主动发送修改后的VRRP报文,当Backup设备收到后会快速切换为Master设备。如果Master设备恢复正常后,VRRP协议支持主备之间的抢占。
抢占模式(Preemption Mode): 控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。 注意:存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。
抢占延时(Delay Time): 抢占延迟时间,默认为0,即立即抢占。 原因:原Master设备故障恢复后,立即抢占可能会导致流量中断,因为上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。