1、VRRP产生背景
设想一下,如果生产环境中企业提供服务的机器连接路由器坏了,没有及时补位的话则会产生不可估量的损失,那么如何解决这个问题呢?比如部署多个路由器,分别配置多个网关协同工作,但是容易产生地址冲突,那该如何解决呢?VRRP协议应运而生
2、VRRP是什么
VRRP协议(Virtual Router Redundancy Protocol,简称VRRP)是虚拟路由冗余协议,可以实现将多台路由器虚拟成一个路由器,在这个VRRP组内的多个路由器共用一个虚拟的ip地址,该ip地址为局域网内所有主机的网关地址。
VRRP可以决定在这一组路由器中,谁是master路由器,master路由器负责接收发送至网关的数据包,并进行转发,以及响应pc对于该段网关的arp请求。同时会周期性的发送VRRP报文给到backup路由器,表明自己的状态;
VRRP报文只有一种:advertisement报文(通告报文),其目的ip地址是224.0.0.18,协议号是112
VRRP是工作在网络层的协议!!!!
3、VRRP的原理
(1)虚拟路由器中的路由器根据优先级选举出master,master路由器通过发送arp报文将自己的虚拟mac地址通知给与其相连的设备(如路由器或者三层交换机),从而承担vrrp的报文转发任务(后面抓包可以看到vrrp报文的源ip是一个物理ip,目标ip是224.0.0.18)
(2)master路由器会周期性(1s)发送VRRP报文,来告知backup路由器自己的配置信息优先级以及工作状态,同时backup路由器也会周期性的收到这个报文来判断master的状态,表明随时待命
(3)如果master路由器故障,虚拟路由器中的backup路由器(3s)未收到VRRP报文,则会根据优先级推举出新的master路由器
(4)虚拟路由器状态切换时,master路由器由一台换成另一台设备,新的master路由器只是简单的发送一个携带虚拟路由器的mac地址和虚拟ip地址的arp报文,这样就可以更新与它连接的主机或设备中的arp相关信息。网络中的主机感知不到master切换
(5)backup路由器的优先级高于master路由器的时候会根据backup的设置来决定是否及时抢占(可以设置延时)
4、VRRP环境中的几个设备类型
VRRP状态机:有3种状态:初始状态(Initialize)、活动状态(Master)、备份状态(Backup),只有活动状态的设备为master路由器,才可以转发那些发送到网关的报文
VRID:这是虚拟路由器的标识。相同VRID的一组路由器构成一个虚拟的路由器。VRRP报文只使用advertisement报文,协议号是112,使用固定的目标ip是224.0.0.18
master路由器:优先级更大,周期性发送vrrp报文
backup路由器:接收vrrp报文,随时准备着
5、VRRP实验步骤及抓包分析
实验目的:追踪pc1发送数据包到服务器的路径;当master断开时,是否还会继续通信,再次追踪通信路径;抓包查看VRRP报文
R2的配置:
<Huawei>u t m
<Huawei>sys
[Huawei]sys R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.1.3 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.1.0.1 24
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254 24 ##这是错误的
^
Error:Too many parameters found at '^' position. ###提示在^的参数是多余的!!
[R2-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254 ###这里的地址不需要添加子网掩码
[R2-GigabitEthernet0/0/0]vrrp vrid 1 priority 120 ##优先级配置
[R2-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode timer delay 20 ###如果优先级大抢占延时20s
[R2-GigabitEthernet0/0/0]vrrp vrid 1 track interface g0/0/1 reduce 30 ##监听g0/0/1的流量,没有流量优先级降低30
[R2-GigabitEthernet0/0/0]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 192.168.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 120
vrrp vrid 1 preempt-mode timer delay 20
vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30
#
return
[R2-GigabitEthernet0/0/0]q
[R2]ip route-static 172.16.1.0 24 10.1.0.2
R3的配置:
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.2.0.1 24
[R3-GigabitEthernet0/0/1]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.1.4 24
[R3-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254
[R3-GigabitEthernet0/0/0]vrrp vrid 1 priority 110
[R3-GigabitEthernet0/0/0]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 192.168.1.4 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 110
#
return
[R3-GigabitEthernet0/0/0]q
[R3]ip route-static 172.16.1.0 24 10.2.0.2
R4的配置:
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R4
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 10.1.0.2 24
[R4-GigabitEthernet0/0/1]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.2.0.2 24
[R4-GigabitEthernet0/0/0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 172.16.1.254 24
[R4-GigabitEthernet0/0/2]q
[R4]ip route-static 192.168.1.0 24 10.1.0.1
[R4]ip route-static 192.168.1.0 24 10.2.0.1 preference 70 ##这里我设置了路由表的优先级,实际上可以不用设置也可以
实验结果:
抓包看过程: