1 VRRP简介
1.1 VRRP背景
同一网段内的所有主机都会设置一条相同的以网关为下一跳的默认路由,主机通过该网关实现与外部网络通信。当网关单点出现问题,该网段内的所有主机将无法与外部网络通信,为了避免以上问题得出现,提出了VRRP的概念,VRRP(虚拟机路由器冗余协议)可以避免由于局域网网关单点故障而导致的通信中断。
VRRP允许将多个路由器加入到一个备份组中,形成一台虚拟路由器。
在VRRP主备方式中,仅由Master路由器承担网关功能,当Master出现故障之后,备份组中的路由器通过VRRP选举出优先级高的路由器担任Master工作,虚拟路由器仍能正常运行,这样可以避免网关单点故障而导致的网络中断。
为了通过VRRP实现负载负担,因此需要两个或两个以上的VRRP备份组,每个备份组都存在主备路由器,各备份组中的Master路由器不同。同时一个路由器可以加入到多个VRRP备份组中,在不同的备份组中优先级不同。
VRRPv2将可以承担网关功能的一组路由器添加到备份组中,形成一个虚拟路由器,由VRRP的选举机制决定哪台路由器承担转发任务,局域网中的主机只需要将虚拟路由器配置为网关即可。
VRRP是一种容错协议,在提高网络可靠性的同时,也简化了主机的配置。VRRP报文通常使用组播地址224.0.0.18进行发送。
VRRP名词术语解释
在备份组中,Master路由器定期发送VRRP通告报文,通知备份组中的其他路由器自己工作正常。Backup路由器启动定时器等待通告报文的到来。
当Backup路由器在定时器超时后还未收到Master路由器发送来的VRRP通告报文,则认为Master路由器已经无法正常工作,此时它会认为自己是Master路由器并向外发送VRRP通告报文。备份组中的路由器根据VRRP通告报文中的优先级来确定新的Master路由器,承担报文的转发功能。
VRRP备份组无法感知上行链路的故障,当路由器连接上相链路的接口出现故障时,如果该路由器处于Master状态,将会导致局域网中的主机无法访问外部网络,或通过非最优路径访问外部网络。
如果路由器配置了监控接口的功能,在连接上行接口处于DOWN 或Removed状态时,它会自动降低自身的优先级(降30,链路通了之后会恢复),使得备份组中的其他路由器的优先级会高于这个路由器,以便优先级高的路由器成为Master路由器,承担转发任务。
VRRP有三种状态机,initialize、Master和Backup 。
路由器启动后进入Initialize状态。当收到端口的Startup消息时,路由器将转入Backup或Master状态(当优先级为255时,直接进入Master状态)。当路由器处于Initialize状态时,不会对VRRP报文做任何处理。
当路由器处于Master状态时,他会定期发送VRRP广播报文,响应对虚拟IP地址的ARP请求,并行响应的是虚拟MAC地址,而不是接口的物理MAC地址。转发目的MAC地址为虚拟MAC地址的IP报文。如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的报文,否则丢弃这个IP报文。
IP地址拥有者的运行优先级始终为255,无需用户配置。IP地址拥有者始终工作在抢占方式,且不允许对IP地址拥有者进行监控指定接口或Track项的配置。
网络流量过大或不同的路由器上的定时器的差异,会导致Backup路由器的定时器异常超时而发生状态转换。对于这种情况,可以通过将VRRP通过报文的发送时间间隔延长的办法来解决。