VRRP协议

一.基本概念

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.mzph.cn/news/228591.shtml

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

相关文章

【基于卷积神经网络的疲劳检测与预警系统的设计与实现】

基于卷积神经网络的疲劳检测与预警系统的设计与实现 引言数据集介绍技术与工具1. OpenCV2. TensorFlow3. 卷积神经网络(CNN) 系统功能模块1. 视频采集模块2. 图像预处理模块3. 人脸识别模块4. 疲劳程度判别模块5. 报警模块 系统设计创新点1. 实时监测与预…

【LeetCode刷题笔记(6-1)】【Python】【三数之和】【哈希表】【中等】

文章目录 引言三数之和题目描述示例示例1示例2示例3 提示 解决方案1:【三层遍历查找】解决方案2:【哈希表】【两层遍历】结束语 三数之和 引言 编写通过所有测试案例的代码并不简单,通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的…

【STM32】STM32学习笔记-EXTI外部中断(11)

00. 目录 文章目录 00. 目录01. 中断系统02. 中断执行流程03. STM32中断04. NVIC基本结构05. NVIC优先级分组06. EXTI简介07. EXTI基本结构08. AFIO复用IO口09. EXTI框图10. 计数器模块11. 旋转编码器简介12. 附录 01. 中断系统 中断:在主程序运行过程中&#xff0…

韩顺平学java第二阶段之BS框架002

这边讲了php都可以,反正就是打通双方的间隔就行了∑(っД;)っ卧槽,不见了

t-SNE高维数据可视化实例

t-SNE:高维数据分布可视化 实例1:自动生成一个S形状的三维曲线 实例1结果: 实例1完整代码: import matplotlib.pyplot as plt from sklearn import manifold, datasets """对S型曲线数据的降维和可视化"&q…

Web攻防07_文件上传基础_文件上传靶场upload-labs-docker

文章目录 项目安装安装docker进入项目目录:一键部署运行 靶场关卡1、前端JS验证如何判断是否为前端验证解法1:抓包解法2:禁用JS 2、.htaccess解法 3、MIME类型解法 4、文件头判断5、黑名单过滤-过滤不严-单次过滤为空格6、黑名单-过滤不严-系…

如何使用Composer安装和管理依赖?

Composer 是 PHP 中最流行的依赖管理工具,用于安装、升级和管理项目所需的依赖库。以下是使用 Composer 安装和管理依赖的基本步骤: 步骤 1: 安装 Composer 首先,确保你的系统上已经安装了 Composer。你可以在 Composer 的官方网站 上找到安…

Python生成器(Generator)(继续更新...)

学习网页: Welcome to Python.orghttps://www.python.org/https://www.python.org/ Python生成器 生成器(Generator)是 Python 的一种特殊类型的迭代器。生成器允许你创建自己的数据流,每次从数据流中获取一个元素,…

活动 | Mint Blockchain 将于 2024 年 1 月 10 号启动 MintPass 限时铸造活动

MintPass 是由 Mint Blockchain 官方发行的 Mint 网络和社区的 NFT 通行证,将在 2024 年 1 月份启动限时铸造活动。今天这篇文章会着重向大家介绍即将举办的 MintPass 活动的基础信息。 MintPass 有 2 种类型: 类型 1:Mint Genesis NFT Mint…

Unity中Shader URP 简介

文章目录 前言一、URP(Universal Render Pipeline)由名字可知,这是一个 通用的 渲染管线1、Universal(通用性)2、URP的由来 二、Build-in Render Pipeline(内置渲染管线)1、LWRP(Lig…

【JavaEE】多线程案例 - 定时器

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

TS Option类型与Promise

用专门的数据类型描述异常,能便于串联可能出错的操作。Option类型就是这张容器,在没有值时也能串联操作。 js中常用Promise来处理异步调用,本文将手动实现Promise的部分功能,来探索这个类型的处理逻辑。 1 处理错误 TS表示和处…

linux下解决 git clone每次都要输入用户名密码问题(推荐)

一条命令解决问题: git config --global credential.helper store使用此命令后还会需要输入一次用户名和密码,但是下一次就不需要了 1.在~/目录下多出两个文件.gitconfig 和.git-credentials ,用来记录你的密码和帐号 git config --global…

C语言:求和1+1/2-1/3+1/4-1/5+……-1/99+1/100

#include<stdio.h> int main() {int i 0;double sum 0.0;int flag 1;for (i 1;i < 100;i){sum 1.0 / i * flag;flag -flag;}printf("sum%lf\n", sum);return 0; }

设计模式——策略模式

引言 策略模式是一种行为设计模式&#xff0c; 它能让你定义一系列算法&#xff0c; 并将每种算法分别放入独立的类中&#xff0c; 以使算法的对象能够相互替换。 问题 一天&#xff0c; 你打算为游客们创建一款导游程序。 该程序的核心功能是提供美观的地图&#xff0c; 以…

10Maxwell 增量表首日全量同步

通常情况下&#xff0c;增量表需要在首日进行一次全量同步&#xff0c;后续每日再进行增量同步&#xff0c;首日全量同步可以使用Maxwell的bootstrap功能&#xff0c;方便起见&#xff0c;下面编写一个增量表首日全量同步脚本。 在~/bin目录创vim mysql_to_kafka_inc_init.sh …

【每日一题】使用最小花费爬楼梯

文章目录 Tag题目来源解题思路方法一&#xff1a;动态规划空间优化 写在最后 Tag 【动态规划空间优化】【数组】【2023-12-17】 题目来源 746. 使用最小花费爬楼梯 解题思路 方法一&#xff1a;动态规划 思路 假设数组 cost 的长度为 n&#xff0c;则 n 阶楼梯分别对应下标…

【数据库设计和SQL基础语法】--查询数据--分组查询

一、分组查询概述 1.1 什么是分组查询 分组查询是一种 SQL 查询技术&#xff0c;通过使用 GROUP BY 子句&#xff0c;将具有相同值的数据行分组在一起&#xff0c;然后对每个组应用聚合函数&#xff08;如 COUNT、SUM、AVG等&#xff09;。这允许在数据集中执行汇总和统计操作…

Python往事:ElementTree的单引号之谜

最近在针对某款设备的界面xml进行更新过程中&#xff0c;被告知回稿的字串放在了一个excel文件中&#xff0c;而我要上传到服务器的界面用语是用xml文件封装的。再经过详细求证了翻译组提供excel文件的原因后&#xff0c;我决定用python来完成界面用语xml的更新&#xff0c;但是…

OOD 异常GPT:使用大型视觉语言模型检测工业异常

paper link https://arxiv.org/abs/2308.15366video demo https://youtu.be/lcxBfy0YnNAgithub https://github.com/CASIA-IVA-Lab/AnomalyGPT在线使用 https://huggingface.co/spaces/FantasticGNU/AnomalyGPT 摘要 大型视觉语言模型&#xff08;LVLM&#xff09;如MiniGPT-4…