VRRP基本原理

2018年6月23日23:04:15

简介

VRRP(Virtual Router Redundancy Protocol 虚拟路由器冗余协议)的工作原理和HSRP非常类似,不过VRRP是国际标准,允许在不同厂商的设备之间的运行。VRRP中虚拟网关的地址可以和接口上的地址相同,VRRP中接口只有3个状态:初始状态(Initial)、主状态(Master)和备份状态(Backup)。

VRRP和HSRP比较:

VRRP

和HSRP一样,VRRP根据优先级来确定备份组中每台路由器的角色(Master路由器或Backup路由器)。优先级越高,则越有可能成为Master路由器。VRRP优先级的取值范围为0-255(数值越大表明优先级越高),可配置的范围是1-254,优先级0为系统保留给特殊用途来使用,优先级255则是系统保留给IP地址拥有者使用。当路由器为IP地址拥有者时,其优先级始终为255。因此,当备份组内存在IP地址拥有者时,只要其工作正常就为Master路由器。
VRRP的报文格式:

VRRP

①Version 版本:指示VRRP的版本信息。Cisco默认支持的是Version2。

②Type 包类型:只有一种类型,即Advertisement(VRRP通告报文),该字段取值为1。

③Virtual Rtr ID 虚拟路由ID:虚拟路由器号(即备份组号),取值范围为1-255。

④Priority 优先级:路由器在备份组中的优先级,取值范围为0-255,数值越大表明优先级越高。

⑤Count IP Addrs IP地址数:备份组虚拟IP地址的个数。1个备份组可对应多个虚拟IP地址。

⑥Auth Type 认证码:该值为0表示无认证,为1表示简单字符认证,为2表示MD5认证。

⑦Adver Int 通告时间间隔:发送通告报文的时间间隔。在VRRP Version2中单位为秒,默认值为1秒。

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

⑨IP address 虚拟IP地址:备份组虚拟IP地址表项。

⑩Authentication data 认证数据:验证字,目前只用于简单字符认证,对于其它认证方式一律填0。

VRRP的3个定时器:

通告时间间隔定时器(Advertisement Interval):VRRP备份组中的Master路由器会定时发送VRRP通告报文,通知

备份组内的路由器自己工作正常。用户可以通过设置VRRP定时器来调整Master路由器发送VRRP通告报文的时间

间隔。默认值为1秒。

时滞时间定时器:该值的计算方式为(256 - 优先级)/256,单位为秒。

主用失效时间间隔定时器(Master Down Interval):如果Backup路由器在等待了3个间隔时间后,依然没有收到

VRRP通告报文,则认为自己是Master路由器,并对外发送VRRP通告报文,重新进行Master路由器选举。Backup

路由器并不会立即抢占成为Master,而是等待一定时间(时滞时间)后,才会对外发送VRRP通告报文取代原来的

Master路由器。因此该定时器值 = 3 × 通告时间间隔 + (256 - 优先级)/256秒。

实验

命令:

R1(config)#track 100 int s0/0 line-protocol        //定义跟踪的目标100为s0/0接口的二层故障

R1(config-if)#vrrp 1 ip 192.168.13.254

R1(config-if)#vrrp 1 priority 120

R1(config-if)#vrrp 1 preempt

R1(config-if)#vrrp 1 authentication md5 key-string cisco

R1(config-if)#vrrp 1 track 100 decrement 30        //配置跟踪的目标

说明:VRRP端口跟踪和HSRP有些不同,它需要在全局配置模式下先定义跟踪目标,再配置VRRP中跟踪该目标。我们试验中路由器R1定义了目标100为跟踪s0/0接口的二层故障;R3定义了目标100为跟踪s0/1接口的二层故障。

VRRP

配置IP地址及路由:

R1(config)#int f1/0

R1(config-if)#ip add 192.168.13.1 255.255.255.0

R1(config-if)#no sh

R1(config)#int s0/0

R1(config-if)#ip add 192.168.12.1 255.255.255.0

R1(config-if)#no sh

R1(config)#router rip

R1(config-router)#network 192.168.12.0

R1(config-router)#network 192.168.13.0

R1(config-router)#passive-interface f1/0        //防止从该接口发送RIP信息给R3

R2(config)#int lo0

R2(config-if)#ip add 192.168.2.2 255.255.255.0

R2(config)#int s0/0

R2(config-if)#ip add 192.168.12.2 255.255.255.0

R2(config-if)#clock rate 128000

R2(config-if)#no sh

R2(config)#int s0/1

R2(config-if)#ip add 192.168.23.2 255.255.255.0

R2(config-if)#clock rate 128000

R2(config-if)#no sh

R2(config)#router rip

R2(config-router)#network 192.168.2.0

R2(config-router)#network 192.168.12.0

R2(config-router)#network 192.168.23.0

R3(config)#int f1/0

R3(config-if)#ip add 192.168.13.3 255.255.255.0

R3(config-if)#no sh

R3(config)#int s0/1

R3(config-if)#ip add 192.168.23.3 255.255.255.0

R3(config-if)#no sh

R3(config)#router rip

R3(config-router)#network 192.168.23.0

R3(config-router)#network 192.168.13.0

R3(config-router)#passive-interface f1/0

配置多个VRRP组:

R1(config)#track 100 int s0/0 line-protocol

R1(config)#int f1/0

R1(config-if)#vrrp 1 ip 192.168.13.254

R1(config-if)#vrrp 1 priority 120

R1(config-if)#vrrp 1 preempt

R1(config-if)#vrrp 1 authentication md5 key-string cisco

R1(config-if)#vrrp 1 track 100 decrement 30

R1(config-if)#vrrp 2 ip 192.168.13.253

R1(config-if)#vrrp 2 preempt

R1(config-if)#vrrp 2 authentication md5 key-string cisco

R3(config)#track 100 int s0/1 line-protocol

R3(config)#int f1/0

R3(config-if)#vrrp 1 ip 192.168.1.254

R3(config-if)#vrrp 1 preempt

R3(config-if)#vrrp 1 authentication md5 key-string cisco

R3(config-if)#vrrp 2 ip 192.168.1.253

R3(config-if)#vrrp 2 priority 120

R3(config-if)#vrrp 2 preempt

R3(config-if)#vrrp 2 authentication md5 key-string cisco

R3(config-if)#vrrp 2 track 100 decrement 30

实验调试

R1#show vrrp brief

VRRP

R1#show vrrp
VRRP

R3#debug vrrp        //当R1的F1/0接口关闭后,R3成为活动路由器过程中的debug信息

说明:由于我做到这里时不小心把路由器弄乱码了,debug就不截图了。希望大家见谅。


  • 更新时间:2018年6月23日23:04:15 ,共 3510 字。