概述

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的值未多少,路由器均被禁止转发此地址为目的地址的报文。

报文格式:

img

格式说明:

字段 长度 说明
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(主状态)

    主路由器所处的状态