VRRP技术(虚拟路由器冗余协议)

1. VRRP的概念及应用场景(优先级数值越大,越优先

       VRRP(虚拟路由器冗余协议)是 IETF(互联网工程任务组)提出的一种容错协议,主要用于解决局域网中网关单点故障的问题

       VRRP 通过把多个物理路由器逻辑上组合成一个虚拟路由器承担网关功能,该虚拟路由器拥有自己的 IP 地址和 MAC 地址

       局域网内的主机将虚拟路由器设置为默认网关,而虚拟路由器的工作则由多个物理路由器协同承担。当其中一个物理路由器出现故障时,其他路由器能够接替它继续工作,保证网络通信的连续性。

2. VRRP的作用

为什么需要VRRP?

       避免网关单点故障,确保网络的可靠性。

2.1 VRRP主备备份

       VRRP 主备备份通过多物理路由器组成虚拟路由器,主故障时备份自动接管,实现网关冗余,确保网络持续连通。

2.2 VRRP负载分担

       VRRP 负载分担通过多 VRID 构建多虚拟路由器,让不同物理路由器在不同虚拟组里当 “主”,同时承载流量,实现 “负载均分 + 冗余备份”,提升网关可靠性与链路利用率。

流量分担逻辑:

  • 连 VRID 1 虚拟 IP(10.100.10.1 )的主机,流量走左侧 Master 路由器;
  • 连 VRID 2 虚拟 IP(10.100.11.1 )的主机,流量走右侧 Master 路由器;
  • 某路由器故障时,另一路由器自动接管对应 VRID 业务,保障冗余。

3. VRRP的工作原理

3.1 VRRP的相关概念

①VRRP组之间的ID独立,不重复;

②每一个组都有一个虚拟路由器;主机会将虚拟路由器的IP地址设为网关地址。

3.2 VRRP优先级

         当某一个设备的IP地址和虚拟路由器的IP地址相同时,称它为IP地址拥有者,它的优先级最大(255),且不能修改

3.3 VRRP协议报文格式(网络层协议,协议号为112

  1. Version(版本字段):占用 4 比特,标识 VRRP 协议的版本号,目前常用的是 VRRPv2 和 VRRPv3 。VRRPv2 适用于 IPv4 网络,VRRPv3 对 IPv6 网络提供了支持。
  2. Type(类型字段):占用 4 比特,目前 VRRP 协议只有一种报文类型,即 Advertisement(通告报文),取值为 1。Master 路由器通过周期性发送通告报文来告知 Backup 路由器自己的状态。
  3. Virtual Rtr ID(虚拟路由器 ID 字段):占用 8 比特,简称 VRID,用于标识一个 VRRP 组。取值范围是 0 - 255,同一 VRRP 组内的路由器必须配置相同的 VRID,不同 VRRP 组的 VRID 不能相同。
  4. Priority(优先级字段):占用 8 比特,用于表示 VRRP 路由器在所属 VRRP 组中的优先级,取值范围是 0 - 255,默认值是 100 。优先级越高,越优先成为 Master 路由器。当 Master 路由器出现故障时,Backup 路由器会根据优先级重新选举新的 Master 路由器。
  5. Count IP Addrs(IP 地址数量字段):占用 8 比特,用来表示报文中所包含的虚拟 IP 地址的数量。
  6. Auth Type(认证类型字段):占用 8 比特,标识 VRRP 协议使用的认证方式,目前常用的认证方式有不认证(取值为 0 )、简单字符认证(取值为 1 )等。不过随着网络安全机制的发展,简单字符认证存在安全风险,逐渐被弃用。
  7. Adver Int(通告间隔字段):占用 16 比特,单位是秒,表示 Master 路由器发送 VRRP 通告报文的时间间隔。默认情况下,Master 路由器每隔 1 秒发送一次通告报文。
  8. Checksum(校验和字段):占用 16 比特,用于检测 VRRP 报文在传输过程中是否发生错误。接收方会根据校验和算法对收到的报文进行校验,如果校验和不匹配,则认为报文有误并丢弃该报文。
  9. IP address(虚拟 IP 地址字段) :根据 “Count IP Addrs” 字段的值,报文中会包含一个或多个虚拟 IP 地址。这些虚拟 IP 地址是 VRRP 组对外提供服务的 IP 地址,局域网内的主机将这些虚拟 IP 地址设置为默认网关。
  10. Authentication data(认证数据字段):长度为 64 比特,当 “Auth Type” 字段表示需要认证时,该字段携带认证相关的数据,如简单字符认证时的密码信息。如果 “Auth Type” 为不认证,则该字段无实际意义。
        ①VRRP协议报文是Master路由器组播的方式,定时发送的VRRP报文
       
        ②VRRP协议报文使用固定的组播地址224.0.0.18进行发送。
         
        ③虚拟路由器由LAN上唯一的Virtual Router ID标识。并具有虚MAC地址:00-00-5E-00-01-{vrid}

3.4 VRRP工作过程

① 主备选举:同 VRRP 组内,优先选优先级高的;优先级相同,选接口 IP 大的为主路由器(Master)。

② 主路由器职责:激活虚拟 IP,转发数据,每秒发组播报文(Adver Interval 默认 1 秒),通告自身状态。

③ 备份路由器逻辑:收报文、监状态,若 3 个通告周期(MASTER_DOWN_TIMER)没收到主路由器报文,自动升为 Master,保障网络不中断 。

3.5 VRRP协议状态机

(1)初始状态(Initialize)

           路由器启动或接口异常(如 接口Shutdown )时进入此状态,未参与主备选举。

(2)主用状态(Master)

进入条件

  • 满足 “IP 地址拥有者(接口 IP 与虚拟 IP 一致)且优先级为 255”,直接从 Initialize 切为 Master;
  • 场景 1:Master 超时未发报文(被动接管)

    当设备处于 Backup 状态 时,若持续收不到 Master 发送的 VRRP 报文,且等待时间超过:
    Master down 超时 = 3 个通告间隔(Adver Int) + VRRP 抢占延迟时间
    → 判定原 Master 故障,Backup 自动切换为 Master,接管流量转发。

  • 场景 2:收到更低优先级报文(主动抢占)

    当设备处于 Backup 状态 时,若收到 VRRP 报文,且满足:

    ①报文里的 PRI(优先级) < 本地配置的 PRI;

         ②且设备开启了 抢占模式(抢占模式为 True)
→ 直接触发抢占,Backup 切换为 Master,取代原 Master。

退出条件:

  • 接口 Shutdown;
  • 当设备处于 Master 状态 时,若收到 VRRP 协议报文,且满足以下任一情况:

           ①报文里的 PRI(优先级) > 本地配置的 PRI;

           ②报文里的 PRI = 本地 PRI,但报文携带的 接口 IP > 本地接口 IP;

       则设备会从 Master 状态切换为 Backup 状态,让更优的路由器成为新 Master,保障虚拟网关选路最优。

(3)备用状态(Backup)

进入条件:

  • 接口未 Shutdown;
  • 当设备处于 Master 状态 时,若收到 VRRP 协议报文,且满足以下任一情况:

           ①报文里的 PRI(优先级) > 本地配置的 PRI;

           ②报文里的 PRI = 本地 PRI,但报文携带的 接口 IP > 本地接口 IP;

       则设备会从 Master 状态切换为 Backup 状态,让更优的路由器成为新 Master,保障虚拟网关选路最优。

退出条件:

  • 接口 Shutdown; 
  • 场景 1:Master 超时未发报文(被动接管)

    当设备处于 Backup 状态 时,若持续收不到 Master 发送的 VRRP 报文,且等待时间超过:
    Master down 超时 = 3 个通告间隔(Adver Int) + VRRP 抢占延迟时间
    → 判定原 Master 故障,Backup 自动切换为 Master,接管流量转发。

  • 场景 2:收到更低优先级报文(主动抢占)

    当设备处于 Backup 状态 时,若收到 VRRP 报文,且满足:

    ①报文里的PRI(优先级) < 本地配置的 PRI;

         ②且设备开启了 抢占模式(抢占模式为 True)
→ 直接触发抢占,Backup 切换为 Master,取代原 Master。

3.6 VRRP选举之后,VRRP虚IP地址的ARP响应

VRRP 选举后,主、备路由器对虚 IP 及 ARP 响应有不同处理:
  • 主路由器:激活虚 IP(如 10.10.10.1 )及对应虚 MAC ,主机发虚 IP 的 ARP 请求时,用虚 MAC 响应 。
  • 备份路由器:不激活虚 IP 和虚 MAC ,既不响应虚 IP 的 ARP 请求,也不接收目的 MAC 为虚 MAC 的报文 。

       组网中,两台路由器通过 FastEthernet 0/0.10 子接口关联 VLAN10 ,配置虚 IP 10.10.10.1 ,主路由器(优先级 120 )承担 ARP 响应,保障主机以 10.10.10.1 为网关通信。

总结:

        VRRP 选举后,主路由器激活虚 IP 与虚 MAC 并响应 ARP ,备份路由器不参与虚 IP 相关 ARP 交互,通过分工保障网关冗余及网络通信 。

3.7 VRRP跟踪接口功能

       当 Master 路由器上行链路接口 Down 时,主动降低自身优先级,触发备份组重新选 Master,保障网络转发持续。 主路由器(优先级 110、虚 IP 10.100.10.1 )连 Internet 链路故障,优先级减 30 ,备份路由器(优先级 100 )可升级为主,维持网络连通。

3.8 VRRP 抢占

         VRRP(虚拟路由冗余协议 )抢占模式,设备默认常为抢占模式。网络里有 Master(主路由器,优先处理数据转发 )、Backup(备份路由器,主故障时顶上 )角色,靠优先级(Pri )区分,优先级高更易成 Master

流程演示:

  • 初始:左边路由器因 Pri = 110 > 右边 Pri = 100 ,成 Master ,右边是 Backup 。
  • 主路由器变化:左边 Master 优先级因某些情况(如链路问题 )减 30 ,变成 Pri = 80 。
  • 非抢占模式:右边路由器虽 Pri = 100 > 80 ,但因是非抢占,不主动抢 Master ,左边仍为(降级后的 )Master 。
  • 抢占模式:右边 Pri = 100 > 80 ,又因是抢占模式,就会去抢占,右边成为新 Master ,左边变为 Backup 。

核心逻辑:

       路由器使能 VRRP 后,依优先级定备份组角色;优先级变动时,抢占模式下,高优先级设备会重新竞争成为 Master ,非抢占模式则维持现有角色,保障网络冗余与流量转发。

3.9 VRRP 无故ARP刷新MAC表的机制

(1)触发条件:设备成为 VRRP 主路由器(Master )时,会立即发送 应答型无故 ARP

(2)核心作用:通过无故 ARP,让交换机更新 MAC 表,确保流量能正确发往新的主路由器,避免网络不通。

(3)特别注意:是否默认开启该功能,因厂家、设备、版本有差异;若用接口 MAC 发 VRRP 报文,却没开无故 ARP,会引发二层网络连通问题(比如流量还往旧主设备发 )。

总结:

       VRRP 主路由器切换时,新主会发无故 ARP 刷新交换机 MAC 表,保障流量转发;功能默认是否开启因设备有差异,若用接口 MAC 发 VRRP 报文,未开此功能会导致二层不通 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915789.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《每日AI-人工智能-编程日报》--2025年7月23日

介绍:AI:阿里开源通义千问 AI 编程大模型 Qwen3-Coder:7 月 23 日清晨,阿里开源全新的通义千问 AI 编程大模型 Qwen3-Coder,编程能力登顶全球开源模型阵营,并超越 GPT4.1 等闭源模型,比肩全球最…

网安-JWT

认证的方式:sessioncookie、jwt、tokenSession认证机制需要配合Cookie才能实现。由于 Cookie默认不支持跨域访问 ,所以,当涉及到前端跨域请求后端接口的时候,需要做 很多额外的配置,才能实现跨域Session认证。JWT(英文…

零基础学编程,编程从入门到精通系列教程,附:编程工具箱之时间计算构件的用法#零基础自学编程 学习计划#新手学编程 高效学习方法

前言: 对于正在学习编程的大学生、IT 人士或是编程爱好者而言,掌握正确的学习方法能让编程学习事半功倍。即便你是初学者,只要通过成百上千个实例练习,也能快速成长为编程高手。 全中文编程工具 易上手的基础特性 安装过程简单且…

Day01_C++编程

01.思维导图02.方法一&#xff1a;#include <iostream> #include <cstring> #include <iostream> using namespace std; class mystring { private:char* buf;int len;public:mystring(const char* str);void copy(const char* ptr);void copy(mystring ptr)…

lammps滚动模拟

大家好,我是小马老师。 本文介绍lammps中模型滚动的设置方法。 模型的滚动需要解决2个问题: (1)设置滚动旋转轴位置和方向,也就是确定沿哪个方向滚动。 (2)原地滚动还是在滚动过程中整体也要移动。 为保证滚动的平稳,旋转轴一般通过模型的质心,需要先计算模型的质…

增强LLM最后隐藏层的意义与效果

LLM 置信度增强:是否可以增强最后的隐藏层(非logits层) 表征工程是提取隐藏层状态表征,LLM的置信度增强是优化的logist数值 要回答“是否可以增强最后的隐藏层(非logits层)以及是否有意义”,需要结合大语言模型的结构特性、你当前的任务(情感分析)以及“隐藏层增强”…

根据数据判断神经网络所需最小参数量

更新中方法目标&#xff1a;找到能充分学习数据规律&#xff0c;但不过度拟合噪声的最小参数量。增量策略&#xff1a;优先增加深度&#xff08;层数&#xff09;&#xff1a;添加1个隐藏层&#xff08;如16神经元&#xff09;→ 训练验证再增加宽度&#xff08;神经元&#xf…

基于APEX系统自动曝光数学原理

目录 一、APEX系统 二、自动曝光概述 三、曝光估计及校正算法的实现 一、APEX系统 在美国国家标准中,将(4.22)式所表示的基本参数方程进行了变换,将他表示为以2 为底的指数形式,这样就可以用加法的形式来表达曝光参数方程式,称为加法系统,即 APEX(Additive System of Ph…

JAVA后端面试笔记

1.JAVA中和equals的区别 区别&#xff1a;一个是运算符&#xff0c;一个是方法 比较变量的值是否相同 ①如果比较的对象是基本数据类型&#xff0c;则比较数值是否相等 ②如果比较的是引用数据类型&#xff0c;则比较的是对象的内存地址是否相等 equals方法比较对象的内容是否…

在 Ubuntu 上将 Docker 降级到版本 25.0.5 (二) 降低版本,涉及兼容性问题

以下有免费的4090云主机提供ubuntu22.04系统的其他入门实践操作 地址&#xff1a;星宇科技 | GPU服务器 高性能云主机 云服务器-登录 相关兑换码星宇社区---4090算力卡免费体验、共享开发社区-CSDN博客 兑换码要是过期了&#xff0c;可以私信我获取最新兑换码&#xff01;&a…

什么是MySQL 视图

文章目录什么是MySQL 视图定义为什么使用视图创建/替换视图更新视图总结什么是MySQL 视图 定义 视图是一种虚拟表&#xff0c;是一个逻辑表&#xff0c;本身并不包含数据&#xff0c;通过select语句去基本表上动态生成数据。 举个例子&#xff1a; 你有一个员工表employees…

Neo4j 5.x版本的导出与导入数据库

neo4j的版本管理真的是灾难级别的&#xff0c;文档也乱&#xff0c;特定版本也难下&#xff0c;不同版本之间的命令存在很大差异&#xff0c;网上的很多资料都是Neo4j 4.x的&#xff0c;在此给出我自己试出来的5.x的导入导出方法使用前先关闭neo4j服务进入到neo4j安装目录的bin…

Java——深入解析 CGlib 与 JDK 动态代理:原理、区别与实践

在 Java 开发中&#xff0c;动态代理是实现 AOP&#xff08;面向切面编程&#xff09;的核心技术&#xff0c;广泛应用于日志记录、事务管理、权限控制等场景。其中&#xff0c;JDK 动态代理和 CGlib 是两种最常用的动态代理实现方式。本文将从原理、区别、使用场景等方面深入解…

变频器带动电机:全方位解析参数变化

在现代工业自动化领域&#xff0c;变频器作为电机调速的核心设备&#xff0c;扮演着至关重要的角色。它能够精准地控制电机的运行状态&#xff0c;通过改变电源频率和电压&#xff0c;实现电机转速、转矩、功率等参数的灵活调整。本文将深入探讨变频器带动电机时&#xff0c;各…

OpenCV 入门知识:图片展示、摄像头捕获、控制鼠标及其 Trackbar(滑动条)生成!

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

Elasticsearch是什么?

Elasticsearch&#xff08;简称ES&#xff09;是一种基于Lucene的分布式搜索引擎&#xff0c;广泛应用于大数据、日志分析、全文搜索等场景。它的核心是提供高效、可扩展的搜索和分析能力。ES 提供了强大的全文搜索、聚合分析、数据可视化等功能&#xff0c;可以用来快速地对海…

(Arxiv-2025)OmniGen2:通向先进多模态生成的探索

OmniGen2&#xff1a;通向先进多模态生成的探索 paper title&#xff1a;OmniGen2: Exploration to Advanced Multimodal Generation paper是BAAI发布在Arxiv 2025的工作 Code:链接 Abstract 在本研究中&#xff0c;我们提出了 OmniGen2&#xff0c;这是一种多功能、开源的生成…

期权到期会对大盘有什么影响?

本文主要介绍期权到期会对大盘有什么影响&#xff1f;期权到期对大盘的影响主要体现在以下几个方面&#xff0c;但整体影响通常有限且短期&#xff0c;具体效果需结合市场环境、期权规模及行权价位置综合判断。期权到期会对大盘有什么影响&#xff1f;1. 市场流动性波动到期日效…

【LeetCode刷题指南】--随机链表的复制

&#x1f525;个人主页&#xff1a;草莓熊Lotso &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言&#xff1a;生活是默默的坚持&#xff0c;毅力是永久的…

系统学习算法:专题十四 链表

前提知识&#xff1a;1.画图&#xff0c;数据结构相关的题&#xff0c;画图必不可少&#xff0c;只要能画出来&#xff0c;那么后面的代码就很容易能写出来&#xff0c;因为将抽象的数据结构转换为直观的图画2.引入虚拟头结点&#xff0c;也叫哨兵位&#xff0c;能够避免考虑很…