文档章节

【资料】VRRP 学习

摩云飞
 摩云飞
发布于 2013/08/20 10:57
字数 8575
阅读 575
收藏 1


VRRP协议介绍

参考资料: RFC 3768

1. 前言

      VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简化了一些功能。

2. 协议说明
2.1 协议

      VRRP协议是为消除在静态缺省路由环境下的、缺省路由器单点故障引起的网络失效,而设计的主备模式的协议,使得在发生故障而进行设备功能切换时,可以不影响内外数据通信,不需要再修改内部网络的网络参数。
      VRRP协议需要具有IP地址备份优先路由选择减少不必要的路由器间通信等功能。


      VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,实际拥有这个对外IP的路由器,如果工作正常,其就是MASTER,否则就通过算法选举产生。MASTER实现针对虚拟路由器IP的各种网络功能,如处理ARP请求,处理ICMP请求(PING包),以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。

      配置VRRP协议时需要配置每个路由器的虚拟路由器ID(VRID)和优先权值,使用VRID将路由器进行分组,具有相同VRID值的路由器为同一个组,VRID是一个0~255的正整数;同一组中的路由器通过使用优先权值来选举MASTER,优先权大者为MASTER,优先权也是一个0~255的正整数

      VRRP协议使用多播来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及(宣告)虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举。

2.2 MASTER选举
  • 如果对外的虚拟路由器IP就是路由器本身配置的IP地址的话,该路由器始终都是MASTER,这时的优先级值为255
  • 否则如果不具备虚拟IP的话,将进行MASTER选举,各路由器都宣告自己是MASTER,发送VRRP通告信息;
  • 如果收到其他机器的发来的通告信息的优先级比自己高,将转回BACKUP状态;
  • 如果优先级相等的话,将比较路由器的实际IP,IP值较大的优先权高;

2.3 协议状态机

VRRP协议状态比较简单,就三种状态,初始化,主机,备份机。

+---------------+
           +--------->|               |<-------------+
           |          |  Initialize   |              |
           |   +------|               |----------+   |
           |   |      +---------------+          |   |
           |   |                                 |   |
           |   V                                 V   |
   +---------------+                       +---------------+
   |               |---------------------->|               |
   |    Master     |                       |    Backup     |
   |               |<----------------------|               |
   +---------------+                       +---------------+

初始化
      路由器启动时,如果路由器的优先级是255(最高优先级,路由器拥有虚拟路由器IP),则进入MASTER状态,接着会发送VRRP通告信息,并发送广播ARP信息通告虚拟路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器,准备定时发送VRRP通告信息,转为MASTER状态; 否则进入BACKUP状态,设置定时器,定时检查是否收到MASTER的通告信息。

主机
主机状态下的路由器要完成如下功能:
  • 设置定时通告定时器;
  • 用VRRP虚拟MAC地址响应针对虚拟路由器IP地址的ARP请求;
  • 转发目的MAC是VRRP虚拟MAC的数据包;
  • 如果是虚拟路由器IP的拥有者,将接受目的地址是虚拟路由器IP的数据包,否则丢弃;
  • 当收到shutdown的事件时,删除定时通告定时器,发送优先权级为0的通告包,转初始化状态;
  • 如果定时通告定时器超时时,发送VRRP通告信息;
  • 收到VRRP通告信息时,如果优先权为0,发送VRRP通告信息;
  • 否则判断数据的优先级是否高于本机,或相等而且实际IP地址大于本地实际IP,设置定时通告定时器,复位主机超时定时器,转BACKUP状态;否则的话,丢弃该通告包;

备机
备机状态下的路由器要实现以下功能:
  • 设置主机超时定时器;
  • 不能响应针对虚拟路由器IP的ARP请求信息;
  • 丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包;
  • 不接受目的是虚拟路由器IP的所有数据包;
  • 当收到shutdown的事件时,删除主机超时定时器,转初始化状态;
  • 主机超时定时器超时的时候,发送VRRP通告信息,广播ARP地址信息,转MASTER状态;
  • 收到VRRP通告信息时,如果优先权为0,表示进入MASTER选举;否则判断数据的优先级是否高于本机,如果高的话,承认MASTER有效,复位主机超时定时器;否则的话,丢弃该通告包;

2.4 ARP查询处理

       当内部主机通过ARP查询虚拟路由器IP地址对应的MAC地址时,MASTER路由器回复的MAC地址为虚拟的VRRP的MAC地址,而不是实际网卡的MAC地址,这样在路由器切换时让内网机器觉察不到;而在路由器重新启动时,不能主动发送本机网卡的实际MAC地址。如果虚拟路由器开启ARP代理(proxy_arp)功能,代理的ARP回应也回应VRRP虚拟MAC地址。

2.5 VRRP应用举例
+-----------+      +-----------+
            |   Rtr1    |      |   Rtr2    |
            |(MR VRID=1)|      |(BR VRID=1)|
            |(BR VRID=2)|      |(MR VRID=2)|
    VRID=1  +-----------+      +-----------+  VRID=2
    IP A ---------->*            *<---------- IP B
                    |            |
                    |            |
  ------------------+------------+-----+--------+--------+--------+--
                                       ^        ^        ^        ^
                                       |        |        |        |
                                     (IP A)   (IP A)   (IP B)   (IP B)
                                       |        |        |        |
                                    +--+--+  +--+--+  +--+--+  +--+--+
                                    |  H1 |  |  H2 |  |  H3 |  |  H4 |
                                    +-----+  +-----+  +--+--+  +--+--+
     Legend:
              ---+---+---+--  =  Ethernet, Token Ring, or FDDI
                           H  =  Host computer
                          MR  =  Master Router
                          BR  =  Backup Router
                           *  =  IP Address
                        (IP)  =  default router for hosts

      这是通常VRRP使用拓扑,两台路由器运行VRRP互为备份,路由器1作为VRID组1的MASTER,IP地址A,VRID组2的BACKUP,路由器2作为VRID组2的MASTER,IP地址B,VRID组1的BACKUP。内部网络中一部分机器的缺省网关地址是IP地址A,一部分是IP地址B,正常情况下以A为网关的数据将走路由器1,以B为网关的数据将走路由器2,如果一台路由器发生故障,所有数据将走另一台路由器。


3. 协议定义
3.1 以太头

      源MAC地址必须为虚拟MAC地址:00-00-5E-00-01-{VRID},VRID为虚拟路由器ID值,16进制格式,所以同一网段中最多有255个VRRP路由器;目的MAC为多播类型的MAC。

这里可以看出VRID非常重要。

3.2 IP头参数

      VRRP包的源地址是本机地址,目的地址必须为224.0.0.18,为一多播地址;IP协议号为112;IP包的TTL值必须为255

3.3 VRRP协议数据格式

0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version| Type  | Virtual Rtr ID|   Priority    | Count IP Addrs|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Auth Type   |   Adver Int   |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         IP Address (1)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            .                                  |
   |                            .                                  |
   |                            .                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         IP Address (n)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Authentication Data (1)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Authentication Data (2)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
其中:
  • version:版本,4位,在RFC3768中定义为2;
  • Type:类型,4位,目前只定义一种类类型:通告数据,取值为1;
  • Virtual Rtr ID:虚拟路由器ID,8位
  • Priority:优先级,8位,具备虚拟路由器IP地址的设备的优先级为255;
  • Count IP Addrs:VRRP包中的IP地址数量,8位;
  • Auth Type:认证类型,8位,RFC3768中认证功能已经取消,此字段值定义0(不认证),为1,2只作为对老版本的兼容;
  • Adver Int:通告包的发送间隔时间,8位,单位是秒,缺省是1秒;
  • Checksum:校验和,16位,校验数据范围只是VRRP数据,即从VRRP的版本字段开始的数据,不包括IP头;
  • IP Address(es):和虚拟路由器相关的IP地址,数量由Count IP Addrs决定
  • Authentication Data:RFC3768中定义该字段只是为了和老版本兼容,必须置0。

3.4 接收数据时的必须检查

收到VRRP数据包时要进行以下验证,不满足的数据包将被丢弃:
   -  TTL必须为255;
   -  VRRP版本号必须为2;
   -  一个包中数据字段必须完整;
   -  校验和必须正确;
   -  必须验证是否在接收的网卡上配置了VRID值,而且是否本地路由器不是路由IP地址的拥有者
   -  必须验证VRRP认证类型和配置的一致;

4. 结论

      VRRP实现了对路由器IP地址的冗余功能,防止了单点故障造成的网络失效,VRRP本身是热备形式的,但可以通过互相热备实现路由器的均衡处理,新版的VRRP较老版简化了认证处理,实际不再进行数据的认证,这是因为在实际应用中,经常出现由于认证造成的多个MASTER同时使用的异常情况。


============ 我是分割线 =============

VRRP概述

      通常,子网内的所有主机都设置一条相同的、到网关的缺省路由。主机发出的所有目的地址不在本网段的报文将通过缺省路由发往网关,从而实现主机与外部网络的通信。当网关发生故障时,本网段内所有以网关为缺省路由的主机将中断与外部网络的通信。
      缺省路由为用户的配置操作提供了方便,但是对缺省网关设备提出了很高的稳定性要求。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
      VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议),可以解决以上问题。在具有多播或广播能力的局域网(如以太网)中,借助VRRP能在某台设备出现故障时仍然提供高可靠的缺省链路,而无需修改用户的配置信息。
      VRRP协议的实现有VRRPv2和VRRPv3两个版本。其中,VRRPv2基于IPv4VRRPv3基于IPv6。两个版本的VRRP在功能实现上并没有区别。在IPv4设备上和IPv6设备上使用的命令不同。


VRRP基本概念

VRRP备份组

    VRRP将局域网内的一组路由器(包括一个Master路由器和若干个Backup路由器)组成一个备份组,功能上相当于一台虚拟路由器。

VRRP备份组具有以下特点:
  • 局域网内的主机仅需要知道这个虚拟路由器的IP地址,并将其设置为缺省路由的下一跳地址。
  • 网络内的主机通过这个虚拟路由器与外部网络进行通信。
  • 备份组内的路由器根据一定的选举机制,分别承担网关的功能。当备份组内承担网关功能的路由器发生故障时,其余的路由器将取代它继续履行网关职责。

VRRP优先级
      VRRP根据优先级来确定参与备份组的每台路由器的角色(Master路由器或Backup路由器)。优先级越高,则越有可能成为Master路由器。

抢占方式
      在非抢占方式下,一旦备份组中的某台路由器成为Master路由器,只要它没有出现故障,其它路由器即使随后被配置了更高的优先级也不会成为Master路由器。
       如果路由器设置为抢占方式,它一旦发现自己的优先级比当前的Master路由器的优先级高,就会成为Master路由器;相应地,原来的Master路由器将会变成Backup路由器。

监视接口功能
      VRRP的监视接口功能更好地扩充了备份功能:不仅在备份组中某路由器的接口出现故障时能提供备份功能,还能在路由器的其它接口不可用时提供备份功能。当被监视的接口处于down状态时,拥有该接口的路由器的优先级会自动降低一个指定的数额,从而可能导致备份组内其它路由器的优先级高于这个路由器的优先级,使其它优先级高的路由器转变为Master路由器。

认证方式
      VRRP提供了两种认证方式,分别是:
  • SIMPLE:简单字符认证
  • MD5:MD5认证
      在一个安全的网络中,可以不设置认证方式,则路由器对要发送的VRRP报文不进行任何认证处理,而收到VRRP报文的路由器也不进行任何认证就认为这是一个真实的、合法的VRRP报文,这种情况下,不需要设置认证字。
      在一个有可能受到安全威胁的网络中,可以将认证方式设置为SIMPLE,则发送VRRP报文的路由器就会将认证字填入到VRRP报文中,而收到的VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较,如果相同则认为接收到的报文是真实的、合法的VRRP报文,否则认为是一个非法的报文。
      在一个非常不安全的网络中,可以将认证方式设置为MD5,则路由器就会利用认证字和MD5算法来对VRRP报文进行加密,加密后的报文保存在Authentication Header(认证头)中,收到的VRRP报文的路由器会利用认证字解密报文,检查报文的合法性。


============ 我是分割线 =============

下面为huawei介绍VRRP的文档


6.1  介绍

定义

VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议,是一种容错协议。该协议通过把几台路由设备联合组成一台虚拟的路由设备,使用一定的机制保证当主机的下一跳交换机出现故障时,及时将业务切换到其它交换机,从而保持通讯的连续性和可靠性。

以下是与VRRP协议相关的基本概念:

  • VRRP 交换机(VRRP Router):运行VRRP的设备,它可能属于一个或多个虚拟交换机。
  • 虚拟交换机(Virtual Router):由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。它包括了一个虚拟交换机标识符和一组虚拟IP地址。
  • 虚拟IP地址(Virtual IP Address):虚拟 交换机的IP地址,一个虚拟交换机可以有一个或多个IP地址,由用户配置。
  • IP地址拥有者(IP Address Owner):如果一个VRRP 交换机将虚拟交换机的IP地址作为真实的接口地址,则该设备是IP地址拥有者。当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。
  • 虚拟MAC地址:是虚拟交换机根据虚拟交换机 ID生成的MAC地址。一个虚拟交换机拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}(VRRP);00-00-5E-00-02-{VRID}(VRRP6)。当虚拟交换机回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。
  • 主IP地址(Primary IP Address):从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。VRRP广播报文使用主IP地址作为IP报文的源地址。
  • Master 交换机(Virtual Router Master):是承担转发报文或者应答ARP请求的VRRP交换机,转发报文都是发送到虚拟IP地址的。如果IP地址拥有者是可用的,通常它将成为Master。
  • Backup 交换机(Virtual Router Backup):一组没有承担转发任务的VRRP 交换机,当Master设备出现故障时,它们将通过竞选成为新的Master。
  • 抢占模式:在抢占模式下,如果Backup器的优先级比当前Master的优先级高,将主动将自己升级成Master。
目的

随着Internet的发展,人们对网络的可靠性的要求越来越高。对于局域网用户来说,能够时刻与外部网络保持联系非常重要。

通常情况下,内部网络中的所有主机都设置一条相同的缺省路由,指向出口网关,实现主机与外部网络的通信。当出口网关发生故障时,主机与外部网络的通信就会中断。

配置多个出口网关是提高系统可靠性的常见方法,但局域网内的主机设备通常不支持动态路由协议,如何在多个出口网关之间进行选路是一个需要解决的问题。

VRRP协议由IETF(Internet Engineering Task Force,因特网工程任务组)推出,旨在解决局域网主机访问外部网络的可靠性问题,包括如下应用特性:

  • 主备备份:这是VRRP提供IP地址备份功能的基本方式。主备备份方式需要建立一个虚拟交换机,该虚拟交换机包括一个Master设备和若干Backup设备,这些交换机构成一个备份组。正常情况下,业务全部由Master承担。Master出现故障时,Backup接替工作。
  • VRRP负载分担:负载分担方式是指多台交换机同时承担业务,单个VRRP备份组是不具备负载分担功能的,只有在多台设备上建立两个或更多的备份组,所有备份组均匀分担Master状态,此时就每台设备只承担了部分的业务,从而达到负载分担的作用。
  • VRRP监视接口状态:每个VRRP备份组可以监视所有与此VRRP备份组绑定的接口的状态,从而当接口出现故障时,VRRP通过改变优先级来重新选择主备关系。
  • 虚拟IP地址Ping开关:提供了控制Ping通虚拟IP地址的开关命令。
  • VRRP的安全功能:对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。
  • VRRP快速切换:VRRP通过监视BFD会话状态实现主备快速切换,主备切换时间毫秒级。

6.2   参考标准和协议

本特性的参考资料清单如下:


文档

描述

备注

RFC2281

Hot Standby Router Protocol(HSRP)

 

RFC2338

Virtual Router Redundancy Protocol(version number One1998)

 

RFC2787

Definitions of Managed Objects for the Virtual Router Redundancy Protocol

 

RFC3768

Virtual Router Redundancy Protocol(version number Two 2004)

 

6.3  原理描述

VRRP将局域网的一组路由设备构成一个VRRP备份组,相当于一台虚拟路由器。局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利用该虚拟网关与外部网络进行通信。

VRRP将该虚拟路由器动态关联到承担传输业务的物理设备上,当该设备出现故障时,再次选择新设备来接替业务传输工作,整个过程对用户完全透明,实现了内部网络和外部网络不间断通信。

图6-1  虚拟路由器示意图  

图6-1所示,虚拟路由器的实现原理如下:

  • SwitchA、SwitchB和SwitchC属于同一个VRRP备份组,组成一个虚拟的路由器,这个虚拟路由器有自己的IP地址10.110.10.1。虚拟IP地址可以直接指定,也可以借用该VRRP组所包含的设备上某接口地址。

  • SwitchA、SwitchB和SwitchC的实际IP地址分别是10.110.10.5、10.110.10.6和10.110.10.7。

  • 局域网内的主机只需要将缺省路由设为10.110.10.1即可,无需知道具体设备上的接口地址。

主机利用该虚拟网关与外部网络通信。虚拟路由器工作机制如下:

  • 根据优先级的大小挑选Master设备。Master设备的选举有两种方法:
    • 比较优先级的大小,优先级高者当选为Master设备。

    • 当两台优先级相同的设备同时竞争Master时,比较接口IP地址大小。接口地址大者当选为Master设备。

  • 其它设备作为备份设备,随时监听Master设备的状态。

    • 当主设备正常工作时,它会每隔一段时间(Advertisement_Interval)发送一个VRRP组播报文,以通知组内的备份设备,主设备处于正常工作状态。

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

从上述分析可以看到,主机不需要增加额外工作,与外界的通信也不会因某台设备故障而受到影响。


VRRP报文结构

VRRP报文用来将Master设备的优先级和状态通告给同一虚拟路由器的所有VRRP路由器。

VRRP报文封装在IP报文中,发送到分配给VRRP的IP组播地址。在IP报文头中,源地址为发送报文的主接口地址(不是虚拟地址或辅助地址),目的地址是224.0.0.18,TTL是255,协议号是112。VRRP报文的结构如图6-2所示。

图6-2  VRRP报文结构  

各字段的含义如下:
  • Version:VRRP协议版本号。此处取值为2。

  • Type:VRRP通告报文的类型。只有一种取值1,表示Advertisement。

  • Virtual Rtr ID(VRID):虚拟路由器ID,取值范围是1~255。

  • Priority:发送VRRP通告报文的的设备在备份组中的优先级。取值范围是0~255,但可用的范围是1~254。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者。缺省值是100。

  • Count IP Addrs:VRRP通告报文中包含的虚拟IP地址的个数。

  • Authentication Type:VRRP报文的认证类型。协议中指定了3种类型:
    • 0:Non Authentication

    • 1:Simple Text Password

    • 2:Reserved

    说明:

    目前,S5700实现了明文认证方式和MD5认证方式。

  • Advertisement Interval:发送通告报文的时间间隔。缺省值为1秒。

  • Checksum:校验和。

  • IP Address(es):VRRP备份组的虚拟IP地址。

  • Authentication Data:认证字。目前只有明文认证和MD5认证才用到该部分,对于其它认证方式,一律填0。


VRRP的状态机

VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。

VRRP状态转换如图6-3所示。

图6-3  VRRP状态机的转换  

Initialize:设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP通告报文做任何处理。

Master:当 交换机 处于Master状态时,它将会做下列工作:
  • 定期发送VRRP通告报文。

  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。

  • 转发目的MAC地址为虚拟MAC地址的IP报文。

  • 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。

  • 如果收到比自己优先级大的报文则转为Backup状态。

  • 如果收到优先级和自己相同的报文,并且发送端的主IP地址比自己的主IP地址大,则转为Backup状态。

  • 当接收到接口的Shutdown事件时,转为Initialize状态。

Backup:当 交换机 处于Backup状态时,它将会做下列工作:
  • 接收Master发送的VRRP通告报文,判断Master的状态是否正常。

  • 对虚拟IP地址的ARP请求,不做响应。

  • 丢弃目的MAC地址为虚拟MAC地址的IP报文。

  • 丢弃目的IP地址为虚拟IP地址的IP报文。

  • 如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。

  • 当接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master状态。

  • 当接收到接口的Shutdown事件时,转为Initialize状态。


6.3.1  主备备份

这是VRRP提供IP地址备份功能的基本方式。主备备份方式需要建立一个虚拟路由器,该虚拟路由器包括一个Master和若干Backup设备。

  • 正常情况下,业务全部由Master承担。

  • Master出现故障时,Backup设备接替工作。


6.3.2  VRRP负载分担

允许一台设备为多个VRRP备份组作备份。通过多个虚拟路由器可以实现负载分担。负载分担方式是指多台虚拟路由器同时承担业务,因此需要建立两个或更多的备份组。

负载分担方式具有以下特点:

  • 每个备份组都包括一个Master设备和若干Backup设备。

  • 各备份组的Master设备可以不同。

  • 同一台设备上的不同接口可以加入多个备份组,在不同备份组中有不同的优先级。

图6-4  VRRP负载分担示意图  

图6-4所示,配置两个备份组:组1和组2。

  • SwitchA在备份组1中作为Master,在备份组2中作为Backup。

  • SwitchB在备份组1和2中都作为Backup。

  • SwitchC在备份组2中作为Master,在备份组1中作为Backup。

  • 一部分主机使用备份组1作网关,另一部分主机使用备份组2作为网关。

这样,可以达到分担数据流而又相互备份的目的。


6.3.3  VRRP监视接口状态

VRRP可以监视所有接口的状态。当被监视的接口Down或Up时,该设备的优先级会自动降低或升高一定的数值,使得备份组中各设备优先级高低顺序发生变化,VRRP设备重新进行Master设备竞选。

VRRP可以通过Increase方式和Reduce方式来监视接口(一个VRRP最多可以监视8个接口)。

  • 如果VRRP以Increase方式监视一个接口,当被监视的接口状态变成Down后,VRRP的优先级增加(增加值可以配置)。

    Increase方式只在VRRP状态为Backup时才生效。

  • 如果VRRP以Reduce方式监视一个接口,当被监视的接口状态变为Down后,VRRP的优先级降低(降低值可以配置)。

    Reduce方式在VRRP状态为Master或Backup时都生效。

具体的应用场景可以参考组网应用中的“VRRP监视接口状态”。


6.3.4  VRRP快速切换

双向转发检测BFD(Bidirectional Forwarding Detection)机制能够快速检测、监控网络中链路或者IP路由的连通状况,VRRP通过监视BFD会话状态实现主备快速切换,主备切换的时间控制在1秒以内。

对于以下情况,BFD都能够将检测到的故障通知接口板,从而加快VRRP主备倒换的速度。

  • 备份组包含的接口出现故障。

  • Master和Backup不直接相连。

  • Master和Backup直接相连,但在中间链路上存在传输设备。

BFD对Backup和Master之间的实际地址通信情况进行检测,如果通信不正常,Backup就认为Master已经不可用,升级成Master。在以下情况下Backup转换为Master:

  • 当两台设备之间的背靠背连接全部断开时,Backup主动升级成Master,承载上行流量。

  • 当两台设备之间的连接在如下情况下中断时,Backup主动升级成Master,承载上行流量。

    • 当Master重新启动
    • Master与交换机之间的链路断开
    • 与Master相连的交换机重新启动

VRRP快速切换的环境要求:

  • 在Backup上,BFD Session检测的接口必须和Master设备相连;

  • 在Master不可用时,Backup的优先级增加并大于原来Master的优先级,促使自己快速切换为Master。


6.3.5  虚拟IP地址Ping开关

VRRP备份组使用虚拟IP地址,能够Ping通虚拟IP地址可以比较方便的监控虚拟路由器的工作情况,但是带来可能遭到ICMP攻击的隐患。控制Ping通虚拟IP地址的开关命令供用户方便处理。


6.3.6  VRRP安全

对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。

在一个安全的网络中,可以采用缺省设置:设备对要发送的VRRP报文不进行任何认证处理,收到VRRP报文的设备也不进行任何认证,认为收到的都是真实的、合法的VRRP报文。这种情况下,不需要设置认证字。

在有可能受到安全威胁的网络中,VRRP提供了简单字符(Simple)认证方式和MD5认证方式。对于简单认证字方式,可以设置长度为1~8的认证字;对于MD5认证方式,明文长度范围是1~8,密文长度为24。


6.4  应用


6.4.1  VRRP监视接口状态

图6-5  VRRP监视接口的典型组网图  

解决的问题:VRRP无法感知非VRRP所在接口状态的变化,当上行链路出现故障时,VRRP感知不到,从而导致业务中断。

配置说明如下:

  • 通过配置VRRP监视指定的接口。

  • VRRP可以以Increase方式和Reduce方式来监视一个上下链路接口,一个VRRP最多可以监视8个接口。

  • 当VRRP监视的接口的状态发生变化时,通知VRRP,VRRP根据接口的状态来增加或者是减少VRRP的优先级,从而达到指导VRRP状态切换的目的。

图6-5所示,SwitchA和SwitchB两台设备上面运行VRRP协议。并且SwitchB的优先级比SwitchA的优先级的高,SwitchB以Reduce方式监视接口。SwitchB为Master设备,用户侧的流量通过主用设备SwitchB出去,如图6-5中绿线所示。现在SwitchB连向Internet的出接口出现故障,由于SwitchB上面VRRP以Reduce方式监视了这个接口,VRRP的优先级降低,SwitchA抢占成为主用设备,以后用户侧的流量则通过SwitchA出去。


6.4.2  VRRP快速切换

图6-6  VRRP快速切换组网图  

解决的问题:VRRP在检测出链路故障后流量丢失时间较长的问题。

配置说明如下:

  • 通过在SwitchA和SwitchB上配置BFD来检测它们之间链路状态,由于BFD可以实现毫秒级别的快速链路检测,所以链路或者远端主机发生故障后可以迅速检测出来。

  • 通过监视普通BFD,VRRP可以快速感知链路状态,BFD检测出链路故障后通知VRRP。

  • VRRP根据BFD通告过来的状态来进行优先级调整或者是快速切换来达到快速抢占的目的。

  • 一个VRRP可以配置监视最多8个BFD会话。

  • 通过监视普通BFD可以使VRRP主备切换的时间控制在200ms以内。

图6-6所示,SwitchA和SwitchB之间配置VRRP备份组建立主备关系,SwitchA为主用设备,用户过来的流量从SwitchA出去。在SwitchA和SwitchB之间建立BFD会话,VRRP备份组监视该BFD会话,当BFD会话状态变化时,通过修改备份组优先级实现主备快速切换。当BFD检测到SwitchA和SwitchC之间的链路故障时,上报给VRRP一个BFD检测Down事件,SwitchB上VRRP备份组的优先级增加,增加后的优先级大于SwitchA上的VRRP备份组的优先级,于是,SwitchB立刻升为Master,后继的用户流量就会通过SwitchB转发,从而实现VRRP的主备快速切换。


6.5  术语与缩略语

缩略语


缩略语

英文全称

中文全称

VRRP

Virtual Router Redundancy Protocol

虚拟路由冗余协议

ARP

Address Resolution Protocol

地址解析协议

BFD

Bidirectional Forwarding Detection

双向转发检测

L2VPN

Layer 2 virtual private network

二层虚拟专用网

PW

Pseudo Wire

虚电线

VSI

Virtual Switching Instance

虚拟交换实例

QinQ

802.1Q in 802.1Q

802.1Q嵌套802.1Q

ME

Metro Ethernet

城域以太



============ 我是分割线 =============


© 著作权归作者所有

摩云飞
粉丝 377
博文 534
码字总数 952694
作品 0
徐汇
程序员
私信 提问
加载中

评论(0)

Keepalived学习总结

一、LVS负载均衡集群的缺点 二、Keepalived介绍 三、Keepalived的功能 四、Keepalived工作原理 五、Keepalived组件框架 六、Keepalived的安装 6.1 高可用集群配置的前提 6.2 Keepalived配置 ...

iTab
2017/08/03
0
0
Mikro Tik || ROS脚本基础教程

更新中......... Mikro Tik ROS脚本基础教程 从0基础学习ROS脚本 本教程为ros脚本基础教程 会集合大量例子 实例讲解 教程基于6.X版本讲解(和5.x有点不同 不影响学习) global 声明全局变量 ...

浠朢
2016/11/03
0
0
配置Keepalived双实例高可用Nginx

我们知道Keepalived原生设计目的是为了高可用LVS集群的,但Keepalived除了可以高可用LVS服务之外,还可以基于vrrpscript和trackscript高可用其它服务,如Nginx等。本篇主要演示如何使用Keepa...

iTab
2017/08/08
0
0
服务器集群之keepalived配置高可用(资料)

Linux集群概述 • 根据功能划分为两大类:高可用和负载均衡 • 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 • 实现高可用的开...

寰宇01
2018/05/24
398
0
nginx+keepalived完善

nginx+keepalived 双机互备的文章,写那篇文章的时候没有想过如果apache或者nginx 挂了,而 keepalived 或者 机器没有死,那么主辅是不会切换的,今天就研究了一下该如何监控 nginx进程呢,看...

chengadvice
2014/08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP一致性hash代码

[TOC] PHP实现一致性hash bash命令 因为下面PHP代码的模拟用户用的是随机数,所以统计结果达不到绝对的均衡. php ./hash.php | sort | uniq -c | sort PHP代码 这是之前学的时候留下来的测试...

我爱吃炒鸡
今天
78
0
OSChina 周六乱弹 —— 现在看动弹的人都是什么状态

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《夏日、教室与望着窗外的我》- Candy_Wind 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
288
5
wamp环境安装redis扩展

1.查看phpinfo信息根据配置信息下载对应的扩展 关键信息:VC14,TS,x86 2.下载php_redis和php_igbinary扩展 php_redis扩展下载地址: https://windows.php.net/downloads/pecl/snaps/redis...

点滴课程
今天
36
0
开源商城开发笔记1-创建MyBatis示例

一、修改pom.xml,引入MyBatis,JUnit,Log4j <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version>......

土龙
今天
56
0
The Best Way To Learn English in 2020 (In my humble opinion.)

✅Here is the plan: THINGS YOU WILL NEED: - 1 hour per day (30 minutes will work as well). - a notebook and a pen to write down new vocabulary each day. - an English song. - an ......

FalconChen
昨天
85
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部