CCIE思科教育培训 CCIE培训

VRRP路由器冗余协议的原理与应用

(一)、原理

1. 前言
       VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简化了一些功能。
2. 协议说明
    2.1 协议
      VRRP协议是为消除在静态缺省路由环境下的缺省路由器单点故障引起的网络失效而设计的主备模式的协议,使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数。VRRP协议需要具有IP地址备份,优先路由选择,减少不必要的路由器间通信等功能。
      VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该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;否则如果不具备虚拟IP的话,将进行MASTER选举,各路由器都宣告自己是MASTER,发送VRRP通告信息,如果收到其他机器的发来的通告信息的优先级比自己高,将转回BACKUP状态,如果相等的话,将比较路由器的实际IP,IP值较大的优先权高。不过如果对外的虚拟路由器IP就是路由器本身的IP的话,该路由器始终将是MASTER,这时的优先级值为255。
      2.3 协议状态机
VRRP协议状态比较简单,就三种状态,初始化,主机,备份机。
                      +---------------+
           +--------->|               ||               |
   |    Master     |                       |    Backup     |
   |               |
初始化:
     路由器启动时,如果路由器的优先级是255(最高优先级,路由器拥有路由器地址),要发送VRRP通告信息,并发送广播ARP信息通告路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器准备定时发送VRRP通告信息,转为MASTER状态;否则进入BACKUP状态,设置定时器检查定时检查是否收到MASTER的通告信息。
主机:
www.it165.net
    主机状态下的路由器要完成如下功能:
设置定时通告定时器;
用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 ---------->*            *
      这是通常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。
     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地址的拥有者
   -  必须验证VVRP认证类型和配置的一致;
4. 结论
      VRRP实现了对路由器IP地址的冗余功能,防止了单点故障造成的网络失效,VRRP本身是热备形式的,但可以通过互相热备实现路由器的均衡处理,新版的VRRP较老版简化了认证处理,实际不再进行数据的认证,这是因为在实际应用中经常出现认证成为造成多个MASTER同时使用的异常情况

(二)、案例

1、案例一 思科

      1)拓扑

 


 

    2) 配置:

R1:

interface FastEthernet0/0.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
ip nat inside
vrrp 1 ip 192.168.10.1

interface FastEthernet0/0.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
ip nat inside
vrrp 2 ip 192.168.20.254

interface FastEthernet2/0
ip address 10.10.10.1 255.255.255.252
ip nat outside


ip route 0.0.0.0 0.0.0.0 10.10.10.2


access-list 20 permit 192.168.0.0 0.0.255.255

ip nat inside source list 20 interface FastEthernet2/0 overload

 

R2:

interface FastEthernet0/0.10
encapsulation dot1Q 10
ip address 192.168.10.254 255.255.255.0
ip nat inside
ip virtual-reassembly
vrrp 1 ip 192.168.10.1


track 1 interface fastEthernet 2/0 line-protocol   建立跟踪组
interface FastEthernet0/0.20
encapsulation dot1Q 20
ip address 192.168.20.254 255.255.255.0
ip nat inside
ip virtual-reassembly
vrrp 2 ip 192.168.20.254
vrrp 2 track 1 de 160                                应用跟踪组并作出动作


interface FastEthernet2/0
ip address 20.20.20.1 255.255.255.252
ip nat outside


ip route 0.0.0.0 0.0.0.0 20.20.20.2


access-list 20 permit 192.168.0.0 0.0.255.255
ip nat inside source list 20 interface FastEthernet2/0 overload

 

 

R3:

interface Loopback1
ip address 100.100.100.100 255.255.255.0
     
interface FastEthernet0/0
ip address 20.20.20.2 255.255.255.252

interface FastEthernet2/0
ip address 10.10.10.2 255.255.255.252

 

 

SW1:

interface FastEthernet1/1 - 2
switchport mode trunk
channel-group 1 mode on


interface FastEthernet1/3 - 5
switchport access vlan 20

interface range FastEthernet1/6 - 8
switchport access vlan 10

interface FastEthernet1/11
switchport mode trunk


interface Vlan1
no ip address

interface Vlan10
ip address 192.168.10.100 255.255.255.0

ip route 0.0.0.0 0.0.0.0 192.168.10.1

 

SW2:

interface range FastEthernet1/1 -2
switchport mode trunk
channel-group 1 mode on


interface range FastEthernet1/3 - 5
switchport access vlan 10

interface range FastEthernet1/6 - 8
switchport access vlan 20


interface FastEthernet1/12
switchport mode trunk

2、案例二

      1)拓扑:

 


 

    2) 实验要求:

      1、 R14和R5上运行vrrp使得vlan10从R14访问外网,使得vlan20从R5访问外网

      2、 R14和R5上运行nat实现内网用户访问外网

      3、 在R14和R5上配置单臂路由实现vlan间通信

      4、 SW4和SW6上有vlan10和vlan20,f0/1和f0/2是链路聚合

   3) 配置:

R5:

interface Ethernet0

ip address 192.168.101.5 255.255.255.0

 

interface Ethernet1.10

vlan-type dot1q vid 10

ip address 192.168.10.254 255.255.255.0

vrrp vrid 10 virtual-ip 192.168.10.1

 

interface Ethernet1.20

vlan-type dot1q vid 20

ip address 192.168.20.254 255.255.255.0

vrrp vrid 20 virtual-ip 192.168.20.254

vrrp vrid 20 track Serial1 reduced 160

 

acl 2000 match-order auto

rule normal permit source any

interface Serial1

ip address 20.20.20.1 255.255.255.0

nat outbound 2000 interface

 

R14

interface Ethernet1.10

vlan-type dot1q vid 10

ip address 192.168.10.1 255.255.255.0

vrrp vrid 10 virtual-ip 192.168.10.1

vrrp vrid 10 track Serial0 reduced 200

 

interface Ethernet1.20

vlan-type dot1q vid 20

ip address 192.168.20.1 255.255.255.0

vrrp vrid 20 virtual-ip 192.168.20.254

[r14-Ethernet1.20]vrrp vrid 20 virtual-ip 192.168.20.254

检测,如果网络端口,自己

[r14-Ethernet1.10]vrrp vrid 10 track s0 reduced 200

 

 

interface Serial0

ip address 10.10.10.1 255.255.255.0

[r14-Serial0]nat outbound 2000 interface

[r14]ip route-static 0.0.0.0 0.0.0.0 10.10.10.2

 

ISP路由的配置

interface Serial0

ip address 10.10.10.2 255.255.255.0

 

interface Serial1

ip address 20.20.20.2 255.255.255.0

 

interface LoopBack1

ip address 192.168.100.100 255.255.255.0

 

s4:

vlan 10

vlan 20

 

interface Vlan-interface1

ip address 192.168.101.24 255.255.255.0

 

link-aggregation group 1 mode manual

interface Ethernet1/0/1

port link-type trunk

port trunk permit vlan all

port link-aggregation group 1

 

interface Ethernet1/0/2

port link-type trunk

port trunk permit vlan all

port link-aggregation group 1

 

interface Ethernet1/0/3

port link-type trunk

port trunk permit vlan all

 

interface Ethernet1/0/4

port access vlan 10

 

interface Ethernet1/0/5

port access vlan 10

 

interface Ethernet1/0/6

port access vlan 10

 

interface Ethernet1/0/7

port access vlan 10

 

interface Ethernet1/0/8

port access vlan 10

 

interface Ethernet1/0/9

port access vlan 10

 

interface Ethernet1/0/10

port access vlan 10

 

interface Ethernet1/0/11

port access vlan 20

 

interface Ethernet1/0/12

port access vlan 20

 

interface Ethernet1/0/13

port access vlan 20

 

interface Ethernet1/0/14

port access vlan 20

 

interface Ethernet1/0/15

port access vlan 20

 

S6:

link-aggregation group 1 mode manual

 

vlan 10

vlan 20

 

interface Vlan-interface1

ip address 192.168.101.26 255.255.255.0

 

interface Aux1/0/0

 

interface Ethernet1/0/1

port link-type trunk

port trunk permit vlan all

port link-aggregation group 1

 

interface Ethernet1/0/2

port link-type trunk

port trunk permit vlan all

port link-aggregation group 1

 

interface Ethernet1/0/3

port link-type trunk

port trunk permit vlan all

 

interface Ethernet1/0/4

port access vlan 10

 

interface Ethernet1/0/5

port access vlan 10

 

interface Ethernet1/0/6

port access vlan 10

 

interface Ethernet1/0/7

port access vlan 10

 

interface Ethernet1/0/8

port access vlan 10

 

interface Ethernet1/0/9

port access vlan 10

 

interface Ethernet1/0/10

port access vlan 10

 

interface Ethernet1/0/11

port access vlan 20

 

interface Ethernet1/0/12

port access vlan 20

 

interface Ethernet1/0/13

port access vlan 20

 

interface Ethernet1/0/14

port access vlan 20

 

interface Ethernet1/0/15

port access vlan 20

 


Tags:

发布: admin 分类: CCIE思科 评论: 0 浏览: 172
留言列表
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。