VRRP协议

news2024/9/21 20:39:48

一.基本概念

1.概念

  • VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
  • 协议版本:VRRPv2(常用)和VRRPv3:
  • VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
  • VRRP协议报文:

        只有一种报文----Advertisement报文:

            其目的IP地址是224.0.0.18

            目的MAC地址是01-00-5e-00-00-12

            协议号是112。

2.基本结构

设备类型

主(master)路由器
通过比较VRRP优先级,优先级大的是master路由器;

周期性的发送VRRP报文,维护master路由器和备份路由器的身份;周期时间默认是1s; 备份

关,通过比较 VRRP 优先级,优先级小的是备份路由器;

备份(backup)路由器:
通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态;

如果在一定的时间内,收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路

由器;

这个“一定的时间”,默认是“master路由器发送VRRP的周期”的3倍,所以默认是 3s 。 

虚拟网关
通过VRRP虚拟出来的网关IP地址,这个网关IP地址,是配置在终端设备上的;

终端设备访问其他网段时,直接将数据发送给虚拟网关IP地址,

此时只有master路由器会回应针对虚拟网关IP地址的ARP请求,所以最终终端设备发送的数据

发送到了master路由器设备上

VRID
虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器
 


状态机

优先级

  • 默认0 - 255

  • 0 代表主要退出

  • 255代表 有设备和虚拟ip冲突

  • 可手动配置 1-254

  • 优先级相同会比较接口地址大的优先

  • 优先级默认为100

二.主备份过程

1.备份过程

①选出Master: 虚拟路由器中的路由器根据优先级选举出Master。选举出主备路由器后,Backup就不在发送报文;Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务;

②状态维持:Master每间隔1秒发送一个ARRP报文,Backup 始终监听Master,Backup一段时间内收不到Master的报文会成为主路由器。 

③如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master

在主发生故障的时,Backup在3秒没回成为主(此时间核优先级等设置有关)

  • 虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备。
  • Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master

④VRRP主备路由器切换过程

  • Backup在Master_Down_Interval时间内未收到Master发送的状态通告报文,则立即成为Master。

  • 发现收到RouterB的VRRP报文中的优先级比自己低,RouterA立即抢占成为Master。

2.负载均担

传统的主备方式流量都经由单个Master转发,Master负担过重

通过配置不同的备份组,使RouterB成为新备份组的Master,这样就可以分担网络中流量了

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

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

相关文章

netty-daxin-4(httpwebsocket)

文章目录 http服务端NettyHttpServerHelloWorldServerHandler 客户端ApiPost http 服务端 NettyHttpServer 可参考:GitHub上netty项目中的example包中的代码 import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.net…

PHPRunner 10.91 Crack

PHPRunner是一款非常好用的网页制作工具,界面简洁美观,支持处理多个数据库连接并添加设计页面,页面中可以显示不同的不相关对象,如网格,单个记录,图表,报告等。PHPRunner支持多个操作系统&#…

【Redis】Redis.conf详解

Redis.conf详解 启动的时候,就通过配置文件来启动! 工作中,一些小小的配置,可以让你脱颖而出! 单位 配置文件 unit单位 对大小写不敏感!include包含其他配置文件 就是好比我们学习Spring、Improt&#x…

知识付费小程序开发:技术实践示例

随着知识付费小程序的兴起,让我们一起来看一个简单的示例,使用Node.js和Express框架搭建一个基础的知识付费小程序后端。 首先,确保你已经安装了Node.js和npm。接下来,创建一个新的项目文件夹,然后通过以下步骤创建你…

闲人闲谈PS之四十九——PLM和SAP集成常见的问题

惯例闲话:天气突变,没想到珠三角也骤降了10几度,昨晚还吹风扇模式,早上起来一下子感觉丝丝凉意。闲人还是喜欢冬天,冷,能让人思维清晰,提高工作效率。趁着天气适宜,赶紧加班擦屁股去…

Gerrit 提交报错missing Change-Id in message footer

直接执行提示的命令: gitdir$(git rev-parse --git-dir); scp -p -P 29418 liyjgerrit.ingageapp.com:hooks/commit-msg ${gitdir}/hooks/ 如果报错: subsystem request failed on channel 0 在.git/hooks目录下看有没有生成commit-msg文件&#xff…

下午好~ 我的论文【CV边角料】(第三期)

文章目录 CV边角料Pixel ShuffleSENetCBAMGlobal Context Block (GC)Criss-Cross Attention modules (CC) CV边角料 Pixel Shuffle Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network pixelshuffle算法的实现流…

ES6 面试题 | 14.精选 ES6 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

opencv中叠加Sobel算子与Laplacian算子实现边缘检测

1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…

阿里云对象存储OSS外网流出流量异常增多导致费用上升的解决方法

本文介绍在使用阿里云的对象存储 OSS服务过程中,外网流量消耗异常增多并导致异常的费用支出这一情况的问题发现、问题定位与几种不同的问题解决方法。 细细数来,写博客已经有近3的历史了,这成为了一项已经陪伴我大半人生的工作;也…

论文阅读:PointCLIP V2: Prompting CLIP and GPT for Powerful3D Open-world Learning

https://arxiv.org/abs/2211.11682 0 Abstract 大规模的预训练模型在视觉和语言任务的开放世界中都表现出了良好的表现。然而,它们在三维点云上的传输能力仍然有限,仅局限于分类任务。在本文中,我们首先协作CLIP和GPT成为一个统一的3D开放世…

【Qt QML 入门】TextArea

TextArea也是一个多行文本编辑器。TextArea相比texttedit,增加了占位符文本,并添加了样式定义。 import QtQuick import QtQuick.Window import QtQuick.ControlsWindow {id: winwidth: 800height: 600visible: trueTextArea {id: taanchors.centerIn: …

for-each循环优先于传统的for循环

在大多数情况下,使用 for-each 循环(也称为增强型 for 循环)比传统的 for 循环更加简洁和方便。它提供了一种更直观的方式来遍历集合或数组中的元素。以下是一个例子,展示了 for-each 循环优于传统 for 循环的情况: i…

Vue中使用echarts@4.x中国地图及AMap相关API的使用

一、此 demo 实现的基本功能 1.中国地图的显示 2.地图点击下钻的功能 3.地图相关组件的使用,例 tooltip… 二、实现思路 初始使用下载本地的中国 geo 格式的 json 数据来绘制地图,点击某一区划(例:山东省)时&#xff0…

[渗透测试学习] Keeper - HackTheBox

信息搜集 nmap扫描一下端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.227发现有两个端口,22端口为ssh服务,80端口是http服务 尝试访问一下80端口 提示我们要访问tickets.keeper.htb/rt/,访问发现不行 那么把该域名添加到hosts里面 …

算法:程序员的数学读书笔记

目录 ​0的故事 ​一、按位计数法 二、不使用按位计数法的罗马数字 三、十进制转二进制​​​​​​​ ​四、0所起到的作用​​​​​​​ 逻辑 一、为何逻辑如此重要 二、兼顾完整性和排他性 三、逻辑 四、德摩根定律 五、真值表 六、文氏图 七、卡诺图 八、逻…

都有哪些大厂开始适配鸿蒙原生应用呢

12月8日,随着支付宝宣布启动鸿蒙原生应用开发以来,国内宣布接入鸿蒙原生应用开发的公司越来越多。事实上,自9月华为宣布鸿蒙原生应用全面启动以来,已有金融、旅行、社交等多个领域的企业和开发者陆续宣布加入鸿蒙生态,…

SpeechGPT领航:创新的130亿参数跨模态AI模型

引言 在人工智能的最新进展中,SpeechGPT以其130亿参数的规模和跨模态会话能力引起了业界的广泛关注。这一由复旦大学邱锡鹏教授团队开发的模型,不仅在技术层面上取得了重大突破,也为多模态人工智能(AI)的未来发展指明…

Unity 使用AddTorque方法给刚体施加力矩详解

给刚体施加力,除了使用AddForce方法,我们还可以使用AddTorque方法。该方法是通过施加力矩给刚体以力。AddTorque方法从形式上跟AddForce差不多,它也有4个重载方法: 1、AddTorque(Vector3 torque);使用Vector3类型参数…

Github详细使用教程

1. 什么是 Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有5…