为什么需要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进行标识,属于统一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能一个Master.
- 虚拟路由器:
- 对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色有谁来承担,数据转发任务由谁来承担,Master故障后谁来接替,这是VRRP的工作。
虚拟IP地址,MAC地址:
- 虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。
- 虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址,一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-0-00-5E-00-01-{VRID}【可以在主机中使用arp -a查询到】
Master,Backup路由器:
- Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间隔发送VRRP消息【华为:1s/次】,以便通知Backup路由器自己的存活情况。
- Backup路由器:处于监听状态的路由器,一旦Master路由器出现故障,Backup路由器就开始接替工作。
- 选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)【224.0.0.18 组播地址(小范围的广播),组内的主机能接收】
Master/Backup路由器
- Master路由器:
- 定时发送VRRP通告报文,以便向Backup路由器告知自己的存活情况
- 虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求
- 转发目的MAC地址为虚拟MAC地址的IP报文。
- 如果他是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址),则接受目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个IP报文。【虚拟IP地址的拥有者(虚拟ip地址和真实的ip地址一样,优先级是255)会迅速成为Master】
- 如果收到比自己优先级大的报文,立即成为Backup。
- 如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。
- Backup路由器:
- 接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。
- 对虚拟IP地址的ARP请求,不做响应
- 丢弃目的IP地址为虚拟IP地址的IP报文。
- 如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较ip地址
- 如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master.
当Backup收不到Master发的VRRP报文【超时】,就会重新选举Master
只能有一个Master,可以有多个Backup
VRRP的工作过程
- VRRP组中的设备选举出Master。Master设备通过发送免费ARP,及那个虚拟MAC地址通知给与他连接的设备或者主机,从而承担报文转发任务。
- Master设备周期执行向备份组内所有Backup设备发送VRRP通告报文【组播形式:224.0.0.18】。
- 如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master。
- VRRP组状态切换时,Master设备有一台设备切换为另一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
- 原Master设备故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
- Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
抢占(Preempt)
- R2加入到网络后,接口的VRRP状态首先过渡到Backup,在收到R1发送的VRRP报文后,由于本地接口的VRRP优先级大于报文中的优先级,因此如果设备激活Preempt(缺省启用)则可立即抢占Master角色,过渡到Master状态,R2开始发送VRRP消息。
- 可修改抢占延迟时间,缺省该时间为0s【vrrp vrid 10 preempt-mode timer delay 20 将抢占延迟时间修改为20s】
- 无故ARP/免费ARP【源MAC地址是网关,目MAC地址是自己,通知全网,192.168.1.254的MAC地址,交换机接收会被记录到MAC地址表中,主机不需要再封装ARP数据包,直接告诉它了】
追踪上行链路:
当一台路由器上有不同组的VRRP时,并且Master都再同一侧时,它的其中一条VRRP的链路断掉时,需要去做追踪,要改端口的优先级,需要比Backup优先级小,不然数据回不来
inter g0/0/0
vrrp vrid 1 track interface g0/0/1 reduce 30
inter g0/0/1
vrrp vrid 2 track interface g0/0/0 reduce 30
VRRP具体配置
实验1:
拓扑图
为主机配置ip地址,子网掩码,默认网关
路由器的配置
R1
R2
在路由器上查看varrp状态信息
R1
R2
测试:
用PC去ping网关
实验2:
拓扑图
为主机配置ip地址,子网掩码,默认网关
路由器的配置
R1
R2
在路由器上查看varrp状态信息
R1
测试,用PC1去pingPC3
当vrrp vrid 2 的master断掉后,它会切到backup 链路
在PC1进行测试
实验3
拓扑图
为主机配置ip地址,子网掩码,默认网关
在交换机划分vlan,并配置vrrp
SW1
SW2
SW3
查看vrrp配置的状态信息
测试
实验4
拓扑图
为各主机配置ip地址,子网掩码,默认网关
为交换机划分vlan,配置vrrp
SW6
SW7
测试:
跨网段去ping