一、VRRP协议
1. VRRP协议概述
VRRP(Virtual Router Redundancy Protocol)即虚拟路由冗余协议,是一种用于提高网络可靠性的容错协议。VRRP通过将多台设备组成一个虚拟路由器,配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
VRRP主要用于解决设备的单点故障问题,当网络中的某台路由器发生故障时,备份的路由器可以自动故障的路由器,保证网络的可靠。
2. VRRP基本概念
- 虚拟路由器(Virtual Router):又被称为VRRP备份组。VRRP协议通过创建一个虚拟路由器来实现多台物理路由器之间的冗余。这个虚拟路由器拥有一个或多个虚拟IP地址,这些地址对外表现为单一的默认网关。
- Master 设备(Virtual Router Master):在VRRP备份组中,处于活动状态的路由器被称为Master路由器。它负责转发发送到虚拟IP地址的流量,并周期性地发送VRRP通告报文。
- Backup 设备(Virtual Router Backup):处于备份状态的路由器被称为Backup路由器。它们监控Master路由器的状态,如果Master路由器失效,它们中的一个将根据优先级选举出新的Master路由器。
- VRID:虚拟路由器的标识,需要手动指定,范围在1~255。
- 虚拟 IP 地址(Virtual IP Address):虚拟路由器的 IP 地址,一个虚拟路由器可以有 一个或多个 IP 地址,由用户配置。
- IP 地址拥有者(IP Address Owner):如果一个 VRRP 设备将虚拟路由器 IP 地址作 为真实的接口地址,则该设备被称为 IP 地址拥有者。如果 IP 地址拥有者是可用 的,通常它将成为 Master。
- 虚拟 MAC 地址(Virtual MAC Address):虚拟路由器根据虚拟路由器 ID 生成的 MAC 地址。一个虚拟路由器拥有一个虚拟 MAC 地址,格式为:00-00-5E-00-01- {VRID}(VRRP for IPv4);00-00-5E-00-02-{VRID}(VRRP for IPv6)。当虚拟路由器 回应 ARP 请求时,使用虚拟 MAC 地址,而不是接口的真实 MAC 地址。
- 主 IP 地址(Primary IP Address):从接口的真实 IP 地址中选出来的一个主用 IP 地 址,通常选择配置的第一个 IP 地址。VRRP 广播报文使用主 IP 地址作为 IP 报文 的源地址。
- 优先级(Priority):虚拟路由器中 VRRP 设备的优先级。虚拟路由器根据优先级选 举出 Master 设备和 Backup 设备。
- 抢占模式:在抢占模式下,如果 Backup 设备的优先级比当前 Master 设备的优先 级高,则主动将自己切换成 Master。
- 非抢占模式:在非抢占模式下,只要 Master 设备没有出现故障,Backup 设备即使 随后被配置了更高的优先级也不会成为 Master 设备。
3. VRRP协议报文
VRRP 协议报文封装在 IP 报文中,发送到分配给 VRRP 的 IP 组播地址。在 IP 报文头 中,源地址为发送报文接口的主 IP 地址(不是虚拟 IP 地址),目的地址是 224.0.0.18, TTL 是 255,协议号是 112。
4. VRRP协议的工作原理
VRRP 协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于 Master 状态的设备才可以转发那些发送到虚拟IP地址的报文。
- 初始化配置:
- 在网络中的多个路由器上配置VRRP协议。
- 为每个路由器分配一个VRID(Virtual Router Identifier),确保它们属于同一个虚拟路由器组。
- 配置一个或多个虚拟IP地址(通常是组播地址),这些地址将被用作默认网关。
- 为每个路由器设置优先级,优先级高的路由器更有可能成为Master路由器。
- 选举Master路由器:
- 在VRRP组启动时,所有路由器会根据它们的优先级进行比较,优先级最高的路由器被选举为Master路由器。
- 如果优先级相同,则比较路由器的IP地址,IP地址最低的路由器成为Master路由器。
- Master路由器操作:
- Master路由器开始处理所有发送到虚拟IP地址的流量。
- Master路由器周期性地发送VRRP通告报文(通常是每秒一次),以通知Backup路由器其状态和优先级。
- Backup路由器监控:
- Backup路由器监听Master路由器发送的VRRP通告报文,以监控Master路由器的状态。
- 如果Backup路由器在一定时间内(通常是3秒)没有收到VRRP通告报文,它们会认为Master路由器已经失效。
- 故障转移:
- 当Master路由器失效时,Backup路由器会根据它们的优先级重新选举出新的Master路由器。
- 新的Master路由器会接管虚拟IP地址,并开始处理发送到这些地址的流量。
- 状态通告:
- 新的Master路由器会通过发送ARP或NDP(邻居发现协议)通告来更新网络中的主机,告知它们新的默认网关地址。
- 这个过程通常是快速的,对终端用户来说是透明的,确保网络服务的连续性。
- 恢复和重新选举:
- 当原来的Master路由器恢复后,它会尝试重新加入VRRP组,并根据优先级参与Master路由器的选举。
- 如果恢复的路由器优先级高于当前的Master路由器,它将重新成为Master路由器。
- VRRP的抢占方式可以分为两种:抢占方式和非抢占方式。
- 抢占模式下,如果备份组中的某台路由器的优先级高于当前的Master路由器,它将主动抢占成为新的Master路由器。还可以配置抢占的延迟时间,也就是说一台优先级更高的路由器成为Backup后,不会立即抢占Master,而是等待一个设定的延迟时间后才进行抢占。这样做可以避免因网络不稳定或误判导致的频繁切换,确保网络的稳定性。延迟时间的设置范围是0到360000厘秒(0到3600秒)。
- 非抢占模式下,只要Master路由器没有出现故障,Backup路由器即使被配置了更高的优先级也不会成为Master路由器。
- 网络监控和维护:
- VRRP协议允许网络管理员监控路由器的状态,包括Master和Backup路由器的状态。
- 网络管理员可以根据需要调整优先级或重新配置VRRP组,以优化网络的冗余和可靠性。
5. VRRP相关应用
当VRRP备份组中Master设备的上行接口出现问题,而Master设备一直保持Active状态,会导致网络中断,所以必须要允许VRRP备份组监控Master设备的上行接口状态,当上行接口出现故障时,能够及时触发主备切换,确保业务流量不受影响。
下面是VRRP与接口状态联动监视上行接口的工作过程:
- 配置VRRP备份组:在多台路由器上配置VRRP备份组,其中一台作为Master设备,其他作为Backup设备。Master设备负责业务流量的转发,而Backup设备处于待命状态。
- 配置上行接口监控:在Master设备上配置监控上行接口的状态。这可以通过VRRP的跟踪功能(Track)来实现,将VRRP的优先级与上行接口的状态绑定。
- 接口状态变化:当上行接口状态变为Down时,Master设备会根据配置降低自己的VRRP优先级,这个过程称为优先级减少(Reduced)。
- 触发主备切换:由于Master设备的优先级降低,如果Backup设备的优先级高于或等于降低后的Master设备优先级,Backup设备将抢占成为新的Master设备,接管业务流量的转发。
- 业务连续性:在整个切换过程中,网络中的主机和其他设备通常不会感知到这一变化,从而保证了业务的连续性。
- 故障恢复:一旦上行接口恢复,Master设备可以重新提高其优先级,并根据配置决定是否尝试重新成为Master设备。