一、简介
路由器是整个网络的核心和心脏,如果路由器发生致命性的故障,将导致本地网络的瘫痪,如果是骨干路由器,影响的范围将更大,所造成的损失也是难以估计的。因此,对路由器采用热备份是提高网络可靠性的必然选择。在一个路由器完全不能工作的情况下,它的全部功能便被系统中的另一个备份路由器完全接管,直至出现问题的路由器恢复正常,这就是热备份路由协议(HotStandbyRouterProtocol),HSRP-RFC2281技术要解决的问题。
1.1 HSRP工作原理
- 全称Hot Standby Routing Protocol,原理比较简单,类似于服务器HA群集,两台或更多的路由器以同样的方式配置成Cluster,创建出单个的虚拟路由器,然后客户端将网关指向该虚拟路由器。最好由HSRP决定哪个路由器扮演真正的默认网关。
- 具体说,HRSP用于在源主机无法动态的学习到网关IP地址的情况下防止默认路由的失败。
- 它主要用于多介入,多播和广播局域网(例如以太网)。
1.2 VRRP工作原理
虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP 包中发送。
1.3 两者相互区别:
VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。
使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。
二、VRRP的产生背景
2.1 单网关的缺陷
单网关的缺陷:当网关路由器RouterA出现故障时, 本网段内以该设备为网关的主机都不能与Internet进行通信。
2.2 多网关存在的问题
多网关:通过部署多网关的方式实现网关的备份。但多网关可能会出现一些问题:
- 网关间IP地址冲突
- 主机会频繁切换网络出口
三、VRRP基本概述
VRRP能够在不改变组网的情况下, 将多台路由器虚拟成一个虚拟路由器, 通过配置虚拟路由器的IP地址为默认网关, 实现网关的备份。
协议版本: VRRPv2(常用) 和VRRPv3:
- VRRPv2仅适用于IPv4网络
- VRRPv3适用于IPv4和IPv6两种网络
3.1 VRRP状态机
开启VRRP的设备有三种状态:
- Initialize:初始化状态,设备刚开机或宕机。
- Backup:备份状态,设备进行VRRP协商的状态
- Master:主状态,设备处于转发状态,是优先级最高的Backup设备。
三种状态之间的转换条件如下:
Initialize->Master: Startup priority=255;
Initialize->Backup: Startup priority!=255;
Master->Initialize: 设备关闭;
Master->Backup: 收到比自己优先级更高的数据
包;
Backup->Initialize: 设备关闭;
Backup->Master: 在超时时间内没有收到VRRP通告报文或者收到通告报文原Master优先级为0,或者收到的通告报文中的原Master优先级比自己的优先级低
3.2 Master设备的选举
- 初始创建的VRRP设备工作在Initialize状态, 收到接口Up的消息后, 如果设备的优先级为255,则直接成为Master设备; 如果设备的优先级小于255, 则会先切换至Backup状态, 待Master_Down_Interval定时器超时后再切换至Master状态。 首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级, 进行Master的选举: 如果VRRP报文中Master设备的优先级高于或等于自己的优先级, 则Backup设备保持Backup状态。
- 如果VRRP报文中Master设备的优先级低于自己的优先级, 采用抢占方式的Backup设备将切换至Master状态, 采用非抢占方式的Backup设备仍保持Backup状态。
- 如果多个VRRP设备同时切换到Master状态, 通过VRRP通告报文的交互进行协商后, 优先级较低的VRRP设备将切换成Backup状态, 优先级最高的VRRP设备成为最终的Master设备; 优先级相同时, VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
3.3 VRRP主备路由器切换过程
如果Master发生故障, 则主备切换的过程:
- 缺省情况下, Master发送VRRP报文的时间间隔为1秒, 即Advertisement_Interval =1。
- Master_Down_Interval=(3* Advertisement_Interval) + Skew_time。
- 其中,Skew_Time=(256–Priority)/256 (优先级越大,等待时间越短,这样优先级大的设备可以尽快成为Master)
如果原Master故障恢复, 则主备回切的过程:
上图中的问题引出了两个新的概念:抢占模式和抢占延迟。
抢占模式( Preemption Mode)
- 控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。
- 注意:存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。
抢占延时( Delay Time):
- 抢占延迟时间,默认为0,即立即抢占。
- 图中RouterA故障恢复后,立即抢占可能会导致流量中断,因为RouterA的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。
- 另外,在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval期间没有收到Master设备的报文, Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup,如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_Down_Interval时间后,再等待抢占延迟时间。如在此期间仍没有收到通告报文, Backup设备才会切换为Master设备。