VRRP概述
VRRP(Virtual Router Redundancy Protocol):虚拟路由器冗余协议
利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。
VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。
Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。
VRRP术语
VRRP路由器
运行VRRP的路由器,一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。
VRRP组
一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID,虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器相互交换信息,每一个VRRP组中只能有一个Master。
虚拟路由器
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需要知道虚拟路由器的IP,只有具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master故障后谁来接替,这个是VRRP的工作。
虚拟IP地址、MAC地址
虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。
虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址,一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}
Master、Backup路由器
Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对虚拟IP地址的ARP请求,Master路由器同时以一定的时间间隔发送VRRP信息,以便通知backup路由器自己的存活情况。
backup路由器:处于监听状态的路由器,一旦Master路由器出现故障,backup路由器就开始接替工作。
选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)
通过VRRP形成的虚拟路由器使用虚拟IP地址和虚拟MAC地址与网络中的PC进行通信。虚拟MAC的格式如下:最后1个字节的VRID表示虚拟路由器ID的16进制,例如VRID是1,虚拟MAC地址为00-00-5E-00-01-01
VRRP状态机
VRRP协议的状态共有三种,分别是Initialize,Master,Backup,初始状态都是Initialize,通过比较优先级产生Master和Backup,在规定时间内,Backup若没有收到Master发来的心跳报文,backup将切换为Master。
Master/Backup路由器
Master路由器
定时发送VRRP通告报文,以便向backup路由器告知自己的存活情况
以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求
转发目的MAC地址为虚拟MAC地址的IP报文
如果它是这个虚拟IP的是拥有者(接口实际IP地址为虚拟IP地址),则接收目标IP地址为这个虚拟IP地址的IP报文,否则丢弃这个IP 报文
如果收到比自己优先级大的报文,立即称为Backup
如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup
Backup路由器
接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。
对虚拟IP地址的ARP请求,不做响应
丢弃目的IP地址为虚拟IP地址的IP报文
如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较IP地址
如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立即成为Master
Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则会转化为Master状态。计算公式如下:Master_Down_Interval=(3*Advertisement_Interval)+Skew_time。其中,Skew_Time=(256-Priority)/256
VRRP的工作过程
VRRP组中的设备选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
Master设备周期性向备份组内所有Backup设备发送VRRP通告报文。
如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master
VRRP组状态切换时,Master设备由一台设备切换成另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
原Master设备故障恢复后,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态,若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
VRRP
VRRP报文是一种多播报文,由Master路由器发出来通告它的存在,使用VRRP报文可以检测虚拟路由器的各种参数,用于主路由器的选择。VRRP报文是封装在IP报文中,通过组播的方式传送。也就是说VRRP协议跟ICMP协议一样,工作在第三层(路由层),它是不具有端口的说法的。
VRRP配置
R1
vrrp vrid 1 virtual-ip 192.168.10.1 #创建VRRP虚拟路由器的标识vrid为1,并配置vrid 1的虚拟IP地址
vrrp vrid 1 priority 120 #设置设备A的优先级为120(缺省值100),数值越大越优先
vrrp vrid 1 preempt-mode timer delay 6 #配置master设备的抢占时间延迟为6秒(缺省值为0,立即抢占),以防频繁地进行状态切换
vrrp vrid 1 track interface GigabitEthernet0/0/1 reduce 30 #跟踪上行接口G0/0/1的状态,如端口故障则master优先级降低30(缺省值10)
vrrp vrid 1 track interface g0/0/2 (跟踪下行接口)
R2
int vlanif 10
ip add 192.168.10.10 24
vrrp vrid 1 virtual-ip 192.168.10.1
vrrp vrid 1 priority 115
dis vrrp
PC测试验证:tracert 10.0.0.1