产生原因:传统的局域网中一般采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失。于是VRRP应运而生。
记忆要点:VRRP的状态机
VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备状态)。
三种状态的转换这里每个人都能想到(VRRP启动后比较优先级,优先级高的为Master如果连接失败就回到initialize状态)
原理:VRRP在不改变网络结构的情况下,将多台路由器虚拟成统一的一个虚拟网关,从而实现网关之间的备份。
目前主要使用两种版本:支持IPV4的 V2版本和支持IPV6的V3版本。
VRRP只有一种报文:Advertisement报文;其目的IP地址是224.0.0.18,目的MAC地址是01-00-5e-00-00-12,协议号是112。
状态机的切换过程:
1。比较设备性能,最先启动的设备为master设备。但是优先级设置成0的话仍会成为master设备。
2。比较优先级:优先级越大越优先。
3. 若优先级相同则比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。
VRRP的故障场景
VRRP路由器只能检测到下联线路的故障,若上联线路发生故障,那么VRRP路由器无法进行主动切换。解决这一问题可以尝试VRRP的联动机制,VRRP—BFD(Bidirectional Forwarding Detection,双向转发检测)联动,用来帮助VRRP快速检测链路故障。(BFD的原理以及配置后续补上)
主备备份方式:
AR1配置
#
interface GigabitEthernet0/0/0
ip address 10.0.1.254 255.255.255.0
//电脑PC1的网关
vrrp vrid 1 virtual-ip 10.0.1.30
/*启动VRRP协议并且创建一个虚拟的VRRP网关,AR2也同样配置。可以将两台路由器虚拟成1台路由器*/
vrrp vrid 1 priority 120
/*设置VRRP的优先级,优先级高的为master*/
vrrp vrid 1 preempt-mode timer delay 20
/*设置抢占延迟为20S,在网络拥塞的情况下,master设备故障又恢复后再加上上行设备收敛速度慢,发送的VRRP报文可能不会及时送到,这样会使网络出现频繁的波动,这样就需要设置抢占延迟*/
vrrp vrid 1 track interface GigabitEthernet0/0/2 reduced 30
/*由于VRRP不会检测上行设备,所以当上行设备的端口DOWN掉以后,master设备仍然继续保持,然而流量仍继续从master设备传输,结果就造成网络中断,于是就需要master设备进行检测,当AR1的上行端口0/0/2端口关闭以后master设备的优先级会降低30,这样优先级变为90,比AR2的优先级第,这样AR2就成为master设备了*/
#
AR2配置
#
interface GigabitEthernet0/0/0
ip address 10.0.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 10.0.1.30
#
注意:终端的网关设置成虚拟网关,与真实网关照样可以互通
三个不通的网关都是可以ping通的
负载分担的配置方式
负载分担方式与主备备份方式配置思路一致,
AR2 需要添加和AR1一样的命令,只是在创建一个新的VRRP虚拟网关
AR2额外添加的配置
vrrp vrid 2 virtual-ip 10.0.1.40
vrrp vrid 2 priority 120
vrrp vrid 2 preempt-mode timer delay 20
vrrp vrid 2 track interface GigabitEthernet0/0/0 reduce 30
AR1额外添加的配置
vrrp vrid 2 virtual-ip 10.0.1.40
检查状态命令:display vrrp
我们可以看见 我们创建了2个VRRP 第一个VRRP作为备份,第二个VRRP作为主。 而另一个恰恰相反,这样2太路由器就互相作为主备分,新添加的虚拟网关仍然和PC机是相通的
抓到的报文
版本是V2,也就是IPV4版本,
抓到的以太网2帧:其目的IP地址是224.0.0.18,目的MAC地址是01-00-5e-00-00-12,封装在IP协议之上