网络基础16--VRRP技术

一、VRRP核心概念

  1. 定义

    • 虚拟路由器冗余协议(VRRP,Virtual Router Redundancy Protocol),可以将多个路由器加入到备份组中,形成一台虚拟路由器,承担网关功能。

    • RFC 3768标准定义的VRRP是一种容错协议,在提高可靠性的同时,简化了主机的配置。    


二、 VRRP的作用

   

  • VRRP将可以将多个路由器加入到备份组中,形成一台虚拟路由器,承担网关功能
  •  只要备份组中仍有一台路由正常工作,虚拟路由器就仍然正常工作

    

  •  VRRP将多台路由器同时承担业务,形成多台虚拟路由器,分担内网与外网之间的流量

 三、VRRP工作原理

1. VRRP的相关概念

 

2. 优先级机制

  • 范围 0-255(默认100),优先级高者成为Master。

  • 特殊值255:分配给IP地址拥有者(接口IP=虚拟IP的路由器),直接成为Master。

  • 优先级相同时,接口IP大者胜出。

 

3. VRRP协议报文格式

  • VRRP协议报文是Master路由器以组播的方式,定时发送的VRRP报文。

  • VRRP协议报文使用固定的组播地址224.0.0.18进行发送。

 • 虚拟路由器由LAN上唯一的Virtual Router ID标识。并具有虚MAC地址:00-00-5E-00-01-{vrid}。

 

4.VRRP工作过程

VRRP组播报文通告:

   • 优先级高的选举为主路由器,优先级相同时接口IP大的为主路由器。

   • 主路由器激活虚拟IP地址,转发数据报文,并定期向广播域内发送VRRP组播报文通告自己的状态,定期通告时间(AdvertisementInterval)默认为1秒。

   • 备份路由器不发送但接收VRRP报文,在MASTER_DOWN_TIMER(一般为3个通告周期)内没有收到主路由器的VRRP报文,则备份路由器将成为主路由器。

    

 

5. VRRP协议状态机

      VRRP路由器在备份组内除Master和Backup状态外,还可能处于Initialize状态。

    

 

6. VRRP选举之后

模式特点应用场景
主备备份仅Master转发流量,Backup待命高可靠性要求场景
负载分担多VRRP组共存,不同Master承担不同流量(如VRID 1和VRID 2分别服务VLAN 1/2)带宽优化,避免单点性能瓶颈

 

 

7.VRRP跟踪接口功能

         当Master路由器连接上行链路的接口处于Down状态时,路由器主动降低自己的优先级,使得备份组内重新选择Master,承担转发任务。

 

 8.VRRP抢占

   当路由器使能VRRP功能后,会根据优先级确定自己在备份组中的角色。当优先级变化后,根据VRRP模式确认VRRP状态。

 9.刷新MAC表

VRRP协议报文

   • 当设备成为VRRP主路由器时,立即发送应答型的无故ARP,用于刷新交换机MAC表。

   • 该功能是否默认开启,因厂家、设备、版本不同而不同;当版本采用接口MAC作为源MAC发送VRRP报文时,如果未开启无故ARP,将出现二层网络连通性问题。


四、关键技术机制

  1. 状态机

    • Initialize → Backup → Master

    • 触发条件:

      • Master故障(超时未收到通告)

      • 优先级变化(抢占模式开启时)

  2. 抢占模式

    • 默认开启:优先级更高的Backup主动接管Master角色。

    • 关闭时:即使优先级更高,也需等待当前Master故障。

  3. 接口跟踪(Tracking)

    • 监视上行链路状态(如Internet接口)。

    • 接口故障时,Master自动降低优先级(如减少30),触发Backup接管。

  4. 无故ARP(Gratuitous ARP)

    • 新Master产生时广播ARP,刷新交换机MAC表,避免二层转发问题。


五、VRRP报文与协议细节

  • 报文格式

    • 版本(Ver)、类型(Type)、VRID、优先级(Priority)、通告间隔(Adver Int)等字段。

  • 发送规则

    • Master以组播地址224.0.0.18发送通告,默认间隔1秒。

    • Backup不发送报文,仅监听。


六、VRRP+MSTP综合部署案例

场景需求
  • 网关冗余:VLAN 1主网关SW-1(备SW-2),VLAN 2主网关SW-2(备SW-1)。

  • 链路冗余:MSTP避免环路,实现多实例负载均衡。

关键配置
  1. MSTP配置(SW-1/SW-2)

    spanning-tree mst configuration
    instance 1 vlan 1    # VLAN 1映射到实例1
    instance 2 vlan 2    # VLAN 2映射到实例2
    spanning-tree mst 1 priority 4096  # SW-1为VLAN 1主根,这时需要将2设为8192
    spanning-tree mst 2 priority 4096  # SW-2为VLAN 2主根,这时需要将1设为8192
  2. VRRP配置(SW-1)

    interface VLAN 1
    ip address 192.168.1.253 255.255.255.0
    vrrp 1 priority 105          # 更高优先级确保Master角色
    vrrp 1 ip 192.168.1.254      # 虚拟网关IP
    vrrp 1 track GigabitEthernet 0/46  # 跟踪上行接口
  3. VRRP状态验证

    SW-1# show vrrp brief
    VLAN 1  1  105  Master  192.168.1.253  192.168.1.254  # VLAN 1主网关
    VLAN 2  2  100  Backup  192.168.2.252  192.168.2.254  # VLAN 2备网关
设计优势
  • 流量优化:VLAN 1流量走SW-1,VLAN 2流量走SW-2,避免链路拥塞。

  • 故障切换

    • 若SW-1上行接口故障,优先级降为75,SW-2(优先级100)接管VLAN 1流量。

    • MSTP同步调整路径,确保拓扑无环。


七、总结

  • VRRP核心价值:提供网关冗余,保障业务连续性。

  • 最佳实践

    • 结合MSTP实现链路与网关双重冗余

    • 启用接口跟踪抢占功能提升故障响应速度。

    • 多VRRP组设计实现负载分担,优化资源利用率。

  • 注意事项

    • 确保物理链路与VRRP状态同步(如MSTP根桥与VRRP Master一致)。

    • 生产环境开启无故ARP避免二层转发问题。

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

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

相关文章

最长公共前缀-leetcode

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs [“flower”,“flow”,“flight”] 输出:“fl” 示例 2: 输入:strs [“dog”,“racecar”,…

vs2022:C++安装opencv

vs2022:C安装opencv https://opencv.org/releases/ 1.配置包含目录 2.配置库目录 3.配置连接器 4.配置环境变量 5.重新启动VS2015/VS2017 6.测试 1.配置包含目录 (头文件) 2.配置库目录(dll存放的库目录) 3.配置连接器(库) 4.配置环境变量 5.重新启动VS…

智联智造:国内新能源汽车品牌AGV小车无线控制系统创新实践

行业背景:智能制造浪潮下的通信刚需 在全球制造业智能化转型浪潮中,工业4.0技术已成为提升生产效率与产品质量的核心驱动力。国内某新能源汽车品牌作为智能制造的标杆企业,积极投身自动化设备与智能生产系统的革新。其中,无线控制…

QT6 源,七章对话框与多窗体(8) 消息对话框 QMessageBox :属性,信号函数,成员函数,以及静态成员函数,源代码带注释

(1)消息对话框里,分为通知消息,询问消息,提醒消息,错误消息。可以直接使用本类的静态函数,简单。但 QT 的官方说明里,建议使用动态成员函数组件的消息框,而非使用静态函数…

DAY 7|算法篇——栈与队列(及重温数组篇章有感)

今天本来应该写两道题把这一章节结束掉,奈何第二题前k个高频元素需要用的二叉树相关代码实在不会写(倒是能看懂)等我学完二叉树再把这道题亲自写一遍吧 今天工作量比较小,准备从第一天的任务开始把题目重新再做一遍 239. 滑动窗…

go语言基础与进阶

🚀 Go语言终极高手之路:从基础到架构的终极指南 Go语言,以其简洁的语法、卓越的性能和原生的并发模型,席卷了云原生和后端开发领域。然而,要真正驾驭Go,仅仅停留在会写if-else和for循环是远远不够的。真正的…

Oracle数据恢复—Oracle数据库所在分区被删除后报错的数据恢复案例

Oracle数据库数据恢复环境&故障: 一台服务器上一个分区存放Oracle数据库数据。由于管理员误操作不小心删除了该分区,数据库报错,无法使用。 北亚企安数据恢复工程师到达现场后,将故障服务器中所有硬盘以只读方式进行完整镜像。…

Prometheus+altermanager搭配钉钉报警

一、Prometheus介绍 Prometheus是一个开源系统监控和警报工具包,最初在 SoundCloud构建。自 2012 年成立以来,许多公司和组织都采用了 Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何…

【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序

【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序 【小白量化智能体】是指能够自主或半自主地通过与环境的交互来实现目标或任务的计算实体。智能体技术是一个百科全书,又融合了人工智能、计算机科学、心理学和经济学等多个领域的知识&a…

k8s的calico无法启动报错解决

报错信息[INFO][1] main.go 138: Failed to initialize datastore errorGet "https://10.245.0.1:443/apis/crd.projectcalico.org/v1/clusterinformations/default": dial tcp 10.245.0.1:443: connect: no route to host 2025-07-21 06:15:42.055 [FATAL][1] main.…

MySQL多表查询中的笛卡尔积问题

精选专栏链接 🔗 MySQL技术笔记专栏Redis技术笔记专栏大模型搭建专栏Python学习笔记专栏深度学习算法专栏 欢迎订阅,点赞+关注,每日精进1%,与百万开发者共攀技术珠峰 更多内容持续更新中!希望能给大家带来…

深度解析 HTML `loading` 属性:优化网页性能的秘密武器

在开发网页时,我常常被页面加载速度慢的问题困扰,尤其是在图片和嵌入内容较多的页面上。用户还没看到内容就可能因为等待时间过长而离开,这对用户体验和 SEO 都是致命打击。后来,我发现了 HTML 的 loading 属性——一个简单却强大…

[C/C++内存安全]_[中级]_[安全处理字符串]

场景 在现代C开发指南出来后,并不建议使用C的某些内存不安全的字符串处理函数。那么有哪些函数不安全? 说明 内存安全方面,肯定是要向Rust看齐的。使用标准std::string字符串类,很大情况能避免缓冲区溢出问题。 如果旧项目里有…

【CNN】卷积神经网络- part1

1.卷积1.局部连接定义:只是于输入数据的一部分区域相连,每个神经元只关注一小部分作用:模仿人类的视野机制,极大的减少了模型参数的数量,降低了计算成本2.权重共享定义:所有神经元使用相同的权重向量来检测…

漏洞生命周期管理:从发现到防护的全流程方案

漏洞并非孤立存在,而是遵循 “发现→评估→修复→验证→闭环” 的生命周期。多数企业安全事件的根源并非缺乏漏洞发现能力,而是对漏洞生命周期的管理缺失 —— 大量漏洞被发现后长期未修复,或修复后未验证效果。构建全流程漏洞生命周期管理体…

opencv图像基本操作解析与实操

图片操作cv2.namedWindow() 创建命名窗口cv2.imshow()显示窗口cv2.destroyAllwindws()摧毁窗口cv2.resizeWindow()改变窗口大小cv2.waitKey()等待用户输入cv2.imread()读取图像img.shape 图片h、w、c(高、宽、通道数import cv2 # opencv读取的格式是BGR import m…

kafka--基础知识点--6.1--LEO、HW、LW

在 Apache Kafka 中,LEO(Log End Offset)、HW(High Watermark)、和 LW(Low Watermark) 是副本机制和日志管理中的核心概念,共同确保数据一致性、可见性和存储效率。以下是它们的详细…

在线深凹槽深检测方法都有哪些 —— 激光频率梳 3D 轮廓检测

引言在制造业中,深凹槽深度的精确检测是保证零部件质量的关键环节。随着智能制造的推进,在线检测需求日益迫切,传统检测方法在效率和精度上的不足逐渐显现。本文将梳理在线深凹槽深的传统检测方法,并重点探讨激光频率梳 3D 轮廓检…

NumPy 数组拼接的高级技巧与实践

在数据处理和机器学习领域,NumPy 是 Python 中最核心的科学计算库之一。NumPy 数组(ndarray)的拼接操作是数据预处理中极为常见的需求。本文将深入探讨如何将不同形状的 NumPy 数组进行拼接,特别是如何将多个一维数组与二维数组进…

原创-基于 PHP 和 MySQL 的证书管理系统 第三版

第一版属于开源版本,所以后台功能没有开发许多出来,今天分享证书查询第三版; 通过几天的紧急写代码及测试;第三版基本可以上线上,不过后面有一些BUG只能一边修复。 演示地址:物星科云证书管理系统 第三版…