Virtual Router Redundancy Protocol
1.单网关的缺陷
当网关路由器RA出现故障时,本网段以该设备为网关的主机都不能与Internet进行通信。
VRRP路由器( VRRP Router ) : 运行VRRP协议的设备,如RouterA和RouterB。
虚拟路由器( Virtual Router ) : 又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。 如RouterA和RouterB共同组成了一个虚拟路由器。
Master路由器( Virtual Router Master ) : 承担转发报文任务的VRRP设备,如RouterA.
Backup路由器( Virtual Router Backup) : - -组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备,如RouterB。
Priority :设备在备份组中的优先级,取值范围是0 ~ 255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时; 255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100。
vrid :虚拟路由器的标识,如图中RouterA和RouterB组成的虚拟路由器的vrid为1,需手工指定,范围1-255。
虛拟IP地址(Virtual IP Address) :虛拟路由器的IP地址, -一个虚拟路由器可以有一一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.254/24.
IP地址拥有者( IP Address Owner ) : 如果一个VRRP设备将真实的接口IP地址配置为虚拟路由器IP地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,则它将一直成为Master.
虚拟MAC地址( Virtual MAC Address ) : 虛拟路由器根据vrid生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为: 00-00-5E-00-01-{vrid}.当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如RouterA和RouterB组成的虚拟路由器的vrid为1 ,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01.
字段 | 长度 | 描述 |
---|---|---|
Version | 4比特 | 指VRRP协议版本,本文档定义版本号2。 |
Type | 4比特 | 定义了VRRP报文的类型。本版本的协议仅定义了一个报文类型: 1:ADVERTISEMENT 带有未知类型的报文必须被丢弃。 |
Virtual Rtr ID8 | 8比特 | 虚拟路由器标识(VRID)字段标识了此报文所报告状态的虚拟路由器。可配置的范围是1–255。没有缺省值。 |
Priority | 8比特 | Priority字段申明了发送此报文的VRRP路由器的优先级。值越高优先级越高。该字段为8位无符号整型。 如果VRRP路由器是虚拟路由器地址的IP地址所有者,那么其优先级必须为255。起备用作用的VRRP路由器的优先级必须在1–254之间。缺省的VRRP路由器优先级为100。 优先级值0 用于指示当前虚拟路由器的主路由器停止参与VRRP组。主要用于触发备用路由器快速地迁移到主路由器,而不用等待当前主路由器超时。 |
Count IP Addrs | 8比特 | 在此VRRP通告中包含的IP地址的数量。 |
Auth Type | 8比特 | 认证类型字段用于标识要用到的认证方法。在一个虚拟路由器组内认证类型是唯一的。认证类型字段是一个8位无符号整型。如果报文携带未知的认证类型或者该认证类型和本地配置的认证方法不匹配,那么该报文必须被丢弃。 目前定义的认证方法有: 0 - No Authentication 不认证 该认证类型表明VRRP协议报文的交换不需要认证。在发送VRRP协议报文时,Authentication Data 字段将被置为0;而在接收协议报文时,Authentication Data 字段被忽略。 1 - Reserved 保留 2 - Reserved 保留 说明: VRRP的早期版本 定义了一些认证类型[RFC2338]。这些认证类型的定义已经在本文档中被删除,因为根据实际经验表明,这些认证方法并不能提供任何真正的安全保障,并且仅会导致在一个VRRP组内出现多个Master的情况。 |
Adver Int | 8比特 | VRRP通告间隔时间,单位为秒。缺省为1秒。这个字段主要用于错误配置路由器时的故障定位和解决。 |
Checksum | 16比特 | 校验和字段用于检测VRRP消息的数据是否出错。 校验和是从version字段开始的整个VRRP消息的1的16位补码和。(RFC1071 描述了校验和的计算细节)。 |
IP Address | 32比特 | IP地址字段为虚拟路由器的一个或者多个IP地址。IP地址的数量在"Count IP Addrs"字段中说明。IP地址字段用于错误配置路由器时的故障定位和解决。 |
Authentication Data | 32比特 | 认证字符串仅仅用于对RFC2338的向后兼容。在发送VRRP报文时该字段应该被置为0,而在接收VRRP报文时该字段应该被忽略。 |
VRRP协议状态机有三种状态: Initialize (初始状态)、Master (活动状态)、Backup(备状态)。
三种状态的转换条件:
VRRP工作过程:
1.选举处Master:
2.Master设备状态的通告(VRRP备份组状态维持)
Master设备周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状况。Backup设备通过接收到的VRRP报文来判断Master设备是否工作正常。当Master设备 主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master_ Down_ Interval定时器超时。这个切换的时
间称为Skew_ Time ,计算方式为: ( 256 - Backup设备的优先级) /256 ,单位为秒。
当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到Master_ Down. Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master_ Down_ Interval定时器取值为: 3 xAdvertisement Interval +Skew_ Time ,单位为秒。
VRRP主备路由器切换过程
R1
#
interface GigabitEthernet0/0/1
ip address 10.1.1.1 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.10
vrrp vrid 1 priority 120
vrrp vrid 1 preempt-mode timer delay 30
vrrp vrid 1 track interface GigabitEthernet0/0/0 reduced 30
vrrp vrid 2 virtual-ip 10.1.1.20
#
return
R2
#
interface GigabitEthernet0/0/1
ip address 10.1.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.10
vrrp vrid 2 virtual-ip 10.1.1.20
vrrp vrid 2 priority 120
vrrp vrid 2 preempt-mode timer delay 30
vrrp vrid 2 track interface GigabitEthernet0/0/0 reduced 30
#
return
注:VRRP联动功能是建立在上层链路通的状态下