VRRP介绍
产生背景
为了更好地解决网络中断的问题,网络开发者提出了VRRP,它既不需要改变组网情况,也不需要在主机上做任何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,并且不会给主机带来任何负担。
什么是VRRP?
虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。
VRRP是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。
VRRP是一种路由容错协议,也可以叫做备份路由协议。
VRRP协议工作在应用层。
VRRP的特点
1、IP地址备份。可以在网络中提供多个VirtuaI Router选举的负载均衡以及在单一的网络中支持多重逻辑IP子网络。
2、最优路径指示。从VRRP组内多个路由器的路由中,保证Master成为可用最优先的路由器。在主路由正常工作期间,不触发其他低优先级别路由器选择主路由的服务。
3、安全性。它可在多种不同的交互环境中采用不同的安全策略,它只需极少的配置和开销就可以进行严格的验证。
VRRP的三种状态
NITIALIZE(初始态)、MASTER(主用状态)、 BACKUP(备用状态)是MASTER的备份;只有Master状态才可以转发那些发送到虚拟IP地址的报文。
初始状态都是 Initialize,通过比较优先级产生Master和Backup,在规定时间内,Backup若没有收 到Master发来的心跳报文,将切换为Master。
mater路由器主要功能
1、用VRRP虚拟MAC地址响应路由器IP地址的ARP请求。
2、转发目的MAC是VRRP虚拟MAC的数据包。
3、如果是虚拟路由器IP的拥有者,将接受目的地址是虚拟路由器IP的数据包,否则丢弃。
4、定时发送VRRP通告报文,以便向Backup路由器告知自己的存活情况。 默认是间隔1秒。
5、收到VRRP通告信息时,如果优先值为0,发送VRRP通告信息:否则,判断数据的优先级是否高于本机,或相等而且实际IP地址大于本地实际IP,设置定时通告定时器,复位主机超时定时器,转BACKUP状态;否则的话,丢弃该通告包。
backup路由器主要功能
1、对关于VRRP虚拟ip地址的ARP请求不予回应。
2、丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包。
3、不接收目的ip地址为vrrp虚拟ip地址的数据包。
4、收到VRRP通告信息时。如果优先值为0,表示进入与MASTER选举,否则判断数据的优先级是否高于本机,如果高的话承认MASTER有效,复位主机超时定时器;否则的话,丢弃该通告包。
选举机制
1、VRRP通过选举机制来确定路由器的状态(Master或Backup)。运行VRRP的一组路由器对外组成了一个虚拟路由器,其中一台路由器处于Master状态,其他的处于Backup状态。
运行VRRP的路由器都会发送和接收VRRP通告消息,在通告消息中包含了自身的VRRP优先级信息。VRRP通过比较路由器的优先级进行选举,优先级高的路由器将成为主路由器,其他路由器都为备份路由器。
2、虚拟路由器和VRRP路由器都有自己的lP地址。如果VRRP组中存在lP地址拥有者,即虚拟地址与某台VRRP路由器的地址相同时,IP地址拥有者将成为主路由器,并且拥有最高优先级255。如果VRRP组中不存在IP地址拥有者,VRRP路由器将通过比较优先级来确定主路由器。路由器可配置的优先级范围为1~254,默认情况下VRRP路由器的优先级为100。当优先级相同时,VRRP将通过比较IP地址来进行选举,lP地址大的路由器将成为主路由器。
选举过程
1.所有的路由器或者服务器发送vrrp宣告报文,进行选举,必须是相同vrid和认证密码的,优先级高的服务器或者路由器会被选举为master,其他的机器都是backup。
2.master定时(Advertisement Interval)发送VRRP通告报文,以便向Backup路由器告知自己的存活情况。 默认是间隔1秒。
3.接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。 如果超过1秒没有收到vrrp报文,就认为master挂了,开始重新选举新的master,vip会漂移到新的master上。
VRRP报文结构
VRRP协议号:112
VRRP协议报文使用固定的组播地址224.0.0.18进行发送
VRRP术语
虚拟路由器(Virtual Router):一个抽象对象,基于子网接口,包括一个虚拟路由器标识符(VRID)和一个或多个IP地址,这个(些)IP地址又称为虚拟IP地址,虚拟IP地址作为主机的默认网关。
VRID:虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器。
VRRP路由器(VRRP Router)即运行VRRP协议的路由器,一个VRRP路由器可以加入到一个或多个虚拟路由器中。
虚拟IP地址(Virtual IP Address) :虚拟路由器的IP地址。一个虚拟路由器可以拥有一个或多个IP地址。
IP地址拥有者(IP Address Owner):虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器。
虚拟主路由器(Virtual Router Master):负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应。如果某个VRRP路由器是IP地址拥有者,则它总是虚拟主路由器。
虚拟备份路由器(Virtual Router Backup):不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作。
虚拟MAC地址(Virtual MAC Address):一个虚拟路由器拥有一个虚拟MAC地址。虚拟MAC地址的格式为00-00-5E-00-01-{VRID}。通常情况下,虚拟路由器回应ARP请求使用的是虚拟MAC地址,只有虚拟路由器做特殊配置的时候,才回应接口的真实MAC地址。
优先级(Priority):VRRP根据优先级来确定虚拟路由器中每台路由器的地位。
非抢占方式(Non-preemptive mode):如果Backup路由器工作在非抢占方式下,则只要Master路由器没有出现故障,Backup路由器即使随后被配置了更高的优先级也不会成为Master路由器。
抢占方式(Preemption method):如果Backup路由器工作在抢占方式下,当它收到VRRP报文后,会将自己的优先级与通告报文中的优先级进行比较。如果自己的优先级比当前的Master路由器的优先级高,就会主动抢占成为Master路由器;否则,将保持Backup状态。
VRRP工作过程
1. 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
2. Master路由器周期性向备份组内所有Backup设备发送VRRP通告报文。
3. 如果Master路由器出现故障,VRRP备份组中的Backup路由器根据优先级重新选举新的Master路由器。
4. VRRP组状态切换时,Master路由器由一台切换为另外一台,新Master路由器会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master路由器,整个过程对用户完全透明。
5. 原Master路由器故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
6. Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。