概述
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)。可以使多台同属于同一个广播域的网络设备能够协同工作,实现设备冗余,提高网络的可靠性。
版本:
- VRRPv2:仅适用于IPv4网络
- VRRPv3:适用于IPv4及IPv6网络
基本概念
1. VRRP路由器
将运行VRRP的路由器成为VRRP路由器。当路由器启动VRRP功能后,会产生一台虚拟路由器。VRRP是配置在路由器的接口中,同时也是基于接口进行工作的。当激活VRRP时,路由器的接口编开始发送和侦听VRRP协议报文。
注意:协同工作的VRRP路由器必须属于同一个广播域,否则VRRP报文无法正常进行交互。
2. VRRP组及VRID
一个VRRP组(VRRP Group)是由多台协同工作的路由器组成,使用相同的VRID(Virtual Router Identifier,虚拟路由器标识符)进行标识。
一个VRRP组只能出现一个Master设备
- 属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟路由器
- 一个接口可以加入单个VRRP组,也可以加入多个VRRP组
- 不同VRRP组通过不同的VRID 进行区分
3. 虚拟路由器、虚拟IP地址及虚拟MAC地址
- 虚拟路由器:
- 由VRRP虚拟出的逻辑设备。非真实存在的物理设备。
- 一个VRRP组仅会产生一台虚拟路由器
- 虚拟IP地址:
- 虚拟路由器的IP地址,由网络管理员配置VRRP时指定,通常作为网关IP地址。
- 一台虚拟路由器可以有一个或多个IP地址
- 通常情况下,虚拟IP地址不会与接口IP地址重叠
- 当某台虚拟路由器的接口IP地址用于虚拟路由器时,该虚拟路由器将无条件成为Master (当Master Down时,backup会接管这个IP地址)
- 虚拟MAC地址:
- 格式:0000-5e00-01xx,其中xx为VRID,如:当VRID 为1时,虚拟MAC 地址为:0000-5e00-0101
- 当master路由器收到请求虚拟路由器MAC地址的ARP Requests时,在ARP Reply中回应的MAC地址为虚拟MAC地址
4. Master路由器、Backup路由器
- Master路由器:
- 主路由器,接口处于Master状态
- 承担报文转发任务
- 只有Master才会响应针对虚拟IP地址的ARP Request,以虚拟MAC地址进行回应
- 转发目的MAC地址为虚拟MAC地址的报文
- 在一定时间间隔中,发送ARRP报文,以通知其他路由器关于自己的存活状态
- Backup路由器:
- 备份路由器
- 实时侦听Master路由器发送的VRRP报文
- 对关于VRRP虚拟IP地址的ARP请求不予回应
- 丢弃目的MAC地址为VRRP虚拟MAC地址的数据帧
- 不接收目的IP地址为VRRP虚拟IP地址的数据包
- 选举条件:
- 优先级越大,越有可能成为Master路由器
- 相同优先级,接口IP地址越大,越有可能成为Master路由器
工作机制
1. 报文格式
VRRP 定义了一种报文格式,即通告报文。被封装在IP报文中。IP头部协议号字段值为112,报文的目的IP地址为组播地址224.0.0.18。
备注:224.0.0.18为本地范围的多播地址,不论TTL的值未多少,路由器均被禁止转发此地址为目的地址的报文。
报文格式:
格式说明:
字段 | 长度 | 说明 |
---|---|---|
Version | 4 | 指定VRRP协议版本 |
Type | 4 | 定义VRRP报文类型。该字段值恒为1 |
虚拟路由器ID(VRID) | 8 | 虚拟路由器的标识符,取值范围1-255 |
Priority(优先级) | 8 | 该值越大,则VRRP优先级越高,越有可能成为Master,取值范围0-255 255:当VRRP路由器是虚拟路由器IP地址的所有者时,优先级必须为255 0:用于指示当前虚拟路由器的主路由器停止参与VRRP组 |
IP地址个数 | 8 | VRRP组中虚拟IP地址的个数。 |
Auth Type(认证类型) | 8 | 该字段为0时,表示无认证 该字段为1时,表示明文认证方式 该字段为2时,表示MD5认证方式 |
Adver Int(通告间隔) | 8 | VRRP报文的发送时间间隔(单位秒) |
校验和 | 16 | 用于检测VRRP消息的数据是否出错 校验和是从version字段开始的整个VRRP消息的1的16位补码和 |
2. 状态机
初始状态(initialize)
是VRRP的初始状态。在接口配置VRRP后,如果该接口是Down的,那么该接口的VRRP状态将会停滞在Initailize状态
Backup(备份状态)
备份路由器所处的状态
Master(主状态)
主路由器所处的状态