VRRP 协议原理,VRRP 应用场景举例?
1、VRRP 备份组中的设备根据优先级选举出Master。Master 设备通过发送免费ARP 报文,将虚拟MAC 地址通知给与它连接的设备或者主机,从而承担报文转发任务。Master 设备周期性向备份组内所有Backup 设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
2、如果Master 设备出现故障,VRRP 备份组中的Backup 设备将根据优先级重新选举新的Master。
3、VRRP 备份组状态切换时,Master 设备由一台设备切换为另外一台设备,新的Master 设备会立即发送携带虚拟路由器的虚拟MAC 地址和虚拟IP 地址信息的免费ARP 报文,刷新与它连接的主机或设备中的MAC 表项,从而把用户流量引到新的Master 设备上来,整个过程对用户完全透明。
4、原Master 设备故障恢复时,若该设备为IP 地址拥有者(优先级为255),将直接切换至Master 状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
5、Backup 设备的优先级高于Master 设备时,由Backup 设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
应用场景:
- 一个网络中有多个路由器时,可以使用VRRP 进行冗余或者负载均衡。
选举主备的规则:
- 优先级大的、IP 地址大的。
- 一个虚拟路由器拥有一个虚拟MAC 地址。
- 格式为:00-00-5E-00-01-{VRID}(VRRP for IPv4);00-00-5E-00-02-{VRID}(VRRP for IPv6)。
VRRP 在什么情况下会出现优先级0 和255?
- 0 为系统保留给路由器放弃Master 位置时候使用。
- 255 是系统保留给IP 地址拥有者使用。。
- 当路由器为IP 地址拥有者时,其优先级始终为255。
- 因此,当虚拟路由器内存在IP 地址拥有者时,只要其工作正常,则为Master 路由器。
扩充问题一:为什么255不能手工配置?
如果可以配置优先级为255,可能导致地址冲突
假设R1 的IP 地址10.1.1.1,R2 的IP 地址10.1.1.2,虚拟IP 地址为10.1.1.1;由于R2 的IP 地址比较大,R2 成为主。PC 访问网关,R2 作为Master 会做出响应,R1 作为IP 地址拥有者也会做出响应,此时冲突产生
因为Master(R2)会向网络中发送免费ARP 请求报文,而R1 就是虚拟IP 的持有者,那么R1 会进行免费ARP 应答,这样的可能会导致网络中主机访问时出现问题。
扩充问题二:什么场景下使用物理接口IP做virtual-IP?
1、IP 地址不足;
2、保证一台路由器始终为Master。
扩充问题三:在使用两个备份组进行备份的时候,DHCP服务器有什么设置上需要注意的?
1、因为需要定义2 个备份组,会有2 个虚拟IP,所以同网段会有2 个网关IP;
2、可以配置两台DHCP 服务器(配置两个DHCP pool),不同DHCP 服务器上为备份组网段配置不同的网关。或者DHCP 服务器上针对备份组网段设置多个网关。
扩充问题四:请画出一张拓扑,分别在中断后多长时间恢复?如果跨设备如何能实现切换?
- SwitchA为Master设备,优先级设置为120,抢占方式为延迟抢占。
- SwitchB为Backup设备,优先级为默认值100,抢占方式为立即抢占。
- SwitchC为Backup设备,优先级设置为110,抢占方式为立即抢占。
正常情况下,用户侧的上行流量路径为:Switch1->SwitchA->Router。此时,SwitchA定期发送VRRP报文通知SwitchB和SwitchC自己工作正常。
当SwitchA发生故障时,SwitchA上的VRRP会处于不可用状态。由于SwitchC优先级高于SwitchB,因此SwitchC变为Master设备,并开始发送VRRP报文和免费ARP报文,SwitchB继续保持为Backup设备。用户侧的上行流量路径为:Switch1->SwitchC->Router。
当SwitchA故障恢复时,VRRP的优先级为120,状态变为Backup。此时SwitchC继续定期发送VRRP报文,当SwitchA收到VRRP报文后,会比较优先级,发现自己的优先级更高,等待抢占延迟后抢占为Master设备,并开始发送VRRP报文和免费ARP报文。用户侧的上行流量路径恢复为:Switch1->SwitchA->Router。
(1)当Master 设备主动放弃Master 地位(如Master 设备退出备份组)时,会发送优先级为0 的通告报文(加速网络收敛),用来使Backup 设备快速切换成Master 设备,而不用等到Master_Down_Interval 定时器超时。这个切换的时间称为Skew time,计算方式为:(256-Backup 设备的优先级)/256,单位为秒。
(2)当Master 设备发生网络故障而不能发送通告报文的时候,Backup 设备并不能立即知道其工作状况。等到Master_Down_Interval 定时器超时后,才会认为Master 设备无法正常工作,从而将状态切换为Master。
其中,Master_Down_Interval 定时器取值为:3×Advertisement_Interval+Skew_time,单位为秒
扩充问题五:VRRPv2和VRRPv3的区别?(v2与v3不兼容)
1、VRRPv2 仅适用于IPv4 网络,VRRPv3 适用于IPv4 和IPv6 两种网络;
2、VRRPv3 不支持认证功能,而VRRPv2 支持认证功能;
3、发送通告报文的时间间隔的单位不同。VRRPv3 支持的是厘秒级,而VRRPv2支持的是秒级。
扩充问题六:VRRP来回路径不一致怎么解决?
可以通过修改IGP开销
扩充问题七:有哪些机制可以实现快速切换?
VRRP 可以与NQA 或者BFD 进行联动,实现VRRP 的快速切换Track 跟踪上行接口状态。
扩充问题八:上行链路断了,有什么机制进行流量切换?
Track(BFD 联动,上行链路中断,降低VRRP 优先级)、icmp 重定向(使用IGP,在底下那两个口也启用路由协议)、ARP 代理
扩充问题九:为什么要设置抢占延时?
1、避免频繁抢占(主设备接口频繁的up/down)
2、让协议充分收敛
扩充问题十:VRRP如何保障安全性?
使用认证保障
扩充问题十一:主备切换时,如何确保交换机能够正确转发数据?
Master 发送免费ARP 刷新交换机的MAC 地址表项;
扩充问题十二:VRRP是会使用一个虚拟MAC作为网关MAC,那S1和S2上面都会有这个MAC地址,S2为什么会将PC1的报文发给S1,而不是自己处理了呢?
S1 是Master,那么S1 才是虚拟IP 和虚拟MAC 的持有者,Backup 收到了只会继续发送给到Master;
扩充问题十三:VRRP双主是怎么产生的?
Master 和Backup 之间的Advertisement 报文交换失败,从而导致从设备认为主设备故障,将自己的VRRP 状态切换为Master,从而出现双主故障。
扩充问题十四:出现双主可能的原因,出现什么问题?
双主:
两台运行VRRP的路由器无法收到另一台路由器发送的VRRP报文,此时都会成为Master。
出现原因:
1、链路拥塞
2、中间交换机没有允许相应的VLAN 通过
3、认证不通过导致的双主故障。
导致问题:
接入设备会频繁的刷新MAC表项,消耗设备性能,流量来回路径不一致,若布置了防火墙,可能导致无法正常回包。
如何解决: 中间交换机允许相应的VLAN 通过主备之间加一条心跳线,用于状态检测
扩充问题十五: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状态,且其优先级恢复为故障前配置的优先级。
init---)Backup---)Master(最先发送Advertisement 报文的设备成为Master)。