1、VRRP简介
虚拟路由冗余协议 VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时(单点故障),VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个网关的方式来解决单点故障问题,但是通过部署多网关的方式实现网关的备份可能会出现一些问题,比如:网关间IP地址冲突;主机会频繁切换网络出口等。那么如何让多个网关能够协同工作但又不会互相冲突就成了最迫切需要解决的问题。
于是VRRP应运而生,它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。
2、VRRP概述及原理
2.1 VRRP概述
-
VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器。
-
虚拟路由器(Virtual Router):
通过VRRP虚拟出来的网关IP地址,这个网关IP地址,是配置在终端设备上的;
终端设备访问其他网段时,直接将数据发送给虚拟网关IP地址,
此时只有master路由器会回应针对虚拟网关IP地址的ARP请求,所以最终终端设备发送的数据
发送到了master路由器设备上
-
Master路由器(Virtual Router Master):
通过比较VRRP优先级,优先级大的是master路由器;
周期性的发送VRRP报文,维护master路由器和备份路由器的身份;
周期时间默认是1s; 备份网关,通过比较 VRRP 优先级,优先级小的是备份路由器。
-
Backup路由器(Virtual Router Backup):
通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态;
如果在一定的时间内,收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路由器;
这个"一定的时间",默认是"master路由器发送VRRP的周期"的3倍,所以默认是 3s 。
-
VRID:虚拟路由器的标识。只有在同一个组中才会共享虚拟ip。
-
虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
-
IP地址拥有者(IP Address Owner):如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,通常它将成为Master。
-
虚拟MAC地址(Virtual MAC Address):虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}(VRRP for IPv4);00-00-5E-00-02-{VRID}(VRRP for IPv6)。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。
-
VRRP报文 :VRRP协议报文只有一种:Advertisement报文 (通告报文)。用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。VRRP协议报文封装在IP报文中,发送到分配给VRRP的IP组播地址。在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP地址),目的地址是224.0.0.18,TTL是255,协议号是112。
-
VRRP协议版本:VRRPv2和VRRPv3。VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
2.2VRRP的基本结构
2.3 状态机
Initialize
设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理。
Master
当路由器处于Master状态时,它将会做下列工作:
-
定期发送VRRP报文。
-
以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址
-
转发目的MAC地址为虚拟MAC地址的IP报文。
-
如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
-
如果收到比自己优先级大的报文则转为Backup状态。
-
如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态。
-
当接收到接口的Shutdown事件时,转为Initialize。
Backup
当路由器处于Backup状态时,它将会做下列工作:
-
接收Master发送的VRRP报文,判断Master的状态是否正常。
-
对虚拟IP地址的ARP请求,不做响应。
-
丢弃目的MAC地址为虚拟MAC地址的IP报文。
-
丢弃目的IP地址为虚拟IP地址的IP报文。
-
Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。
-
当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。
-
当接收到接口的Shutdown事件时,转为Initialize。
Priority(优先级):
- 默认0 - 255
- 0 代表主要退出
- 255代表 有设备和虚拟ip冲突
- 可手动配置 1-254
- 优先级相同会比较接口地址,大的优先
- 优先级默认(缺省值)为100
2.4 VRRP工作原理
-
虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务;
-
Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况;
-
如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master;
-
虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备。
-
Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(即时抢占、延迟抢占和不抢占)决定是否重新选举Master。
3、VRRP配置实现
<SW1>display vrrp
Vlanif2 | Virtual Router 2
State : Master // VRRP 的状态;
Virtual IP : 192.168.1.254 // 虚拟网关的IP地址
Master IP : 192.168.1.1 // 主网关的接口IP地址
PriorityRun : 200 // 正在运行的 VRRP 优先级
PriorityConfig : 200 // 当初配置的VRRP 优先级
MasterPriority : 200 // VRRP 主网关的优先级
Preempt : YES Delay Time : 0 s // VRRP 抢占功能默认是开启的,并且没有任何延迟
TimerRun : 1 s // VRRP 主网关当前发送VRRP报文的周期时间;
TimerConfig : 1 s // 该设备配置的 VRRP 发送报文的周期
Auth type : NONE // VRRP 的认证类型,默认是没有认证;
Virtual MAC : 0000-5e00-0102 // VRRP 虚拟网关对应的虚拟 MAC 地址
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/1 Priority reduced : 110 // VRRP 链路跟踪技术
IF state : UP // VRRP 跟踪的接口的状态,当前是UP
Create time : 2020-02-21 14:45:36 UTC-08:00
Last change time : 2020-02-21 16:30:00 UTC-08:00