网络基础(十一):VRRP原理与配置
目录
前言:
1、VRRP的基本概述
2、VRRP的基本原理
2.1VRRP的基本结构
2.2设备类型
2.3状态机
2.4VRRP路由器的抢占功能
2.5VRRP路由器的优先级
2.6VRRP工作原理
2.7主备路由器的工作内容
3、VRRP的基本配置
3.1配置主路由器和备用路由器
3.2配置PC1与PC2通信
前言:
终端设备访问不同网段设备的时候,必须经过网关。如果只有1个网关,那么网络就存在 单点故障,所以为了避免单点故障导致网络的通信中断, 所以,我们建议在一个网段中,可以同时添加多个网关,从而增加网关的冗余性和网络的可靠性; 但是,多网关的部署会带来其他的问题:
一是网关IP地址冲突,二是终端用户需要频繁的切换网关IP地址 。
针对上述两个问题,我们提出:在同网段的多个网关之间运行VRRP,形成1个虚拟网关,终端用户都配置和使用虚拟网关就可以了
1、VRRP的基本概述
- VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份
- 协议版本:VRRPv2 (常用)和VRRPv3:VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络
- VRRP协议报文:心跳线(Master状态的路由器能正常工作)
- 只有一种报文:Advertisement报文,其目的IP地址是224.0.0.18,目的MAC地址是01-00-5e-00-00-12,协议号是112
2、VRRP的基本原理
2.1VRRP的基本结构
注:VRRP主备路由器切换的情况
- 如果Master发生故障,则主备切换:Backup在Master_Down_Interval时间内未收到Master发送的状态通告报文,则立即成为Master
- 如果原Master故障恢复,则主备回切:发现收到RouterB的VRRP报文中的优先级比自己低,RouterA立即抢占成为Master
2.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:
相同在同一个组中 只有在同一个组中 才会 共享 虚拟ip 虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器VRRP报文格式VRRP只使用到advertisement这一种报文,VRRP使用ip报文作为传输协议报文,协议号为112,使用固定的组播地址224.0.0.18进行发送
⑤VRRP状态机:
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发那些发送到虚拟IP地址的报文
⑥Initialize:
设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理
2.3状态机
优先级:
- 默认0 - 255
- 0代表主路由器主动退出
- 255代表有设备和虚拟ip冲突
- 可手动配置1-254
- 优先级相同再比较接口IP地址大小,IP地址大的优先
- 优先级默认为100,缺省值是100
2.4VRRP路由器的抢占功能
VRRP设备的工作方式有如下两种:
- 抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master
- 非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备
2.5VRRP路由器的优先级
VRRP根据优先级来确定虚拟路由器中每台设备的角色(Master设备或Backup设备)。优先级越高,则越有可能成为Master设备。
初始创建的VRRP设备工作在Initialize状态,收到接口Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态,等待Master_Down_Interval定时器超时后再切换至Master状态。首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,进行Master的选举。
① 如果VRRP报文中Master设备的优先级高于或等于自己的优先级,则Backup设备保持Backup状态
② 如果VRRP报文中Master设备的优先级低于自己的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态
③ 如果多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备
④ 如果创建的VRRP设备为IP地址拥有者,收到接口Up的消息后,将会直接切换至Master状态
2.6VRRP工作原理
①虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务
②Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况
③如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master
④虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备
⑤Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master
2.7主备路由器的工作内容
当路由器处于Master状态时,它将会做下列工作:
-
定期发送VRRP报文
-
以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址
-
转发目的MAC地址为虚拟MAC地址的IP报文
-
如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文
-
如果收到比自己优先级大的报文则转为Backup状态
-
如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态
-
当接收到接口的Shutdown事件时,转为Initialize
当路由器处于Backup状态时,它将会做下列工作:
-
接收Master发送的VRRP报文,判断Master的状态是否正常
-
对虚拟IP地址的ARP请求,不做响应
-
丢弃目的MAC地址为虚拟MAC地址的IP报文
-
丢弃目的IP地址为虚拟IP地址的IP报文
-
Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址
-
当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master
-
当接收到接口的Shutdown事件时,转为Initialize
3、VRRP的基本配置
3.1配置主路由器和备用路由器
3.1.1新建拓扑,添加一个二层交换机、三个路由器、两个PC机,再连接它们对应的接口,最后开启这些设备
3.1.2设置PC1、PC2不同网络区域的IP地址和网关以及子网掩码
3.1.3配置路由器AR1与路由器AR2两个接口的IP地址与子网掩码
3.1.4配置AR1为主路由器、AR2为备用路由器
先配置主路由器AR1的虚拟网关,然后设置其优先级为120,再设置延迟抢占5s,最后设置监听主路由器AR1的上行端口g2
配置AR2的虚拟网关,默认其优先级为100,低于AR1的优先级120,成为备用路由器
3.1.5PC1能够ping通虚拟网关,才能证明上述步骤正确
在主路由器AR1上,输入“display vrrp”,查看前面我们配置的相应信息
在主路由器AR2上,输入“display vrrp”,查看前面我们配置的相应信息
3.1.6删除路由器AR1端口g1的线,查看主备路由器AR1和AR2是否发生变化
PC1依旧能ping通虚拟网关
当主路由器AR1线路故障后,变为初始化状态
当主路由器AR1线路故障后,备用路由器AR2启用成为主路由器
3.1.7删除路由器AR1端口g2的线,主备路由器AR1的上行端口g2故障,即查看主路由器的优先级是否减30,是否被关闭
3.2配置PC1与PC2通信
3.2.1设置路由器AR3各个端口的IP地址和子网掩码
3.2.2配置AR1、AR2、AR3的静态路由
配置静态路由的通用格式:ip route-static 目的网段 子网掩码 下一跳地址
配置AR3的两条静态路由,第二条作为备用
3.2.3检测PC1与PC2能否ping通,能则说明配置成功
相关文章:

网络基础(十一):VRRP原理与配置
目录 前言: 1、VRRP的基本概述 2、VRRP的基本原理 2.1VRRP的基本结构 2.2设备类型 2.3状态机 2.4VRRP路由器的抢占功能 2.5VRRP路由器的优先级 2.6VRRP工作原理 2.7主备路由器的工作内容 3、VRRP的基本配置 3.1配置主路由器和备用路由器 3.2配置PC1与P…...

设计模式——状态模式
引言 状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 问题 状态模式与有限状态机 的概念紧密相关。 其主要思想是程序在任意时刻仅可处于几种有限的状态中。 在任何一个特定状态中…...
2020-XNUCA babyv8
做的第一道存在指针压缩机制的V8题,通过小越界写修改length构造大越界读写,然后利用arraybuffer的backing store构造任意地址写,利用wasm rwx段地址的特点以及堆空间的分布,搜索到rwx段的具体地址,然后利用任意地址写将…...

货物数据处理pandas版
1求和 from openpyxl import load_workbook import pandas as pddef print_hi(name):# Use a breakpoint in the code line below to debug your script.print(fHi, {name}) # Press CtrlF8 to toggle the breakpoint.# Press the green button in the gutter to run the scr…...

MC-30A (32.768 kHz用于汽车应用的晶体单元)
MC-30A 32.768 kHz用于汽车应用的晶体,车规晶振中的热销型号之一。该款石英晶体谐振器,可以在-40 to 85 C的温度内稳定工作,能满足起动振动的要求。同时满足AEC-Q200无源元件质量标准认证,满足汽车仪表系统的所有要求。 频率范围…...

TrustZone之其他设备及可信基础系统架构
一、其他设备 最后,我们将查看系统中的其他设备,如下图所示: 我们的示例TrustZone启用的系统包括一些尚未涵盖的设备,但我们需要这些设备来构建一个实际的系统。 • 一次性可编程存储器(OTP)或保险丝 这些是一旦写入就无法更改的存储器。与每个芯片上都包含相同…...

自由编程学习资源:free-programming-books
最近,我发现了一个在GitHub上备受欢迎的项目,它为程序员和编程爱好者提供了丰富、免费且高质量的学习资料,这就是"free-programming-books"。目前,这个项目在GitHub上已经有305k的star,显示出它在开发者社区…...

饥荒Mod 开发(十三):木牌传送
饥荒Mod 开发(十二):一键制作 饥荒Mod 开发(十四):制作屏幕弹窗 一键传送源码 饥荒的地图很大,跑地图太耗费时间和饥饿值,如果大部分时间都在跑图真的是很无聊,所以需要有一个能够传送的功能,不仅可以快速…...

Qt/C++音视频开发60-坐标拾取/按下鼠标获取矩形区域/转换到视频源真实坐标
一、前言 通过在通道画面上拾取鼠标按下的坐标,然后鼠标移动,直到松开,根据松开的坐标和按下的坐标,绘制一个矩形区域,作为热点或者需要电子放大的区域,拿到这个坐标区域,用途非常多࿰…...
Java实现订单超时未支付自动取消的8种方法总结
Java实现订单超时未支付自动取消的8种方法总结 定时轮询 数据库定时轮询方式,实现思路比较简单。启动一个定时任务,每隔一定时间扫描订单表,查询到超时订单就取消。优点:实现简单。缺点:轮询时间间隔不好确定&#x…...

android动态权限申请并展示权限使用说明
# ExplainPermissions 动态权限申请并展示权限使用说明 随着工信部对APP的一系列整治,现在用户对于APP在使用时动态申请的权限是比较敏感的,为了更好的用户体验,我们可以在权限动态申请的时候一并向用户展示所需要申请权限的使用说明。这样用…...

论文阅读《DPS-Net: Deep Polarimetric Stereo Depth Estimation》
论文地址:https://openaccess.thecvf.com/content/ICCV2023/html/Tian_DPS-Net_Deep_Polarimetric_Stereo_Depth_Estimation_ICCV_2023_paper.html 概述 立体匹配模型难以处理无纹理场景的匹配,现有的方法通常假设物体表面是光滑的,或者光照是…...

docker文档转译1
写在最前面 本文主要是转译docker官方文档。主题是Docker overview,这里是链接 Docker概述 Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使你能够将应用程序与基础设施分离,从而可以快速交付软件。你可以使用相同的方法像管理应用程序…...

UE4 图片环形轮播 蓝图
【需求】 图片环形轮播 任意图片之间相互切换 切换图片所需时间均为1s 两个图片之间切换使用就近原则 播放丝滑无闪跳 【Actor的组成】 每个图片的轴心都在原点 【蓝图节点】...

饥荒Mod 开发(十):制作一把AOE武器
饥荒Mod 开发(九):物品栏排列 饥荒Mod 开发(十一):修改物品堆叠 前面的文章介绍了很多基础知识以及如何制作一个物品,这次制作一把武器,装备之后可以用来攻击怪物。 制作武器贴图和动画 1.1 制作贴图。 先准备一张武器的贴图&a…...

微服务实战系列之ZooKeeper(下)
前言 通过前序两篇关于ZooKeeper的介绍和总结,我们可以大致理解了它是什么,它有哪些重要组成部分。 今天,博主特别介绍一下ZooKeeper的一个核心应用场景:分布式锁。 应用ZooKeeper Q:什么是分布式锁 首先了解一下&…...
FFmpeg项目的组成
主要由三个部分组成: 工具 ffmpeg:用于音视频转码、转换ffplay:音视频播放器ffserver:流媒体服务器ffprobe:多媒体码流分析器 SDK 这个部分是供开发者使用的SDK,SDK是编译好的库。基本上每个平台都有对…...

计算机网络:数据链路层(广域网、PPP协议、HDLC协议)
今天又学会了一个知识,加油! 目录 一、广域网 二、PPP协议 1、PPP协议应满足的要求 2、PPP协议无需满足的要求 3、PPP协议的三个组成部分 4、PPP协议的状态图 5、PPP协议的帧格式 三、HDLC协议 1、HDLC的站(主站、从站、复合站&…...
Spring Boot i18n中文文档
本文为官方文档直译版本。原文链接 Spring Boot 支持本地化消息,因此您的应用程序可以满足不同语言偏好的用户。默认情况下,Spring Boot 会在类路径的根目录下查找是否存在消息资源包。 自动配置适用于已配置资源包的默认属性文件(默认为 mes…...
持久化存储 StorageClass
kubernetes从v1.4版本开始引入了一个新的资源对象StorageClass,用于标记存储资源的特性和性能。到v1.6版本时,StorageClass和动态资源供应的机制得到了完善,实现了存储卷的按需创建,在共享存储的自动化管理进程中能够实现了重要的…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...