为什么需要VRRP
随着网络的快速普及和相关应用的日益深入,各种增值业务(如IPTV、视频会议等)已经开始广泛部署,基础网络的可靠性日益成为用户关注的焦点,能够保证网络传输不中断对于终端用户非常重要。
现网中的主机使用缺省网关与外部网络联系时,如果Gateway出现故障,与其相连的主机将与外界失去联系,导致业务中断。
局域网缺省网关示意图
VRRP的出现很好地解决了这个问题。VRRP将多台设备组成一个虚拟设备,通过配置虚拟设备的IP地址为缺省网关,实现缺省网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。如下图所示,当Master设备故障时,发往缺省网关的流量将由Backup设备进行转发。
VRRP备份组示意图
VRRP的工作原理
VRRP的三种状态
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于Master状态的设备才可以转发那些发送到虚拟IP地址的报文。下表详细描述了三种状态。
表1-1 VRRP协议状态
状态 | 说明 |
Initialize | 该状态为VRRP不可用状态,在此状态时设备不会对VRRP通告报文做任何处理。 通常设备启动时或设备检测到故障时会进入Initialize状态。 |
Master | 当VRRP设备处于Master状态时,它将会承担虚拟路由设备的所有转发工作,并定期向整个虚拟内发送VRRP通告报文。 |
Backup | 当VRRP设备处于Backup状态时,它不会承担虚拟路由设备的转发工作,并定期接受Master设备的VRRP通告报文,判断Master的工作状态是否正常。 |
VRRP选举机制
由几台路由器组成的虚拟路由器又称为VRRP备份组。一个VRRP备份组在逻辑上为一台路由器。VRRP备份组建立后,各设备会根据所配置的优先级来选举Master设备,选举方式如下图所示。
Master设备选举过程
VRRP工作原理
如下图所示,路由器A、B、C通过配置VRRP组成一个虚拟路由器。虚拟路由器的IP地址可以与设备上某台设备的实际IP地址一致(实际上直接指定此设备为Master),也可以与它们的地址在同一个网段但不一致。在本例中,我们以前一种方式来举例说明,虚拟路由器的IP地址为路由器A的IP地址(注意:虚拟路由器的IP地址可以与设备上某台设备的实际IP地址一致,也可以与它们呢的地址在同一个网段但不一致。在本例中,我们以前一种方式来举例说明)。由于虚拟路由器的IP地址与路由器A的IP地址相同,因此路由器A为Master设备,路由器B、C为Backup设备。Client1~3的默认网关为10.10.0.1。作为Master设备,路由器A处理着Client1~3发往默认网关10.10.0.1的报文。
VRRP工作原理
当Master设备出现故障时,路由器B和路由器C会选举出新的Master设备。新的Master设备开始响应对虚拟IP地址的ARP响应,并定期发送VRRP通告报文。
VRRP的详细工作过程如下:
- VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
- Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,通告其配置信息(优先级等)和工作状况。
- 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
- VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的设备或者主机的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
- 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
- Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
VRRP应用场景
在网络中,VRRP不仅仅在设备故障时触发Master设备的切换,它也能感知某个接口、某条路由的状态。
与接口状态联动
如下图所示,VRRP可以与上行接口的状态绑定在一起,当承担转发任务的Master设备的上行接口出现异常时,Master设备会降低一定的优先级,当优先级低于Backup设备的优先级时,Backup设备就会切换为Master设备,从而防止因为上行接口的异常导致业务受损。
VRRP与接口联动
与路由状态联动
如下图所示,VRRP可以与上行路由的状态绑定在一起,当上行路由出现异常时,Master设备可以降低一定的优先级,当优先级低于Backup设备的优先级时,Backup设备就会切换为Master设备,从而防止因为上行路由的异常导致业务受损。