虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及及时在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。
	简介

VRRP是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。 [1]
VRRP是一种路由容错协议,也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由,当网内主机发出的目的地址不在本网段时,报文将被通过缺省路由发往外部路由器,从而实现了主机与外部网络的通信。当缺省路由器down掉(即端口关闭)之后,内部主机将无法与外部通信,如果路由器设置了VRRP时,那么这时,虚拟路由将启用备份路由器,从而实现全网通信。 在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体;虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定的IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器VRRP协议从路由器组中选出一台作为主控路由器,负责ARP解析和转发IP数据包,组中的其他路由器作为备份的角色并处于待命状态,当由于某种原因主控路由器发生故障时,其中的一台备份路由器能在瞬间的时延后升级为主控路由器,由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。 [2]

VRRP术语

1、Virtual Router 虚拟路由器,一个抽象对象,基于子网接口,包括一个虚拟路由器标识符(VRID)和一个或多个IP地址,这个(些)IP地址又称为虚拟IP地址,虚拟IP地址作为主机的默认网关。 2、VRRP Router VRRP路由器,即运行VRRP协议的路由器,一个VRRP路由器可以加入到一个或多个虚拟路由器中。 3、IP Address Owner IP地址拥有者,虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器。 4、Virtual Router Master 虚拟主路由器,负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应。如果某个VRRP路由器是IP地址拥有者,则它总是虚拟主路由器。 5、Virtual Router Backup 虚拟备份路由器,不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作。 [3]

特点

1、IP地址备份,VRRP的主要功能。可以在网络中提供多个VirtuaI Router选举的负载均衡以及在单一的网络中支持多重逻辑IP子网络。 2、最优路径指示。从VRRP组内多个路由器的路由中,保证Master收敛到现成可用最优先的路由器。 3、最小化不必要的服务中断。在主路由正常工作期间,不触发其他低优先级别路由器选择主路由的服务。 4、广泛的安全性。它可在多种不同的交互环境中采用不同的安全策略,它只需极少的配置和开销就可以进行严格的验证。 5、在可扩展网络有效的工作。

VRRP状态机

协议对VRRP规定了3种状态:INITIALIZE,MASTER和BACKUP。简单地说,INITIALIZE即初始态,

VRRP协议 MASER即主用状态,也就是在VRRP备份组中真正起作用的路由器,BACKUP即备用状态,是MASTER的备份。对于不同状态的实现,有如下要求: (1)INITIALIZE: 路由器启动时,如果路由器的优先级是255(最高优先级,当且仅当配置的VRRP虚拟IP地址和接口IP相同,即所谓IP地址拥有者),要发送VRRP通告信息,并发送广播ARP信息通告路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器准备定时发送VRRP通告信息,转为MASTER状态:否则进入BACKUP状态,设置定时器检查定时检查是否收到MASTER的通告信息。 (2)MASTER 主机状态下的路由器要完成如下功能: ●设置定时通告定时器; ●用VRRP虚拟MAC地址响应路由器IP地址的ARP请求; ●转发目的MAC是VRRP虚拟MAC的数据包; ●如果是虚拟路由器IP的拥有者,将接受目的地址是虚拟路由器IP的数据包,否则丢弃; ●当收到shutdown的事件时删除定时通告定时器,发送优先值级为0的通告包,转初始化状态; ●如果定时通告定时器超时时,发送VRRP通告信息; ●收到VRRP通告信息时,如果优先值为0,发送VRRP通告信息:否则,判断数据的优先级是否高于本机,或相等而且实际IP地址大于本地实际IP,设置定时通告定时器,复位主机超时定时器,转BACKUP状态;否则的话,丢弃该通告包。 (3)BACKUP 备机状态下的路由器要实现以下功能: ●设置主机超时定时器; ●不能响应针对虚拟路由器IP的ARP请求信息; ●丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包; ●不接受目的是虚拟路由器IP的所有数据包; ●当收到shutdown的事件时删除主机超时定时器,转初始化状态; ●主机超时定时器超时的时候,发送VRRP通告信息,广播ARP地址信息,转MASTER状态; ●收到VRRP通告信息时。如果优先值为0,表示进入与MASTER选举,否则判断数据的优先级是否高于本机,如果高的话承认MASTER有效,复位主机超时定时器;否则的话,丢弃该通告包。

选举机制

VRRP使用选举机制来确定路由器的状态(Master或Backup)。运行VRRP的一组路由器对外组成了一个虚拟路由器,其中一台路由器处于Master状态,其他的处于Backup状态。 运行VRRP的路由器都会发送和接收VRRP通告消息,在通告消息中包含了自身的VRRP优先级信息。VRRP通过比较路由器的优先级进行选举,优先级高的路由器将成为主路由器,其他路由器都为备份路由器。 虚拟路由器和VRRP路由器都有自己的lP地址(虚拟路由器的lP地址可以和VRRP备份组内的某个路由器的接口地址相同)。如果VRRP组中存在lP地址拥有者,即虚拟地址与某台VRRP路由器的地址相同时,IP地址拥有者将成为主路由器,并且拥有最高优先级255。如果VRRP组中不存在IP地址拥有者。VRRP路由器将通过比较优先级来确定主路由器。路由器可配置的优先级范围为1~254,默认情况下VRRP路由器的优先级为100。当优先级相同时,VRRP将通过比较IP地址来进行选举,lP地址大的路由器将成为主路由器。 [4]