虚拟路由冗余协议 (Virtual Router Redundancy Protocol, 简称 VRRP) 是由 IETF 提出的解决局域网中配置静态网关出现单点失效现象的路由协议, 1998 年已推出正式的 RFC2338 协议标准. VRRP 广泛应用在边缘网络中, 它的设计目标是支持特定情况下 IP 数据流量失败转移不会引起混乱, 允许主机使用单路由器, 以及及时在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性.
简介
VRRP 是一种选择协议, 它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台. 控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器, 它负责转发数据包到这些虚拟 IP 地址. 一旦主路由器不可用, 这种选择过程就提供了动态的故障转移机制, 这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器. 是一种 LAN 接入设备备份协议. 一个局域网络内的所有主机都设置缺省网关, 这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机, 从而实现了主机和外部网络的通信. [1]
VRRP 是一种路由容错协议, 也可以叫做备份路由协议. 一个局域网络内的所有主机都设置缺省路由, 当网内主机发出的目的地址不在本网段时, 报文将被通过缺省路由发往外部路由器, 从而实现了主机与外部网络的通信. 当缺省路由器 down 掉 (即端口关闭) 之后, 内部主机将无法与外部通信, 如果路由器设置了 VRRP 时, 那么这时, 虚拟路由将启用备份路由器, 从而实现全网通信.
在 VRRP 协议中, 有两组重要的概念: VRRP 路由器和虚拟路由器, 主控路由器和备份路由器. VRRP 路由器是指运行 VRRP 的路由器, 是物理实体; 虚拟路由器是指 VRRP 协议创建的, 是逻辑概念. 一组 VRRP 路由器协同工作, 共同构成一台虚拟路由器. 该虚拟路由器对外表现为一个具有唯一固定的 IP 地址和 Mac 地址的逻辑路由器. 处于同一个 VRRP 组中的路由器具有两种互斥的角色: 主控路由器和备份路由器, 一个 VRRP 组中有且只有一台处于主控角色的路由器, 可以有一个或者多个处于备份角色的路由器 VRRP 协议从路由器组中选出一台作为主控路由器, 负责 ARP 解析和转发 IP 数据包, 组中的其他路由器作为备份的角色并处于待命状态, 当由于某种原因主控路由器发生故障时, 其中的一台备份路由器能在瞬间的时延后升级为主控路由器, 由于此切换非常迅速而且不用改变 IP 地址和 Mac 地址, 故对终端使用者系统是透明的. [2]
VRRP 术语
1,Virtual Router
虚拟路由器, 一个抽象对象, 基于子网接口, 包括一个虚拟路由器标识符 (VRID) 和一个或多个 IP 地址, 这个(些)IP 地址又称为虚拟 IP 地址, 虚拟 IP 地址作为主机的默认网关.
2,VRRP Router
VRRP 路由器, 即运行 VRRP 协议的路由器, 一个 VRRP 路由器可以加入到一个或多个虚拟路由器中.
3,IP Address Owner
IP 地址拥有者, 虚拟路由器的虚拟 IP 地址与接口的真实 IP 地址相同的 VRRP 路由器.
4,Virtual Router Master
虚拟主路由器, 负责转发通过虚拟路由器的三层数据包, 对虚拟路由器的 IP 地址的 ARP 请求进行回应. 如果某个 VRRP 路由器是 IP 地址拥有者, 则它总是虚拟主路由器.
5,Virtual Router Backup
虚拟备份路由器, 不转发三层数据包, 不应答虚拟 IP 地址的 ARP 请求, 当虚拟主路由器出现故障时接替虚拟主路由器的工作. [3]
特点
1,IP 地址备份, VRRP 的主要功能. 可以在网络中提供多个 VirtuaI Router 选举的负载均衡以及在单一的网络中支持多重逻辑 IP 子网络.
2, 最优路径指示. 从 VRRP 组内多个路由器的路由中, 保证 Master 收敛到现成可用最优先的路由器.
3, 最小化不必要的服务中断. 在主路由正常工作期间, 不触发其他低优先级别路由器选择主路由的服务.
4, 广泛的安全性. 它可在多种不同的交互环境中采用不同的安全策略, 它只需极少的配置和开销就可以进行严格的验证.
5, 在可扩展网络有效的工作.
VRRP 状态机
协议对 VRRP 规定了 3 种状态: INITIALIZE,MASTER 和 BACKUP. 简单地说, INITIALIZE 即初始态,
VRRP 协议
MASER 即主用状态, 也就是在 VRRP 备份组中真正起作用的路由器, BACKUP 即备用状态, 是 MASTER 的备份. 对于不同状态的实现, 有如下要求:
(1)INITIALIZE:
路由器启动时, 如果路由器的优先级是 255(最高优先级, 当且仅当配置的 VRRP 虚拟 IP 地址和接口 IP 相同, 即所谓 IP 地址拥有者), 要发送 VRRP 通告信息, 并发送广播 ARP 信息通告路由器 IP 地址对应的 Mac 地址为路由虚拟 Mac, 设置通告信息定时器准备定时发送 VRRP 通告信息, 转为 MASTER 状态: 否则进入 BACKUP 状态, 设置定时器检查定时检查是否收到 MASTER 的通告信息.
(2)MASTER
主机状态下的路由器要完成如下功能:
●设置定时通告定时器;
●用 VRRP 虚拟 Mac 地址响应路由器 IP 地址的 ARP 请求;
●转发目的 Mac 是 VRRP 虚拟 Mac 的数据包;
●如果是虚拟路由器 IP 的拥有者, 将接受目的地址是虚拟路由器 IP 的数据包, 否则丢弃;
●当收到 shutdown 的事件时删除定时通告定时器, 发送优先值级为 0 的通告包, 转初始化状态;
●如果定时通告定时器超时时, 发送 VRRP 通告信息;
●收到 VRRP 通告信息时, 如果优先值为 0, 发送 VRRP 通告信息: 否则, 判断数据的优先级是否高于本机, 或相等而且实际 IP 地址大于本地实际 IP, 设置定时通告定时器, 复位主机超时定时器, 转 BACKUP 状态; 否则的话, 丢弃该通告包.
(3)BACKUP
备机状态下的路由器要实现以下功能:
●设置主机超时定时器;
●不能响应针对虚拟路由器 IP 的 ARP 请求信息;
●丢弃所有目的 Mac 地址是虚拟路由器 Mac 地址的数据包;
●不接受目的是虚拟路由器 IP 的所有数据包;
●当收到 shutdown 的事件时删除主机超时定时器, 转初始化状态;
●主机超时定时器超时的时候, 发送 VRRP 通告信息, 广播 ARP 地址信息, 转 MASTER 状态;
●收到 VRRP 通告信息时. 如果优先值为 0, 表示进入与 MASTER 选举, 否则判断数据的优先级是否高于本机, 如果高的话承认 MASTER 有效, 复位主机超时定时器; 否则的话, 丢弃该通告包.
选举机制
VRRP 使用选举机制来确定路由器的状态(Master 或 Backup). 运行 VRRP 的一组路由器对外组成了一个虚拟路由器, 其中一台路由器处于 Master 状态, 其他的处于 Backup 状态.
运行 VRRP 的路由器都会发送和接收 VRRP 通告消息, 在通告消息中包含了自身的 VRRP 优先级信息. VRRP 通过比较路由器的优先级进行选举, 优先级高的路由器将成为主路由器, 其他路由器都为备份路由器.
虚拟路由器和 VRRP 路由器都有自己的 lP 地址(虚拟路由器的 lP 地址可以和 VRRP 备份组内的某个路由器的接口地址相同). 如果 VRRP 组中存在 lP 地址拥有者, 即虚拟地址与某台 VRRP 路由器的地址相同时, IP 地址拥有者将成为主路由器, 并且拥有最高优先级 255. 如果 VRRP 组中不存在 IP 地址拥有者. VRRP 路由器将通过比较优先级来确定主路由器. 路由器可配置的优先级范围为 1~254, 默认情况下 VRRP 路由器的优先级为 100. 当优先级相同时, VRRP 将通过比较 IP 地址来进行选举, lP 地址大的路由器将成为主路由器. [4]
来源: http://www.bubuko.com/infodetail-3108424.html