vrrp 协议相关备忘


结合网盘文档,已经基本全面介绍了vrrp相关的东西;

尊重原创,以下是本文档原文链接: http://my.oschina.net/moooofly/blog/155491?p=1


我司(很有钱)vrrp的某些实现细节:

1、master及slave等的选举,报文交互按照标准状态机转化,不谈。


2、其实相当于vrrp组中的每个vlan端口都配置了子ip(ifconfig  eth1:0),也可以用ip addr add...实现子ip的配置。


3、当然,当l2 sw请求 vrrp组的虚ip对应的mac的时候,若不进行特殊处理,回复的则是子ip所在的vlan的mac,而实际应该回复的是虚mac;

所以修改了协议栈,在arp回复时,内核判断一下 请求的ip 是不是vrrp的虚ip(CLI配置的时候内核会保存所有虚ip),如果是vrrp的虚ip,则回复的是对应的虚mac。

4,如何使slave不回复 虚ip 的arp请求:我司是,当处于slave状态时,直接把其子ip给删除了,所以即使收到arp请求也不会回复;

但是其他公司可能是 设置该net_device的属性,使不回复arp。


5,每个vrrp组有一个master,所以每个master所在的vlan要周期发送vrrp通告报文;我司是每个vrrp组维护一个定时器,即thread_add_timer,所以当vrrp组二十多个过多时,导致slect一直处于有事件的情况,导致系统故障,所以是设计缺陷,需要重新设计该定时器!!!


6、处于同一vrrp group的vlan接口,可以是不同的VID,但这些vlan接口必须处于同一网段,即,和该vrrp组的虚ip是同一网段。


注: 只有一种 报文---通告报文(组播ip报文)。

  2: src mac: 00 00 5e 00 01 VRRPID

          SRC IP: vlan接口实ip

          dst mac: 01 00 5e 00 00 12

          dst  ip  :   224.0.0.18     


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协议状态比较简单,就三种状态,初始化,主机,备份机。  

?
1
2
3
4
5
6
7
8
9
10
11
12
                    +---------------+
         +--------->|               |<-------------+
         |          |  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应用举例  
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
           +-----------+      +-----------+
           |   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协议数据格式  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

城域以太



============ 我是分割线 =============  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值