VRRP(VirtualRouterRedundancyProtocol,虚拟路由冗余协议)是一种容错协议。通常,一个网络内的所有主机都设置一条缺省路由,这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往路由器RouterA,从而实现了主机与外部网络的通信。当路由器RouterA坏掉时,本网段内所有以RouterA为缺省路由下一跳的主机将断掉与外部的通信产生单点故障。VRRP就是为解决上述问题而提出的,它为具有多播组播或广播能力的局域网(如:以太网)设计。
VRRP将局域网的一组路由器(包括一个Master即活动路由器和若干个 Backup即备份路由器)组织成一个虚拟路由器,称之为一个备份组。这个虚拟的路由器拥有自己的IP地址10.100.10.1(这个IP地址可以和备份组内的某个路由器的接口地址相同,相同的则称为ip拥有者),备份组内的路由器也有自己的IP地址(如Master的IP地址为 10.100.10.2,Backup的IP地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP地址10.100.10.1, 而并不知道具体的Master路由器的IP地址10.100.10.2以及Backup路由器的IP地址10.100.10.3.[1]它们将自己的缺省路由下一跳地址设置为该虚拟路由器的IP地址10.100.10.1.于是,网络内的主机就通过这个虚拟的路由器来与其它网络进行通信。如果备份组内的 Master路由器坏掉,Backup路由器将会通过选举策略选出一个新的Master路由器,继续向网络内的主机提供路由服务。从而实现网络内的主机不间断地与外部网络进行通信。
工作原理
一个VRRP路由器有唯一的标识:VRID,范围为0-255该路由器对外表现为唯一的虚拟MAC地址,地址的格式为00-00-5E- 00-01-[VRID]主控路由器负责对ARP请求用该MAC地址做应答这样,无论如何切换,保证给终端设备的是唯一一致的IP和MAC地址,减少了切换对终端设备的影响[3]
VRRP控制报文只有一种:VRRP通告(advertisement)它使用IP多播数据包进行封装,组地址为224.0.0.18,发布范围只限于同一局域网内这保证了VRID在不同网络中可以重复使用为了减少网络带宽消耗只有主控路由器才可以周期性的发送VRRP通告报文备份路由器在连续三个通告间隔内收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举[3]
在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0-255若VRRP路由器的IP地址和虚拟路由器的接口IP地址相同,则称该虚拟路由器作VRRP组中的IP地址所有者;IP地址所有者自动具有最高优先级:255优先级0一般用在IP地址所有者主动放弃主控者角色时使用可配置的优先级范围为1-254优先级的配置原则可以依据链路的速度和成本路由器性能和可靠性以及其它管理策略设定主控路由器的选举中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由的角色出现对于相同优先级的候选路由器,按照IP地址大小顺序选举VRRP还提供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器[3]
为了保证VRRP协议的安全性,提供了两种安全认证措施:明文认证和IP头认证明文认证方式要求:在加入一个VRRP路由器组时,必须同时提供相同的VRID和明文密码适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码IP头认证的方式提供了更高的安全性,能够防止报文重放和修改等攻击