在VRRP标准协议模式中,只有Master路由器可以转发报文,Backup路由器处于监听状态,无法转发报文。虽然创建多个备份组可以实现多个路由器之间的负载分担,但是局域网内的主机需要设置不同的网关,增加了配置的复杂性。
VRRP负载均衡模式在VRRP提供的虚拟网关冗余备份功能基础上,增加了负载均衡功能。其实现原理为:将一个虚拟IP地址与多个虚拟MAC地址对应,VRRP备份组中的每个路由器都对应一个虚拟MAC地址,使得每个路由器都能转发流量。在VRRP负载均衡模式中,只需创建一个备份组,就可以实现备份组中多个路由器之间的负载分担,避免了VRRP备份组中Backup设备始终处于空闲状态,网络资源利用率不高的问题。
VRRP负载均衡模式以VRRP标准协议模式为基础,VRRP标准协议模式中的工作机制(如Master路由器的选举、抢占、监视功能等),VRRP负载均衡模式均支持。VRRP负载均衡模式还在此基础上,增加了新的工作机制。
[if !supportLists]1、[endif]虚拟MAC地址分配:
VRRP负载均衡模式中,Master路由器负责为备份组中的路由器分配虚拟MAC地址,并根据负载均衡算法为来自主机的ARP(IPv4网络中)/ND(IPv6网络中)请求,应答不同的虚拟MAC地址,从而实现流量在多个路由器之间分担。备份组中的Backup路由器不会应答主机的ARP(IPv4网络中)/ND(IPv6网络中)请求。
[if !supportLists]2、[endif]虚拟转发器:
虚拟MAC地址的分配,实现了不同主机将流量发送给备份组中不同的路由器。为了使备份组中的路由器能够转发主机发送的流量,需要在路由器上创建虚拟转发器。每个虚拟转发器都对应备份组的一个虚拟MAC地址,负责转发目的MAC地址为该虚拟MAC地址的流量。
虚拟转发器的创建过程为:
(1)备份组中的路由器获取到Master路由器为其分配的虚拟MAC地址后,创建该MAC地址对应的虚拟转发器,该路由器称为此虚拟MAC地址对应虚拟转发器的VF Owner(Virtual Forwarder Owner,虚拟转发器拥有者)。
(2) VF Owner将虚拟转发器的信息通告给备份组内其它的路由器。
(3)备份组内的路由器接收到虚拟转发器信息后,在本地创建对应的虚拟转发器。
由此可见,备份组中的路由器上不仅需要创建Master路由器为其分配的虚拟MAC地址对应的虚拟转发器,还需要创建其它路由器通告的虚拟MAC地址对应的虚拟转发器。
3、虚拟转发器的权重和优先级
虚拟转发器的权重标识了设备的转发能力。权重值越高,设备的转发能力越强。当权重低于一定的值——失效下限时,设备无法再为主机转发流量。虚拟转发器的优先级用来决定虚拟转发器的状态:优先级最高的虚拟转发器处于Active状态,称为AVF(Active Virtual Forwarder),负责转发流量。虚拟转发器的优先级取值范围为0~255,其中,255保留给VF Owner使用。设备根据虚拟转发器的权重计算虚拟转发器的优先级。
4、虚拟转发器备份
如果VF Owner的权重高于或等于失效下限,则VF Owner的优先级为最高值255,作为AVF负责转发目的MAC地址为虚拟MAC地址的流量;其他路由器接收到AVF发送的Advertisement报文后,也会创建虚拟转发器,该虚拟转发器处于Listening状态,称为LVF(Listening Virtual Forwarder)。
LVF监视AVF的状态,当AVF出现故障时,将选举出虚拟转发器优先级最高的LVF作为AVF。虚拟转发器始终工作在抢占模式。如果LVF接收到AVF发送的Advertisement报文中虚拟转发器优先级低于本地虚拟转发器优先级,LVF就会抢占成为AVF。
5、VRRP负载均衡模式的报文
VRRP标准协议模式中只定义了一种报文——VRRP通告报文,且只有Master路由器周期性发送该报文,Backup路由器不会发送VRRP通告报文。
[if !supportLists]① [endif]Advertisement报文:不仅用于通告本设备上备份组的状态,还用于通告本设备上处于Active状态的虚拟转发器信息。Master和Backup路由器均周期性发送该报文。
[if !supportLists]② [endif]Request报文:处于Backup状态的路由器如果不是VF Owner(Virtual Forwarder Owner,虚拟转发器拥有者),则发送Request报文,请求Master路由器为其分配虚拟MAC地址。
[if !supportLists]③ [endif]Reply报文:Master路由器接收到Request报文后,将通过Reply报文为Backup路由器分配虚拟MAC地址。收到Reply报文后,Backup路由器会创建虚拟MAC地址对应的虚拟转发器,该路由器称为此虚拟转发器的拥有者。
[if !supportLists]④ [endif]Release报文:VF Owner的失效时间达到一定值后,接替其工作的路由器将发送Release报文,通知备份组中的路由器删除VF Owner对应的虚拟转发器。