前言

  • 局域网中的用户终端通常采用配置一 个默认网关的形式访问外部网络,如果此时默认网关设备发生故障, 将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个网关的方式来解决单点故障问题,那么如何让多个网关能够协同工作但又不会互相冲突就成了最迫切需要解决的问题。
  • 于是VRRP应运而生,它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。那么VRRP的工作原理是如何实现的?在网络中又该如何配置呢?

    1、VRRP的产生及概述

    1.1、单网关的缺陷

    VRRP协议原理与配置 - 图1

1.2、多网关存在的问题

VRRP协议原理与配置 - 图2

1.3、VRRP基本概述

  • VRRP能够在不改变组网的情况下,将多台路由器虚拟成-个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
  • 协议版本: VRRPv2 (常用)和VRRPv3:
    • VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
  • VRRP协议报文:

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

      1.4、VRRP的基本概念

      VRRP协议原理与配置 - 图3

      VRRP路由器(VRRP Router)

      运行VRRP协议的设备,如RouterA和RouterB。

      虛拟路由器(Virtual Router)

      又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。

      Master路由器(Virtual Router Master)

      承担转发报文任务的VRRP设备,如RouterA。

      Backup路由器(Virtual Router Backup)

      一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备,如RouterB。

      优先级(Priority)

      设备在备份组中的优先级,取值范围是0 ~ 255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时; 255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100,可配置的范围0-254,备份组中,某个网关设备真实IP与虚拟IP一致,则该网关优先级自动变为255,成为主网关(优先级大的优先,IP地址大的优先)

      虚拟路由号(VRID)

      虚拟路由器的标识,如图中RouterA和RouterB组成的虚拟路由器的vrid为1,需手工指定,范围1-255。
      (虚拟路由器号(VRID)范围为1~255.由用户配置,以区分不同的备份组。有相同VRID的一组路由器构成一个VRRP备份组。)

      虚拟IP地址(Virtual IP Address)

      虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.254/24。

      IP地址拥有者(IP Address Owner)

      如果一个VRRP设备将真实的接口IP地址配置为虚拟路由器IP地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,则它将一直成为Master。

      虚拟MAC地址(Virtual MAC Address)

      虚拟路由器根据vrid生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为: 00-00-5E-00-01-{vrid} 。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如RouterA和RouterB组成的虚拟路由器的vrid为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。

      1.5、VRRP状态机

      VRRP协议原理与配置 - 图4
  • VRRP协议状态机有三种状态: Initialize (初始状态)、Master (活动状态)、Backup (备状态)。

  • 三种状态之间的转换条件如下:

    • Initialize -> Master: Startup priority= 255;
    • Initialize -> Backup: Startup priority! =255;
    • Master -> Initialize: 设备关闭;
    • Master -> Backup: 收到比自己优先级更高的数据包;
    • Backup -> Initialize:设备关闭;
    • Backup -> Master:在超时时间内没有收到VRRP通告报文或者收到通告报文原Master优先级为0,或者收到的通告报文中的原Master优先级比自己的优先级低。

      2、VRRP主备备份工作过程

      2.1、VRRP主备备份工作过程

      VRRP协议原理与配置 - 图5
  • VRRP的工作过程如下:

    • 选举出Master:
      • VRRP备份组中的设备根据优先级选举出Master。Master设备 通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备
      • 或者主机,从而承担报文转发任务。
      • 选举规则:比较优先级的大小,优先级高者当选为Master设备。当两台设备优先级相同时,如果已经存在Master,则其保持
      • Master身份,无需继续选举;如果不存在Master,则继续比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。
  • Master设备状态的通告(VRRP备份组状态维持) :

    • Master设备周期性地发送VRRP通告报文,在VRRP 备份组中公布其配置信息( 优先级等)和工作状况。Backup设备通过接收到的VRRP报文来判断Master设备是否工作正常。当 Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master Down Interval定时器超时。 这个切换的时间称为Skew_ Time,计算方式为: (256 - Backup设备的优先级) /256, 单位为秒。
    • 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立 即知道其工作状况。等到Master Down Interval定时器 超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master Down Interval定时器取值为: 3 x Advertisement_Interval + Skew_Time,单位为秒。

      2.2、VRRP主备路由器切换过程(1)

      VRRP协议原理与配置 - 图6
      Master设备故障工作过程:
  • 当组内的备份设备一段时间(MasterDown_Interval定时器取值为: 3x Advertisement Interval + Skew_Time, 单位为秒)内没有接收到来自Master设备的报文,则将自己转为Master设备。

  • 一个VRRP组里有多台备份设备时,短时间内可能产生多个Master设备, 此时,设备将会对收到的VRRP报文中的优先级与本地优先级做比较,从而选取优先级高的设备成为Master。
  • 设备的状态变为Master之后,会立刻发送免费ARP来刷新交换机.上的MAC表项,从而把用户的流量引到此设备上来,整个过程对用户完全透明。

    2.3、VRRP主备路由器切换过程(2)

    VRRP协议原理与配置 - 图7

  • 抢占模式(Preemption Mode) :

    • 控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。
    • 注意: 存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。
  • 抢占延时(Delay Time) :
    • 抢占延迟时间,默认为0,即立即抢占。
    • 图中RouterA故障恢复后,立即抢占可能会导致流量中断,因为RouterA的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。
    • 另外,在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master Down Interval期间没有收到Master设备的报文,Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup,如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_ Down_Interval时间后,再等待抢占延迟时间。如在此期间仍没有收到通告报文,Backup设备才会切换为Master设备。
  • VRRP角色切换条件总结:

    • 当前的主网关设备故障,导致备份网关无法接收到心跳报文
    • 备份组中出现优先级更高的网关设备 VRRP默认工作在抢占模式

      2.4、VRRP故障情景

      VRRP协议原理与配置 - 图8
  • 图中RouterA的.上行链路故障不会引起VRRP主备切换,这样会造成HostA访问Internet的流量在RouterA处被丟弃,所以需要使VRRP设备能够感知到_上行链路故障,并且及时做主备切换。

  • 若RouterA或连接RouterB的接口发生故障时都会弓|起VRRP主备切换,因为Backup设 备无法在Master Down Interva时间内收到Master设备发送的协议报文了。

    2.5、VRRP联动功能

    VRRP协议原理与配置 - 图9

  • 解决的问题: VRRP无法感知非运行VRRP接口的状态变化,故当上行链路出现故障时,VRRP无法进行感知, 不会进行主备切换,从而导致业务中断。(如果网关设备的上行链路故障,而网关本身正常,不会导致角色切换,但发往本网关的数据已经无法连通外部网络)

  • 解决方案:利用VRRP的联动功能监视上行接口或链路故障, 主动进行主备切换。(VRRP监视上行接口状态,当上行接口Down,主动降低本网关优先级,以触发角色抢占)

    3、VRRP负载分担工作流程

    VRRP协议原理与配置 - 图10

  • 负载分担是指多个VRRP备份组同时承担业务转发, VRRP 负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。

  • 与主备备份方式的不同点在于:负载分担方式需要建立多个VRRP备份组, 各备份组的Master设备分担在不同设备上;单台设备可以加入多个备份组,在不同的备份组中扮演不同的角色。

    4、VRRP基本配置

    VRRP协议原理与配置 - 图11
    1. /*负载分担方式与主备备份方式配置思路一致,以单个VRRP备份组为例,Master设备配置:*/
    2. //配置vrid1中的虚拟IP地址。
    3. vrrp vrid 1 virtual-ip 10.0.0.10
    4. //配置在vrid1中的优先级为120,其他设备优先级未手动指定,缺省为100,则本设备为Master。
    5. vrrp vrid 1 priority 120
    6. //配置Master设备的抢占时延为20秒。
    7. vrrp vrid 1 preempt-mode timer delay 20
    8. //跟踪上行接口G0/0/0的状态,如果端口出现故障,则Master设备VRRP优先级降低30。
    9. vrrp vrid 1 track interface GigabitEthernet0/0/0 reduce 30
    10. /* Backup设备配置: */
    11. vrrp vrid 1 virtual-ip 10.0.0.10 //配置vrid1中的虚拟IP地址。

    5、命令

    | 命令 | 作用 | | —- | —- | | [h3c-vlan-interface10]vrrp vrid ‘vrid’ virtual-ip ‘ip-address’ | 配置VRRP虚拟IP地址 | | [h3c-vlan-interface10]vrrp vrid ‘vrid’ priority ‘priority’ | 配置VRRP优先级 | | [h3c]track ‘tracker-id’ interface ‘port-name’ | 配置接口监视 | | [h3c-vlan-interface10]vrrp vrid ‘vrid’ track ‘tracker-id’ reduced ‘priority’ | VRRP中调用接口监视 |

stp region-configuration
region-name huawei
instance 1 vlan 100 to 104
instance 2 vlan 105 to 107
active region-configuration