• 文章搜索:
  • 目录

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    VRRP/VRRPE协议简介

    作者:  |  上传时间:2015-10-09  |  关键字:VRRP/VRRPE协议简介

    /李朝辉

    1   概述

        VRRP全称Virtual Router Redundancy Protocol(虚拟路由器冗余协议)。简单来说,VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时的由另一台路由器来代替,从而保持通讯的连续性和可靠性。为了使VRRP工作,首先要创建一个虚拟IP地址和MAC地址,这样在这个网络中就加入了一个虚拟路由器。而这个网络上的主机与虚拟路由器通信,无需了解这个网络上物理路由器的任何信息    。一个虚拟路由器由一个主路由器(Master)和若干个备份路由器(Backup)组成,主路由器实现真正的转发功能。当主路由器出现故障时,备份路由器成为新的主路由器,接替它的工作,如图1所示:

                  图1 虚拟路由器示意图

        VRRP中只定义了一种报文——VRRP报文,这是一种组播报文,由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。

        VRRP中定义了三种状态模型:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有活动状态可以为到虚拟IP地址的转发请求服务。

    VRRP协议是在Cisco的私有协议HSRP协议的基础上制定出来的,对应的RFC2338 VRRP简化了HSRP提出的机制,尽量减少了由提供冗余功能给网络带来的额外负载,例如HSRP规定虚拟路由器有六种状态,而在VRRP中只有三种;HSRP中有两种状态可以发送报文,且报文类型有三种,而VRRP中只有Master状态的路由器可以发送报文,而且报文也只有一种。HSRP报文是封装在UDP报文上的,而VRRP报文是封装在IP报文上的,支持各种上层协议,同时VRRP还支持将真实接口IP地址设置为虚拟IP地址。

    当前VRRP包括VRRPv2RFC 3768)和VRRPv3RFC 5798)两个版本。

    2      VRRP的原理

    如图1所示,VRRP(图中是RouterARouterB)组织成一个虚拟的路由器,这个虚拟的路由器拥有自己的IP地址10.100.10.1(这个IP地址可以和某个路由器的接口地址相同)。当然,物理路由器RouterARouterB也有自己的IP地址(RouterAIP地址为10.100.10.2,  RouterBIP地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP地址10.100.10.1,而并不知道具体的路由器RouterAIP地址10.100.10.2以及路由器RouterBIP地址10.100.10.3,他们将自己的缺省路由设置为该虚拟路由器的IP地址10.100.10.1。于是,网络内的主机就通过这个虚拟的路由器来与其他网络进行通信。而对于这个虚拟路由器则需要进行如下工作:

    1、根据优先级的大小挑选主路由器,优先级最大的为主路由器,若优先级相同,则比较接口的主IP地址,主IP地址大的就成为主路由器,由它提供实际的路由服务。

    2、其它路由器作为备份路由器,随时监测主路由器的状态。当主路由器正常工作时,它会每隔一段时间(Advertisement_Interval)发送一个VRRP组播报文,以通知组内的备份路由器,主路由器处于正常工作状态。当组内的备份路由器长时间(Master_Down_Interval)没有接收到来自主路由器的报文,则将自己转为主路由器。当组内有多台备份路由器时,将有可能产生多个主路由器。这时每一个主路由器就会比较VRRP报文中的优先级(priority)和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转为备份路由器,否则保持自己的状态不变。通过这样一个过程,就会将优先级最大的路由器选成新的主路由器,完成VRRP的备份功能。

    3、当Backup路由器转变为Master路由器时,会广播一个免费ARP请求报文,内部封装是虚拟MAC和虚拟IP的对应,用来通知下方的二层交换机学习vrrpmac的端口发生改变。

    从上述分析可以看到,对于网络中的主机来说,它并没有做任何额外的工作,但是它对外的通信再也不会因为一台路由器坏掉而受到影响了。

    3      VRRP的特点

    作为提供可靠性的容错协议,VRRP具有如下特点:

    1、 IP地址的备份

    这是VRRP最首要和重要的功能,该功能将网络路由黑洞的持续时间最小化,并能够实现负载分担功能。

    如图2,路由器A作为备份组1Master,同时又兼职备份组2的备份路由器,而路由器B正相反,作为备份组2Master,并兼职备份组1的备份路由器。一部分主机使用备份组1作网关,另一部分主机使用备份组2作为网关。这样,以达到分担数据流,而又相互备份的目的。

       图2  VRRP负载分担

    2、 首选路径确定

    正如前面讲的,VRRP用简单易行的方法从冗余路由器中选取主路由器,这种方法就是设定优先级和抢占方式。根据优先级来确定参与备份组的每台路由器的地位,用户可以通过设定优先级和抢占方式来指定某一路由器成为MasterBackup,达到控制虚拟路由器的行为的目的。

    3、 使不必要的中断最小化

    当主路由器选好后,除了主路由器定时发送的VRRP组播报文,Master和备份路由器之间没有多余的通信。任何优先级低或相等的备份路由器不能发起状态转换,这样主路由器可以持续稳定地工作。

    4、 可扩展的安全性

    对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。任何没有通过认证的报文将做丢弃处理。

    4      VRRP相关概念

    为了更好的理解VRRP,首先介绍下面一些基本概念:

    虚拟路由器号(VRID——范围1255,由用户配置。有相同VRID的一组路由器构成一个虚拟路由器。

    IP地址(IP Address——一个虚拟路由器可以拥有一个或多个IP地址,由用户配置,如果虚拟IP地址接口与实际地址相同,则该路由器被称为IP地址拥有者(IP address owner),在同一个VRRP备份组中,只允许配置一个IP地址拥有者。

    虚拟MAC地址(Virtual MAC Address—— 一个虚拟路由器拥有一个虚拟MAC地址,根据RFC2338的规定,虚拟MAC地址的格式为: 00-00-5E-00-01-{VRID}。当虚拟路由器回应ARP请求时,回应的是虚拟MAC地址,而不是接口的真实MAC地址。

    优先级(Priority——  VRRP中根据优先级来确定参与备份组的每台路由器的地位,备份组中优先级最高的路由器将成为主路由器,当优先级相同时,将会比较接口的主IP地址。优先级的取值范围为0255 (数值越大表明优先级越高),缺省值是100,但是可配置的范围是12540为系统保留为特殊用途来使用。255则保留给IP地址拥有者。

    抢占模式(Preempt_Mode——一个备份组中的路由器有两种工作模式:抢占模式和非抢占模式。一旦备份组中的某台路由器成为主路由器,只要它没有出现故障,其它路由器即使随后被配置更高的优先级,也不会成为主路由器,除非被设置为抢占方式。路由器如果设置为抢占方式,它一旦发现自己的优先级比当前的活动路由器的优先级高,就会成为主路由器,相应地,原来的主路由器将会变成备份路由器。在设置抢占的同时,还可以设置延迟时间。这样可以使得备份路由器延迟一段时间而不是立即成为主路由器。其目的是:在不够稳定或拥塞的网络环境里,备份路由器可能会因为链路的问题而没有收到主路由器的VRRP报文。如果未设置抢占时间,则备份路由器会立即成为主路由器。如果这时又收到了主路由器的VRRP报文,就会引发频繁的状态转换,造成网络不稳定,延迟时间能够很好的解决这个问题。

    注:对于IP地址拥有者,无论如何配置,都将工作在抢占模式。

    认证类型(Authentication Type—— VRRP定义了三种认证方式:无认证(no authentication)、简单字符认证(simple clear text passwords)和 MD5认证 (MD5)。 在一个安全的网络中,可以将认证方式设置为不认证,路由器对要发送的VRRP报文不进行任何认证处理,而收到VRRP报文的路由器也不进行任何认证就认为是一个真实的、合法的VRRP报文,这种情况下,不需要设置认证字。在一个有可能受到安全威胁的网络中,可以将认证方式设置为SIMPLE,此时发送VRRP报文的路由器会将认证字填入到VRRP报文中,而收到的VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较,相同则认为这是一个真实的、合法的VRRP报文,否则就会认为这是一个非法的报文,将会丢弃。这种情况下,应当设置长度为不超过8位的认证字。 在一个非常不安全的网络中,可以将认证方式设置为MD5,此时路由器会利用Authentication Header提供的认证方式和MD5算法来对VRRP报文进行认证。 这种情况下,应当设置长度为不超过8位的认证字。 对于没有通过认证的报文将做丢弃处理。

    5      VRRP定时器

    VRRP定时器分为三种:偏移时间、VRRP通告报文间隔时间定时器、VRRP抢占延迟定时器。

    1.偏移时间:

    偏移时间(Skew_Time)是用来避免当Master路由器出现故障时,备份组中会有多个Backup路由器在同一时刻同时转变为Master路由器,导致备份组中存在多台Master路由器。 偏移时间的值不可配置,系统根据VRRP不同的版本计算出来一个Skew Time.

    VRRPv2Skew_Time=256-路由器在备份组中的优先级)/256

    VRRPv3: Skew_Time=256-路由器在备份组中的优先级)×VRRP通告报文的发送时间间隔)/256

    2. VRRP通告报文时间间隔定时器

    VRRP备份组中的Master路由器会定时发送VRRP通告报文,通知备份组内的路由器自己工作正常。

    用户可以通过设置VRRP定时器来调整Master路由器发送VRRP通告报文的时间间隔。如果Backup路由器在等待了3个间隔时间Skew_Time后,依然没有收到VRRP通告报文,则认为自己是Master路由器,并对外发送VRRP通告报文,重新进行Master路由器的选举。

    2. VRRP抢占延迟定时器

    为了避免备份组内的成员频繁进行主备状态转换,让Backup路由器有足够的时间搜集必要的信息(如路由信息),Backup路由器接收到优先级低于本地优先级的通告报文后,不会立即抢占成为Master,而是等待一定时间——抢占延迟时间Skew_Time后,才会对外发送VRRP通告报文取代原来的Master路由器。

    6      VRRP报文结构

    VRRP协议只有一种报文,即主路由器定时向其它成员发送的组播报文。当Master正常工作时,它会每隔一段时间(缺省为1)发送一个VRRP组播报文,以通知组内的备份路由器,主路由器处于正常工作状态。(注意:只有Master才发送VRRP报文)

    VRRP广播报文封装在IP报文中,通过组播方式进行发送。VRRP报文的源MAC     00-00-5e-00-01-xx其中xxVRID号,VRRP报文的目的MAC01-00-5e-00-00-12,源IP地址为发送报文的主接口地址(不是虚拟地址或辅助地址),目的IP地址是224.0.0.18代表所有VRRP路由器,报文的TTL255,协议号是112VRRP广播报文的结构如下图:

    vrrp1.bmp

                                图3  VRRPv2报文结构

    vrrp2.bmp

                                   图4 VRRPv3报文结构

     

    各字段的含义:

    Version:协议版本号,VRRPv2对应的版本号为2VRRPv3对应的版本号为3

    TypeVRRP报文的类型。VRRPv2VRRPv3报文只有一种类型,即VRRP通告报文(Advertisement),该字段取值为1

    Virtual Rtr IDVRID:虚拟路由器号(即备份组号),取值范围1255

    Priority:优先级(0255),其中0表示路由器停止参与VRRP,用来使备份路由器尽快成为主路由器,而不必等到计时器超时;255则保留给IP地址拥有者,默认值是100,数值越大表明优先级越高

    Count IP Addrs/Count IPv6 Addrs::配置的备份组虚拟地址个数(1个备份组可对应多个虚拟地址)

    Authentication Type::验证类型,协议中指定了3种类型:

    0 - No Authentication

        1 - Simple Text Password

        2 - IP Authentication Header

    其中VRRPv3不支持MD5认证。

    Advertisement Interval :发送通告报文的时间间隔。VRRPv2中单位为秒,缺省为1秒;VRRPv3中单位为厘秒,缺省为100厘秒。

    Checksum 16位校验和,用于检测VRRP报文中的数据破坏情况。

    IP Address/IPv6 Address配备份组虚拟IP地址表项。所包含的地址数定义在Count IP Addrs/Count IPv6 Addrs字段。

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

    7      VRRP的状态机

    组成虚拟路由器的路由器会有三种状态机,分别是InitializeMasterBackup

    1、 Initialize

    系统启动后进入此状态,当收到接口startup的消息,将转入BackupMaster状态(优先级为255时)。在此状态时,不会对VRRP报文做任何处理。

    2Master

    当路由器处于Master状态时,它将会做下列工作:

    定期发送VRRP广播报文。响应对虚拟IP地址的ARP请求,并且响应的是虚拟MAC地址,而不是接口的真实MAC地址。转发目的MAC地址为虚拟MAC地址的IP报文。如果它是这个虚拟IP地址的拥有者(IP Address Owner),则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。在Master状态中只有接收到比自己的优先级大的VRRP报文时,才会转为Backup,当接收到接口的Shutdown事件时,转为Initialize

    3Backup

    当路由器处于BACKUP状态时,它将会做下列工作:

    接收Master发送的VRRP广播报文,从中了解Master。对虚拟IP地址的ARP请求,不做响应。丢弃目的MAC地址为虚拟MAC地址的IP报文。丢弃目的IP地址为虚拟IP地址的IP报文。

    只有当Backup接收到MASTER_DOWN这个定时器到时的事件时,才会转为Master,而当接收到比自己的优先级小的VRRP报文时,它只是做丢弃这个报文的处理,从而就不对定时器做重置处理,这样定时器就会在若干次这样的处理之后到时,于是就转为Master。当接收到接口的Shutdown事件时,转为Initialize

    三种状态机的转换如图5所示:

    图5 VRRP状态机的转换

    8   VRRP负载均衡功能(VRRPE

    VRRP的特点中我们讲了通过创建多个备份组可以使得一个路由器在一个备份组中作为Master路由器,在其他的备份组中作为Backup路由器,从而实现负载分担功能。虽然创建多个备份组可以实现多个路由器之间的负载分担,但是局域网内的主机需要设置不同的网关,增加了配置的复杂性。为解决这个问题,提出了VRRP负载均衡模式(也称为VRRPE功能)。

    VRRP负载均衡模式下VRRP不仅提供了虚拟网关冗余备份功能,同时增加了负载均衡功能。其实现原理为:将一个虚拟IP地址与多个虚拟MAC地址对应,VRRP备份组中的每个路由器都对应一个虚拟MAC地址;使用不同的虚拟MAC地址应答主机的ARPIPv4网络中)/NDIPv6网络中)请求,从而使得不同主机的流量发送到不同的路由器,备份组中的每个路由器都能转发流量。在VRRP负载均衡模式中,只需创建一个备份组,就可以实现备份组中多个路由器之间的负载分担,避免了VRRP备份组中Backup路由器始终处于空闲状态、网络资源利用率不高的问题。

    8.1   虚拟MAC地址的分配

    VRRP负载均衡模式中,Master路由器负责为备份组中的路由器分配不同的虚拟MAC地址,并为来自不同主机的ARP/ND请求,应答不同的虚拟MAC地址,从而实现流量在多个路由器之间分担。备份组中的Backup路由器不会应答主机的ARP/ND请求。

    IPv4网络为例,VRRP负载均衡模式的具体工作过程为:

    (1)      Master为备份组中的路由器(包括Master自身)分配虚拟MAC地址。如下图所示,虚拟IP地址为10.1.1.1/24的备份组中,Router A作为MasterRouter B作为BackupRouter A为自己分配的虚拟MAC地址为000f-e2ff-0011,为Router B分配的虚拟MAC地址为000f-e2ff-0012

     图6  Master分配虚拟MAC地址

     

    (2)      Master接收到主机发送的目标IP地址为虚拟IP地址的ARP请求后,根据负载均衡算法(依据主机的MAC地址进行hash计算,确定出相应的负责转发的路由器),使用不同的虚拟MAC地址应答主机的ARP请求。如图7所示,Host A发送ARP请求获取网关10.1.1.1对应的MAC地址时,Master(即Router A)使用Router A的虚拟MAC地址应答该请求;Host B发送ARP请求获取网关10.1.1.1对应的MAC地址时,Master使用Router B的虚拟MAC地址应答该请求。

                 图7  Master应答ARP请求

     

    (3)      通过使用不同的虚拟MAC地址应答主机的ARP请求,可以实现不同主机的流量发送给不同的路由器。如图8所示,Host A认为网关的MAC地址为Router A的虚拟MAC地址,从而保证Host A的流量通过Router A转发;Host B认为网关的MAC地址为Router B的虚拟MAC地址,从而保证Host B的流量通过Router B转发。

     图8  主机通过不同路由器转发流量

     

    8.2   虚拟转发器

    l  AVF:虚拟转发器(Active Virtual Forwarder),作为AVF负责转发目的MAC地址为虚拟MAC地址的流量。

    l  LVF:备用虚拟转发器(Listening Virtual Forwarder)LVF监视AVF的状态,当AVF出现故障时,LVF将选举出优先级最高的虚拟转发器作为AVF

    l  VF Owner:虚拟转发器拥有者(Virtual Forwarder Owner),通过Request-Reply方式获取虚MACAVF设备称为VF ownerAVF不一定就是VF ownerAVF也有可能是VF owner出现故障时,临时替代进行转发工作的LVF

    l  VF Owner ID:虚拟转发器拥有者标志(Virtual Forwarder Owner Identifier);当前用接口的MAC地址标志;

    8.2.1        虚拟转发器的创建

    通过Master路由器给备份组中各路由器分配虚拟MAC地址,和响应ARP请求,给不同主机分配不同的网关MAC,从而使不同主机将流量发送给备份组中不同的路由器。为了使备份组中的路由器能够转发主机发送的流量,需要在路由器上创建虚拟转发器。每个虚拟转发器都对应备份组的一个虚拟MAC地址,负责转发目的MAC地址为该虚拟MAC地址的流量。

    虚拟转发器的创建过程为:

    (1)  备份组中的路由器获取到Master为其分配的虚拟MAC地址后,创建该MAC地址对应的虚拟转发器,该路由器称为此虚拟MAC地址对应虚拟转发器的VF Owner

    (2)  该路由器将虚拟转发器的信息通告给备份组内其他的路由器。

    (3)  备份组内的路由器接收到虚拟转发器信息后,在本地创建该虚拟MAC地址对应的虚拟转发器。

    由此可见,备份组中的路由器上不仅需要创建Master为其分配的虚拟MAC地址对应的虚拟转发器,还需要创建其他路由器通告的虚拟MAC地址对应的虚拟转发器,对其它的路由器进行备份,当其它的路由器down后系统根据相应的权重和优先级进行转发。

    8.2.2        虚拟转发器的权重和优先级

    虚拟转发器的权重标识了路由器的转发能力。权重值越高,路由器的转发能力越强。当权重低于一定的值(失效下限),路由器无法再为主机转发流量。

    虚拟转发器的优先级用来决定虚拟转发器的状态:不同路由器上同一个虚拟MAC地址对应的虚拟转发器中,优先级最高的虚拟转发器处于Active状态,称为AVF,负责转发流量;其他虚拟转发器处于Listening状态,称为LVF,监听AVF的状态。虚拟转发器的优先级取值范围为0255,其中,255保留给VF Owner使用。如果VF Owner的权重高于或等于失效下限,则VF Owner的优先级为最高值255

    设备根据虚拟转发器的权重计算虚拟转发器的优先级,如果权重高于或等于失效下限,且设备为VF Owner,则虚拟转发器的优先级为最高值255;如果权重高于或等于失效下限,且设备不是VF Owner,则虚拟转发器的优先级为权重/(本地AVF的数目+1);如果权重低于失效下限,则虚拟转发器的优先级为0

    8.2.3        虚拟转发器备份

    备份组中不同路由器上同一个虚拟MAC地址对应的虚拟转发器之间形成备份关系。

     图9  虚拟转发器

     

    9举例说明了备份组中每个路由器上的虚拟转发器信息及其备份关系。Master路由器Router A为自己、Router BRouter C分配的虚拟MAC地址分别为000f-e2ff-0011000f-e2ff-0012000f-e2ff-0013。虚拟MAC地址对应的虚拟转发器分别为VF 1VF 2VF 3。在Router ARouter BRouter C上都创建了这三个虚拟转发器,并形成备份关系。例如,Router ARouter BRouter C上的VF 1互相备份:

    1.         Router AVF 1VF OwnerRouter AVF 1的虚拟转发器优先级为最高值255。因此,Router A上的VF 1作为AVF,负责转发目的MAC地址为虚拟MAC地址000f-e2ff-0011的流量。

    2.         Router BRouter CVF 1的虚拟转发器优先级为:权重255/(本地AVF数目11)=127,低于Router AVF 1的优先级。因此,Router BRouter C上的VF 1作为LVF,监视Router AVF 1的状态。

    3.         Router A上的VF 1出现故障时,将从Router BRouter C上的VF 1中选举出虚拟转发器优先级最高的LVF作为AVF,负责转发目的MAC地址为虚拟MAC地址000f-e2ff-0011的流量。

     实际设备上虚拟转发器的的情况,可以作为VF1的转发着同时还兼顾VF2VF3的运行情况:

     [S58V2_IRF]dis vrrp inter vlan 200                                         

    IPv4 Virtual Router Information:      

     Running Mode      : Load Balance                                              

     Total number of virtual routers on interface Vlan-interface200 : 1            

     Interface          VRID   State     Running Pri  Address     Active         

    ----------------------------------------------------------------------        

     Vlan200            1     Master   100      10.1.1.1         Local          

     -----              VF1    Active    255     000f-e2ff-0011    Local           

     -----              VF2    Listening  127     000f-e2ff-0012   10.1.1.3       

    -----               VF3    Listening  127     000f-e2ff-0013   10.1.1.4      

     

    8.2.4        虚拟转发器的定时器

    虚拟转发器的AVF出现故障后,接替其工作的新的AVF将为该VF创建Redirect TimerTimeout Timer两个定时器。

    Redirect TimerVF重定向定时器。该定时器超时前,Master路由器还会采用该VF对应的虚拟MAC地址应答主机的ARP/ND请求;该定时器超时后,Master路由器不再采用该VF对应的虚拟MAC地址应答主机的ARP/ND请求。如果VF OwnerRedirect Timer超时前恢复,则VF Owner可以迅速参与流量的负载分担。

    Timeout TimerVF生存定时器,即AVF接替VF Owner工作的期限。该定时器超时前,备份组中的路由器上都保留该VFAVF负责转发目的MAC地址为该VF对应虚拟MAC地址的报文;该定时器超时后,备份组中的路由器上都删除该VF,不再转发目的MAC地址为该VF对应虚拟MAC地址的报文。

    8.2.5        虚拟转发器监视功能

    AVF负责转发目的MAC地址为虚拟转发器MAC地址的流量,当AVF连接的上行链路出现故障时,如果不能及时通知LVF接替其工作,局域网中以此虚拟转发器MAC地址为网关MAC地址的主机将无法访问外部网络。

    虚拟转发器的监视功能可以解决上述问题。利用NQANetwork Quality Analyzer,网络质量分析)、BFDBidirectional Forwarding Detection,双向转发检测)等监测AVF连接的上行链路的状态,并通过Track功能在虚拟转发器和NQA/BFD之间建立联动。当上行链路出现故障,Track项的状态变为Negative,虚拟转发器的权重将降低指定的数额,以便虚拟转发器优先级更高的路由器抢占成为AVF,接替其转发流量。

    虚拟转发器监视功能还可以用来在LVF上通过Track监视AVF的状态,当AVF出现故障时,工作在虚拟转发器快速切换模式的LVF能够迅速成为AVF,以保证通信不会中断。

     

    8.3   VRRP负载均衡模式的报文

    VRRP标准协议模式中只定义了一种报文——VRRP通告报文,且只有Master路由器周期性发送该报文,Backup路由器不会发送VRRP通告报文。

    为了实现负载均衡,VRRP负载均衡模式中定义了四种报文:

    Advertisement:不仅用于通告本路由器上备份组的状态,还用于通告本路由器上处于Active状态的虚拟转发器信息。MasterBackup路由器均周期性发送该报文。

    Request:处于Backup状态的路由器如果不是VF Owner,则发送Request报文,请求Master路由器为其分配虚拟MAC地址。

    ReplyMaster路由器接收到Request报文后,将通过Reply报文为Backup路由器分配虚拟MAC地址。收到Reply报文后,Backup路由器会创建虚拟MAC地址对应的虚拟转发器,该路由器称为此虚拟转发器的拥有者。

    ReleaseVF Owner的失效时间达到一定值后,接替其工作的路由器将发送Release报文,通知备份组中的路由器删除VF Owner对应的虚拟转发器。

    这几个报文的格式与第6节中的报文格式基本一样,只是在其基础上增加了选项字段,用来携带实现负载均衡所需要的信息。

     

    9      VRRPTrack联动

    VRRP监视功能通过NQANetwork Quality Analyzer,网络质量分析)、BFDBidirectional Forwarding Detection,双向转发检测)等监测Master路由器和上行链路的状态,并通过Track功能在VRRP设备状态和NQA/BFD之间建立关联:

    监视上行链路,根据上行链路的状态,改变路由器的优先级。当Master路由器的上行链路出现故障,局域网内的主机无法通过网关访问外部网络时,被监视Track项的状态变为NegativeMaster路由器的优先级降低指定的数值。使得当前的Master路由器不是组内优先级最高的路由器,而其它路由器成为Master路由器,保证局域网内主机与外部网络的通信不会中断。

    Backup路由器上监视Master路由器的状态。当Master路由器出现故障时,监视Master路由器状态的Backup路由器能够迅速成为Master路由器,以保证通信不会中断。

    被监视Track项的状态由Negative变为PositiveNotready后,对应的路由器优先级会自动恢复。