一、产生背景

  局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个网关的方式来解决单点故障问题。可以通过部署多网关的方式实现网关的备份,但多网关可能会出现一些问题:网关间IP地址冲突;主机会频繁切换网络出口。

 VRRP( virtual router虚拟路由冗余协议),它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。(VRRP 解决的是网路层单点故障的问题: 单网关缺陷的问题)

二、VRRP概念

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

  2.协议版本:VRRPv2(常用)和VRRPv3       VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络

  3.VRRP协议报文:只有一种报文:Advertisement报文

     其目的IP地址是224.0.0.18,组播地址
     目的MAC地址是01-00-5e-00-00-12
     协议号是112

     4.利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。

   5.VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。
Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。

   6.VRRP术语

   *VRRP路由器

    运行VRRP的设备,如RouterA和RouterB。一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。

   * VRRP组

    一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID 虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master

   *Vrid

    虚拟路由器的标识,例如路由器RouterA和RouterB组成的虚拟路由器的vrid为1,需手工指定,范围1-255。

           *虚拟路由器
    对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的 IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担 、Master故障后谁来接替,这是VRRP的工作。(又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。)

   *虚拟IP地址、MAC地址

    虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。

    虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如RouterA和RouterB组成的虚拟路由器的vrid为1,因此这个VRRP备份组的MAC地址为  00-00-5E-00-01-01 (最后的01表示VRRP组的编号)。
      *Master、Backup路由器
    Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间隔发送VRRP消息,以便通知Backup路由器自己的存活情况。
    Backup路由器:处于监听状态的路由器,一旦Master路由器出现故障 Backup路由器就开始接替工作。
    选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)。

    *Priority

    设备在备份组中的优先级,取值范围是0~255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100。

    7.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优先级比自己的优先级低。

三、VRRP的工作过程

  选举出Master:

   VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送 免费ARP 报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。

   选举规则:比较优先级的大小,优先级高者当选为Master设备。当两台设备优先级相同时,如果已经存在Master,则其保持Master身份,无需继续选举;如果不存在Master,则继续比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。

  Master设备状态的通告(VRRP备份组状态维持):
   1.Master设备周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状况。Backup设备通过接收到的VRRP报文来判断Master设备是否工作正常。 当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,单位为秒。

四、VRRP主备切换过程

  1.Master设备故障工作过程(通过免费ARP向交换机等其他终端等设备通告虚拟IP的mac地址,来决定网络中流量的转发路径)

   当组内的备份设备一段时间(Master_Down_Interval定时器取值为:3×Advertisement_Interval+Skew_Time,单位为秒)内没有接收到来自Master设备的报文,则将自己转为Master设备。

   一个VRRP组里有多台备份设备时,短时间内可能产生多个Master设备,此时,设备将会对收到的VRRP报文中的优先级与本地优先级做比较,从而选取优先级高的设备成为Master。

   设备的状态变为Master之后,会立刻发送免费ARP来刷新交换机上的MAC表项,从而把用户的流量引到此设备上来,整个过程对用户完全透明。

   2.抢占模式(Preemption Mode)

    控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。

    注意:存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。

   3.抢占延时(Delay Time):

    抢占延迟时间,默认为0,即立即抢占。 当路由器故障恢复后,立即抢占可能会导致流量中断,因为路由器的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。 另外,在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval期间没有收到Master设备的报文,Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup,如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_Down_Interval时间后,再等待抢占延迟时间。如在此期间仍没有收到通告报文,Backup设备才会切换为Master设备。

    4.可以利用VRRP(+MSTP )来设置流量的负载均衡

     传统的主备方式流量都经由单个Master转发,Master负担过重,通过配置不同的备份组,使备份路由成为新备份组的Master,这样就可以分担网络中流量了。

五、VRRP基本配置  

 Master设备配置:   interface GigabitEthernet0/0/0 //进入路由器接口

            ip address 192.168.1.253 24   //给接口添加IP地址

          vrrp vrid 1 virtual-ip 192.168.1.254 //配置vrid1中的虚拟IP地址

          vrrp vrid 1 priority 120 //配置在vrid1中的优先级为120,其他设备优先级未手动指定,缺省为100,则本设备为Master

          vrrp vrid 1 preempt-mode timer delay 20 //配置Master设备的抢占时延为20秒

          vrrp vrid 1 track interface GigabitEthernet0/0/0 reduce 30 //跟踪上行接口G0/0/0的状态,如果端口出现故障,则Master设备VRRP优先级降低             

 Backup设备配置: interface GigabitEthernet0/0/0 //进入路由器接口

               ip address 192.168.1.252 24   //给接口添加IP地址

               vrrp vrid 1 virtual-ip 192.168.1.254 //配置vrid1中的虚拟IP地址。

   查看VRRP详细信息

   VRRP_VRRP

  VRRP_VRRP_02

 

六、特性&常见配置错误

  VRRP_VRRP_03

  VRRP_VRRP_04

 

  VRRP_VRRP_05

  VRRP主备设备状态双主时,可从以下几个方面进行考虑和排查:1、VRRP主备设备上的配置参数不对称,如验证类型(包括类型和验证字)、备份组ID、虚地址列表、版本等。2、心跳报文所经过的链路不通或不稳定。3、端口被STP、RRPP等破环协议错误阻断。4、设备CPU使用率过高。

七、VRRP 的认证

  在配置VRRP组的端口上进行配置
  [SW1-Vlanif10]vrrp vrid 10 authentication-mode ?
   md5     MD5 authentication mode          # 加密
   simple  Plain text authentication mode   # 明文 不加密
   eg.vrrp vrid 10 authentication-mode md5 password

 

 

##注释:BFD(双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。)

    1.VRRP备份组故障时,Backup设备需要等待Master_Down_Interval定时器超时后才能感知故障并进行切换,切换时间通常在3秒以上,在等待切换期间内,业务流量仍会发往Master设备,此时会造成用户流量丢失。

    2. 目的为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。

    3.工作原理 BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。