VRRP入门

背景

随着移动办公、网上购物、即时通讯、互联网金融、互联网教育等业务蓬勃发展,网络承载的业务越来越多,越来越重要。所以如何保证网络的不间断传输成为网络发展过程中急需解决的一个问题。

对此,其中一种解决方案是,使用一套使用一套冗余备份机制,避免传统组网引发的单点故障,以便在路由器出现故障的时候及时进行链路切换,保证业务平滑进行。

传统解决方案

  1. 配备多台路由器解决单点故障
  2. 使用动态路由协议解决多网关冲突,实现链路回切

但是传统方案依然存在几个问题

  1. 一些动态路由协议使用广播报文进行链路切换速度上比较缓慢
  2. 在许多情景下可能会不支持使用动态路由

于是,VRRP应运而生。

VRRP的基本概念

VRRP

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。

VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份

优势

采用VRRP的链路保护机制比依赖动态路由协议的广播报文来进行链路切换的时间更短,同时弥补了不能使用动态路由情况下的链路保护。

名词解释

1559704280150

  • VRRP路由器:运行VRRP的设备,它可能属于一个或多个虚拟路由器。
  • 虚拟路由器(备份组):同一个广播域的一组路由器组织成一个虚拟路由器,备份组中的所有路由器一起,共同提供一个虚拟IP地址,作为内部网络的网关地址。
  • 虚拟IP地址:虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
  • IP地拥有者:如果一个VRRP路由器将虚拟路由器的IP地址作为真实的接口地址,则该设备是IP地址拥有者。
  • 虚拟MAC地址:是虚拟路由器根据虚拟路由器ID生成的MAC地址。 当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。
  • 主IP地址:从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。
    VRRP广播报文使用主IP地址作为IP报文的源地址。
  • 主(Master)路由器:在同一个备份组中的多个路由器中,只有一台处于活动状态,只有主路由器能转发以虚拟IP地址作为下一跳的报文。
  • 备份(Backup)路由器:在同一个备份组中的多个路由器中,除主路由器外,其他路由器均为备份路由器,处于备份状态。

状态机

  • VRRP有三种状态:初始状态、活动状态、备份状态.其状态切换过程如下:

1559704314623

协议报文

vrrp只有一种报文:Advertisement报文;其目的IP地址是224.0.0.18(组播地址),目的MAC地址是01-00-5e-00-00-12,协议号是112

下面介绍vrrp的两种主要的工作模式:主备备份和负载分担

VRRP主备备份

过程

选举master

选举规则:1. 比较优先级 2. 优先级相同的时候,存在master则保持master状态 3. 没有master则比较接口IP地址,大的当选master

备份组状态维持

  1. master周期性发送vrrp通告报文给组内设备,从而通知自己处于正常状态
  2. 主备切换 条件:1. master主动放弃,发送优先级为0的通告报文 2. master故障,等待Master_Down_Interval定时器超时,选举产生master。这个 切换时间叫Skew_Time,计算方式(256-Backup设备的优先级)/256(单位秒)
  3. Master_Down_Interval定时器取值:3×Advertisement_Interval+Skew_Time(单位秒)。

主备回切

  1. 如果原故障master路由器恢复,发现收到RouterB的VRRP报文中的优先级比自己低,RouterA立即抢占成为Master。

    抢占模式:

    • 默认高优先级backup路由器可以抢占低优先级master路由器位置,但是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备
    • 注意抢占延时,默认为0,但是为了防止在网络不稳定的情况下频繁切换导致流量中断,可以设置延时时间稍长
  2. 注意:如果VRRP的上行链路故障,由于主备通告正常,将无法引起主备切换

    解决方法:利用VRRP的联动功能监视上行接口或链路故障,主动进行主备切换。

1559707111077

VRRP负载分担

  • 负载分担是指多个VRRP备份组同时承担业务转发,从而解决流量分担不均,master负担过重的情况
  • 负载分担方式需要建立多个VRRP备份组,各备份组的Master设备分担在不同设备上;单台设备可以加入多个备份组,在不同的备份组中扮演不同的角色。

1559707202844

VGMP简介

VRRP虽然可以解决单点故障,实现主备备份,但是在配置防火墙的时候,由于防火墙功能的特殊性,在对其进行主备备份时,传统VRRP方式无法实现主、备用防火墙状态的一致性。无法实现VRRP状态一致性以及会话表状态的备份

此时,我们需要引入VGMP(VRRP Group Management Protocol)

VGMP提出VRRP管理组的概念,将同一台防火墙上的多个VRRP备份组都加入到一个VRRP管理组,由管理组统一管理所有VRRP备份组。通过统一控制各VRRP备份组状态的切换,来保证管理组内的所有VRRP备份组状态都是一致的。

基本原理

  • 当防火墙上的VGMP为Active/Standby状态时,组内所有VRRP备份组的状态统一为Active/Standby状态。
  • 状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)
  • VGMP HELLO报文发送周期缺省为1秒。当Standby端三个HELLO报文周期没有收到对端发送的HELLO报
  • 文时,会认为对端出现故障,从而将自己切换到Active状态。

1559707907266

VGMP管理机制

状态一致性管理

VGMP管理组控制所有的VRRP备份组统一切换。

抢占管理

当原来出现故障的主设备故障恢复时,其优先级也会恢复,此时可以重新将自己的状态抢占为主。

用VGMP实现防火墙的备份以及故障自动迁移从而保证业务连续性的方法也属于防火墙的双机热备技术的一部分,因为篇幅有限,这里不再展开。

小结

今天我们从现实一个问题作为切入点,简单介绍了利用VRRP做路由冗余备份,同时针对防火墙的特性,引申出VGMP的概念,也算是揭开了防火墙神秘面纱的一角。网络安全越来越成为我们生活中不可忽视的一部分,对于安全方面知识,下次有机会我们再继续讲述吧。

分享到: