当前位置: 首页 > ds >正文

VRRP技术

一、课程目标

本课程围绕 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)展开,旨在帮助学习者达成以下目标:掌握 VRRP 的基本概念和工作原理;掌握 VRRP 报文和状态机;掌握 VRRP 的配置。

二、VRRP 的概念及应用场景

1. 什么是 VRRP

VRRP 是一种容错协议,其核心功能是将多个路由器加入到一个备份组中,共同形成一台虚拟路由器,由这台虚拟路由器承担网关功能。这一机制在提高网络可靠性的同时,还简化了主机的配置(主机只需将虚拟路由器设置为网关即可,无需因实际路由器变化而调整)。

例如,在一个局域网中,有 RTA 和 RTB 两台路由器,它们可以组成一个 VRRP 备份组,形成一个虚拟 IP 为 10.1.1.254 的虚拟路由器,PCA、PCB 等主机的网关都设置为 10.1.1.254,无需关注 RTA 和 RTB 的具体 IP。

2. 为什么需要 VRRP

在传统的单一网关架构中,若网关路由器出现故障,内网设备将无法访问外网,存在严重的单点故障风险。而 VRRP 通过备份组机制解决这一问题:只要备份组中还有一台路由器正常工作,虚拟路由器就能继续提供服务。

三、VRRP 的作用

VRRP 主要通过两种模式实现网络冗余和流量管理:

  • 主备备份:将多个路由器组成备份组,其中一台作为主路由器(Master)承担数据转发,其他作为备份路由器(Backup)处于监听状态。当主路由器故障时,备份路由器会自动接替工作,确保虚拟路由器正常运行。例如,VRID 1 的备份组中,优先级 110 的路由器为主路由器,优先级 100 的为备份路由器,主机网关均设置为虚拟 IP 10.100.10.1,主路由器故障后,备份路由器立即接管。
  • 负载分担:通过创建多个 VRRP 组(不同 VRID),让多台路由器在不同组中分别作为主路由器,同时承担业务,分担内网与外网之间的流量。例如,路由器 A 在 VRID 1 中为主路由器,在 VRID 2 中为备份路由器;路由器 B 则相反,这样 VLAN 1 的流量由 A 转发,VLAN 2 的流量由 B 转发,实现负载均衡。

四、VRRP 的相关概念

  1. VRRP 组(VRID):由多个路由器组成的集合,同一组内的路由器通过交互报文协同工作,每个组有唯一的 VRID 标识。

  2. 虚拟路由器:备份组形成的逻辑路由器,拥有虚拟 IP 和虚拟 MAC,是主机的网关。例如,VRID 1 的虚拟 IP 可以是 10.100.10.1,主机的网关均设置为该 IP。

  3. 虚拟 IP:虚拟路由器的 IP 地址,是主机配置的网关地址。

  4. 虚拟 MAC:虚拟路由器的 MAC 地址,格式为 0000-5E00-01XX(XX 对应 VRID)。当主机发送虚拟 IP 的 ARP 请求时,虚拟路由器用虚拟 MAC 响应。比如 VRID 为 10 的虚拟 MAC 是 0000-5E00-0110。

  5. 主路由器(Master):在 VRRP 组中实际转发数据包的路由器。它会激活虚拟 IP 和虚拟 MAC,并定期发送 VRRP 报文通告状态。

  6. 备份路由器(Backup):处于监听状态的路由器,当主路由器故障时,会接替成为主路由器。

  7. VRRP 优先级:用于选举主路由器的参数,8 位长度,默认值为 100,最高 255。优先级高的路由器当选为主路由器;优先级相同时,接口 IP 地址大的当选。同一 VRRP 组中只有一个主路由器和若干备份路由器。人为修改只能修改到254

例如,两台路由器在 VRID 10 中,A 的优先级是 120,B 的优先级是 100,则 A 为主路由器;若两者优先级都是 100,A 的接口 IP 是 10.10.10.2,B 是 10.10.10.3,则 B 为主路由器。

特殊优先级,当虚拟路由器IP地址设置为其中真实路由器的IP地址 ,那么这个路由器就叫IP地址拥有者,它的优先级就是255

五、VRRP 的工作原理

1. 选举过程

VRRP 组中的路由器通过比较优先级确定角色:优先级高的成为主路由器;优先级相同则比较接口 IP,IP 大的为主路由器。

2. 报文通告

主路由器会定期向广播域内发送 VRRP 组播报文(组播地址 224.0.0.18),默认通告间隔为 1 秒,用于告知其他路由器自己的状态。备份路由器不发送报文,仅接收主路由器的报文。

3. 故障切换

若备份路由器在 “MASTER_DOWN_TIMER”(通常为 3 个通告周期,即 3 秒)内未收到主路由器的报文,会认为主路由器故障,自动切换为主路由器。

4. 状态机

VRRP 路由器在备份组中可能处于以下状态:

  • Initialize(初始状态):路由器刚启动或接口关闭时的状态。
  • Master(主状态):主路由器的状态,负责转发数据、发送报文。
  • Backup(备份状态):备份路由器的状态,监听主路由器报文。

状态转换规则:例如,非 IP 地址拥有者(优先级 < 255)若收到优先级高于本地的报文,会进入 Backup 状态;若主路由器故障(3 个周期未收到报文),Backup 会转为 Master 状态。

5. ARP 响应

主路由器会激活虚拟 IP 和虚拟 MAC,当主机发送虚拟 IP 的 ARP 请求时,主路由器用虚拟 MAC 响应;备份路由器不参与 ARP 响应,也不接收目的 MAC 为虚拟 MAC 的报文。

六、VRRP 报文

1. 报文格式

包含版本、类型、虚拟路由器 ID(VRID)、优先级、IP 地址数量、认证类型、通告间隔、校验和、IP 地址列表等字段。

2. 关键特性

  • 虚拟 MAC 格式:00-00-5E-00-01-{vrid}(vrid 为 VRRP 组 ID)。
  • 组播地址:224.0.0.18,用于发送 VRRP 报文。

七、VRRP 的高级功能

1. 跟踪接口功能

当主路由器连接上行链路的接口出现故障时,它会主动降低自己的优先级,使备份组重新选举主路由器。例如,主路由器原本优先级 110,上行接口 down 后优先级降低 30 变为 80,此时优先级 100 的备份路由器会成为新的主路由器。

2. 抢占模式

  • 抢占模式:当备份路由器发现自己的优先级高于当前主路由器时,会立即取代其成为主路由器。例如,主路由器优先级降至 80,备份路由器优先级 100,且抢占模式开启,则备份会抢占为主。
  • 非抢占模式:即使备份路由器优先级更高,也不会取代当前主路由器,直到主路由器故障。

3. 刷新 MAC 表

当设备成为主路由器时,会发送应答型的无故 ARP,用于刷新交换机的 MAC 表,避免二层网络连通性问题(该功能是否默认开启因设备而异)。

八、VRRP+MSTP 部署配置案例

1. 应用场景

在三层交换机上部署 VRRP 实现网关备份及负载均衡,同时开启 MSTP(多生成树协议)避免环路,实现多实例负载均衡。

2. 配置逻辑

  • VRRP 配置:VLAN 1 的主网关是 SW-1(优先级 105),备份网关是 SW-2;VLAN 2 的主网关是 SW-2(优先级 105),备份网关是 SW-1,虚拟 IP 分别为 192.168.1.254 和 192.168.2.254。
  • MSTP 配置:实例 1 映射 VLAN 1,主根是 SW-1(优先级 4096),备根是 SW-2;实例 2 映射 VLAN 2,主根是 SW-2(优先级 4096),备根是 SW-1。

3. 状态检查

  • MSTP 状态:实例 1 的根桥在 SW-1,实例 2 的根桥在 SW-2。
  • VRRP 状态:SW-1 在 VLAN 1 中是 Master,VLAN 2 中是 Backup;SW-2 在 VLAN 1 中是 Backup,VLAN 2 中是 Master。

总结

本课程详细讲解了 VRRP 技术的概念、作用、工作原理、报文、状态机及配置案例。VRRP 通过虚拟路由器和备份组机制,有效解决了网关单点故障问题,提高了网络的可靠性;结合 MSTP 等技术,还能实现负载均衡,适用于各种需要高可用网关的网络场景。

http://www.xdnf.cn/news/16133.html

相关文章:

  • 基于springboot的医院管理系统(源码+论文+开题报告)
  • AWS RDS 排查性能问题
  • 【AI总结】网线技术演进史:从语音电缆到40Gbps的蜕变之路
  • 7.22总结mstp,vrrp
  • Android perfetto 工具使用
  • 浅谈——游戏中的各种配置格式
  • Excel file format cannot be determined, you must specify an engine manually.
  • 【音视频协议篇】RTMP协议
  • 一、Vue概述以及快速入门
  • [IMX][UBoot] 16.Linux 内核移植
  • 智算中心光纤线缆如何实现自动化计算?
  • 初识卷积神经网络CNN
  • (12)机器学习小白入门YOLOv:YOLOv8-cls 模型微调实操
  • 为何在 Vue 的 v-model 指令中不能使用可选链(Optional Chaining)?
  • 开发浏览器插件-保存页面元素数据为json或csv
  • 2.9学习DOM和BOM (主要是获取元素的操作)
  • 苍穹外卖DAY10
  • 如何用 LUKS 和 cryptsetup 为 Linux 配置加密
  • Flink框架:keyBy实现按键逻辑分区
  • Linux物理地址空间入门:从硬件到内核内存的基石
  • 网络设备功能对照表
  • Pytorch张量
  • 云原生技术与应用-Kubernetes Pod调度基础
  • jdk25浅谈
  • 深度学习-常用环境配置
  • 使用 Tailwind CSS 控制元素在移动端不显示
  • MySQL 核心知识点梳理(2)
  • C++ 分配内存释放内存
  • 深度学习 ---神经网络以及数据准备
  • 清理磁盘空间