HSRP和VRRP
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)
是一种网络层的容错协议,主要用于在多台路由器之间提供默认网关冗余。在IP网络中,当一个子网有多个路由器时,VRRP可以确保在主用路由器失效的情况下,备份路由器能够立即接管主用路由器的工作,从而保持网络通信的连续性和稳定性。
工作原理:
1. 虚拟路由器:VRRP将一组物理路由器组合成一个逻辑上的虚拟路由器,该虚拟路由器拥有一个虚拟IP地址和MAC地址,被网络中的主机配置为默认网关。
2. 角色选举:参与VRRP组的路由器根据优先级选举出一台主路由器(Master),它负责转发数据包;其它路由器作为备用路由器(Backup)。优先级可以通过配置进行设置,优先级高的路由器成为主路由器。
3. 心跳机制:主路由器定期发送VRRP通告报文以通知其他路由器其状态正常。如果备用路由器在预设时间内没有收到主路由器的通告,则会认为主路由器出现故障,并按照优先级顺序自动成为新的主路由器。
4. 快速切换:一旦主路由器发生故障,备份路由器能够迅速承担起转发流量的角色,从而在网络中实现近乎无缝的切换,确保了即使主路由器宕机,网络连接也不会中断。通过这种方式,VRRP协议有效提高了网络可用性,特别是在企业内部网络、数据中心以及对高可用性要求较高的场景中应用广泛。
HSRP(Hot Standby Router Protocol, HSRP,热备份路由协议)
是一种为IPv4网络设计的虚拟路由器冗余协议,主要用于解决单点故障问题,确保在主路由器出现故障时,能迅速切换到备用路由器以维持网络连通性。
工作原理:
1. 虚拟路由器概念: HSRP将一组物理路由器抽象成一个逻辑上的虚拟路由器。这个虚拟路由器拥有一个虚拟IP地址(又称共享IP或组播IP)和一个虚拟MAC地址。网络中的主机配置这个虚拟IP作为默认网关,而不是实际路由器的IP地址。
2. 角色选举: 在HSRP组内的路由器根据优先级进行主备路由器的角色选举。优先级最高的路由器成为活动路由器(Active Router),负责转发数据包;次高的则成为备用路由器(Standby Router)。如果活动路由器失效,备用路由器会立即接管其职责。
3. 心跳机制: HSRP路由器之间通过发送HSRP消息来维护通信,这些消息用于状态通告、优先级更新以及确认成员资格。如果活动路由器停止发送心跳信息,备用路由器就会检测到这一点,并根据预先设定的规则变为活动状态。
4. 状态转换: HSRP有多种状态,如初始化、学习、监听、发言和活动等。当活动路由器发生故障时,备用路由器会从监听或发言状态转变为活动状态,并开始使用虚拟IP地址响应ARP请求,从而保证网络流量的无缝切换。
5. 安全性: 为了防止未经授权的路由器参与HSRP组,可以设置认证机制,确保只有知道正确密码的路由器才能加入并参与选举过程。
总结来说,HSRP协议通过对多台路由器进行虚拟化整合,并通过心跳机制实现快速故障转移,确保了即使第一跳路由器出现故障,源主机也能继续通过备用路由器进行通信,保持网络服务不中断。
HSRP和VRRP区别:
1. 功能上的差异:
•HSRP(Hot Standby Router Protocol)在Cisco设备中,不支持将虚拟路由器的IP地址设置为物理接口的实际IP地址,而在VRRP(Virtual Router Redundancy Protocol)中,主路由器可以使用其物理接口的IP地址作为虚拟IP地址。
•VRRP相较于HSRP在安全性上有一定提升,例如VRRP支持认证机制,允许参与VRRP组的设备间建立安全通信,而HSRP早期版本对安全性支持较弱,但后来的HSRPv2也引入了认证功能。
2. 状态机和选举机制:
•HSRP有6种状态(Initial、Learn、Listen、Speak、Standby、Active),状态转换相对复杂;而VRRP则简化为3种状态(Initialize、Master、Backup),状态转换更加直接。
•在角色选举方面,两者都基于优先级决定主备路由器的角色,但在处理抢占方式时略有不同。VRRP默认开启抢占功能,即高优先级备份路由器能够取代低优先级活动路由器成为新的主路由器,而HSRP需要配置是否启用抢占模式。
3. 报文结构与发送:
•HSRP定义了多种类型的报文,如Hello报文、Resign报文以及Coup报文等;而VRRP只有一种类型的消息报文,用于通告主备状态和进行心跳检测。
•报文发送间隔和超时时间等方面,HSRP和VRRP虽大体相似,但在具体参数上可能有所不同。
4. 扩展性:
•VRRP由于是开放标准,得到了更广泛的厂商支持,并且随着RFC的发展,兼容性和扩展性更强,比如VRRPv3支持IPv6。总结来说,尽管HSRP和VRRP的基本目标都是为了提供网络层冗余和故障切换,但它们在协议细节、安全性、状态管理以及标准化程度上存在一定的区别。VRRP由于其开放性和标准化,更适合多厂商环境下的部署和互操作性要求。
相关文章:

HSRP和VRRP
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议) 是一种网络层的容错协议,主要用于在多台路由器之间提供默认网关冗余。在IP网络中,当一个子网有多个路由器时,VRRP可以确保在主用路由器失效…...
C及C++每日练习(1)
一.选择: 1.以下for循环的执行次数是() for(int x 0, y 0; (y 123) && (x < 4); x); A.是无限循环 B.循环次数不定 C.4次 D.3次 对于循环,其组成部分可以四个部分: for(初始化;循环进行条件;调整) …...

Oracle 12c dataguard查看主备库同步情况的新变化
导读 本文介绍Oracle 12c dataguard在维护方面的新变化 前提:主库备库的同步是正常的。 1、主库上查看archive Log list SYScdb1> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination…...

时间序列-AR MA ARIMA
一、AR模型(自回归) AR探索趋势和周期性 预测依赖于过去的观测值和模型中的参数。模型的阶数 p pp 决定了需要考虑多少个过去时间点的观测值。 求AR模型的阶数 p和参数 ϕ i \phi_i ϕi ,常常会使用统计方法如最小二乘法、信息准则(如AIC、BIC…...

Spring Boot(六十六):集成Alibaba Druid 连接池
1 Alibaba Druid介绍 在现代的Java应用中,使用一个高效可靠的数据源是至关重要的。Druid连接池作为一款强大的数据库连接池,提供了丰富的监控和管理功能,成为很多Java项目的首选。本文将详细介绍如何在Spring Boot项目中配置数据源,集成Druid连接池,以实现更高效的数据库…...

leetcode 经典题目42.接雨水
链接:https://leetcode.cn/problems/trapping-rain-water 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 思路分析 首先,我们需要遍历数组,对于每个元素&am…...

高防服务器的主要作用有哪些?
高防服务器是属于服务器的一种,主要是为了解决流量攻击而设计的,高防服务器能够维护服务器的稳定性和安全性,具备很高的防御能力和更加优质的网络带宽,能够提供更加可靠的服务保障,那么高防服务器主要都有哪些作用呢&a…...

【30 天 JavaScript 挑战】学习笔记
30 天 JavaScript 挑战 专为 JavaScript 初学者设计 掌握必备 JavaScript 技能 前端人,前端魂,刷完 JS 即入门! 题目地址:https://leetcode.cn/studyplan/30-days-of-javascript/ 个人学习笔记:https://github.com/kaimo313/…...

生成 Linux/ubuntu/Debian 上已安装软件包的列表
你可以在终端中使用以下命令生成已安装软件包的列表: 列出所有已安装的软件包: dpkg --get-selections要将列表保存到文件中: dpkg -l > installed_packages_detailed.txt这将在当前目录中创建一个名为“installed_packages_detailed.txt”…...

精品中国货出海wordpress外贸独立站建站模板
旗袍唐装wordpress外贸网站模板 旗袍、唐装、华服wordpress外贸网站模板,适合做衣服生意的外贸公司官网使用。 https://www.jianzhanpress.com/?p3695 劳动防护wordpress外贸独立站模板 劳动防护wordpress外贸独立站模板,劳动保护、劳动防护用品外贸…...

使用Animated.View实现全屏页面可以向下拖动,松开手指页面返回原处的效果
使用Animated.View实现全屏页面可以向下拖动,松开手指页面返回原处的效果 效果示例图代码示例 效果示例图 代码示例 import React, {useRef, useState} from react; import {View,Text,Animated,Easing,PanResponder,StyleSheet, } from react-native;const TestDragCard () …...

【教程】uni-app iOS打包解决profile文件与私钥证书不匹配问题
摘要 当在uni-app中进行iOS打包时,有时会遇到profile文件与私钥证书不匹配的问题。本文将介绍如何解决这一问题,以及相关的技术细节和操作步骤。 引言 在uni-app开发过程中,iOS打包是一个常见的操作。然而,有时会出现profile文…...

预约自习室
预约自习室 1、技术介绍 自习室预约系统的后端开发语言采用Node,后端开发框架采用Express,数据库采用的Node的最佳搭档MySQL。采用Vue作为前端开发框架,Element-UI作为开发的组件库,微信小程序。期间采用axios实现网页数据获取&a…...

网络安全审计是什么意思?与等保测评有什么区别?
网络安全审计和等保测评在信息安全领域中都是非常重要的环节。但不少人对于这两者是傻傻分不清楚,今天我们就来简单聊聊网络安全审计是什么意思?与等保测评有什么区别? 网络安全审计是什么意思? 网络安全审计是通过对网络系统和网…...

HarmonyOS学习——HarmonyOS习题
harmonyOS开发学习课程 HarmonyOS第一课 1.【习题】运行Hello World工程 判断题 1. DevEco Studio是开发HarmonyOS应用的一站式集成开发环境。(√) 2. main_pages.json存放页面page路径配置信息。(√) 单选题 1. 在stage模…...

Python程序怎么让鼠标键盘在后台进行点击,不干扰用户其他鼠标键盘操作
在Python中实现鼠标和键盘在后台点击而不干扰用户的其他操作是一个比较复杂的任务。大多数库,如pyautogui或pynput,都是直接控制鼠标和键盘的,这意味着它们的操作会干扰用户的正常活动。 为了在不干扰用户的情况下实现这一点,你可…...

HTML静态网页成品作业(HTML+CSS)——新年春节介绍网页设计制作(3个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示1、首页2、子页13、子页2 三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码࿰…...

vue实现base64格式转换为图片
找了很多,但是都不太好用,打算自己总结一个保姆级教学,无需动脑,电脑有电就能实现 在HTML部分,我们需要一个标签来放置图片 <template><div><img :src"imageSrc" alt"未获取到图片&qu…...

【杂言】迟到的 2024 展望
研一下开学已有半月,本来想在家写的新年展望拖到了现在。翻看 2021 年的展望,我发现 flag 基本达成了(除了 12 点睡觉),所以给新的一年立下大方向也是很有必要的。也许等到 60 岁我再回看,也是一件趣事吧。…...

结构体(C语言进阶)(一)
目录 前言 1、结构体声明 1.1 结构体基本概念 1.2 结构体声明 1.3 特殊的结构体声明 1.3.1 匿名结构体声明 1.4 结构体自引用 1.5 结构体变量的定义和初始化 1.6 结构体内存对齐 1.7 修改默认对齐数 1.8 结构体传参 总结 前言 C语言除了有其内置类型,还有…...

【react】对React Router的理解?常用的Router 组件有哪些
1 react-router 是什么 react-router等前端路由的原理大致相同,可以实现无刷新的条件下切换显示不同的页面 路由的本质就是页面的URL发生改变时,页面的显示结果可以根据URL的变化而变化,但是页面不会刷新 因此,可以通过前端路由可…...

生成式 AI
生成式 AI 进入应用爆发期,将极大地推动数字化内容生产与创造。 摘要 生成式 AI ( Generative AI 或 AIGC ) 是利用现有文本、音频文件或图像创建 新内容的技术。过去一年,其技术上的 进展主要来自于三大领域:…...

云计算 3月6号 (crontab-计划任务 日志轮转 免密登录)
一、计划任务 计划任务概念解析 在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、crontab软件…...

Windows Shell命令详解:入门指南
Windows操作系统的Shell命令是执行各种任务和管理系统的关键工具。本文将深入探讨Windows Shell命令的基础知识,介绍常用的命令以及它们的功能和用法,并探讨一些高级技巧,帮助用户更好地利用Shell命令提高工作效率。 1. 什么是Windows Shell命…...

MogDB/openGauss关于PL/SQL匿名块调用测试
MogDB/openGauss 关于 PL/SQL 匿名块调用测试 一、原理介绍 PL/SQL(Procedure Language/Structure Query Language)是标准 SQL 语言添加了过程化功能的一门程序设计语言。 单一的 SQL 语句只能进行数据操作,没有流程控制,无法开发复杂的应用。PL/SQL …...

STP---生成树协议
STP的作用 a)Stp通过阻塞端口来消除环路,并能够实现链路备份目的 b)消除了广播风暴 c)物理链路冗余,网络变成了层次化结构的网络 STP操作 选举一个根桥每个非根交换机选举一个根端口每个网段选举一个指定端口阻塞非根,非指定端口 STP--生成树…...

算法D38| 动态规划1 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
理论基础 无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是不是简单题想复杂了? 其实并没有,我讲的理论基础内容,在动…...

Vue教学13:组件的生命周期:掌握组件的每一个关键时刻
大家好,欢迎回到我们的Vue教学系列博客!在前十二篇博客中,我们学习了Vue.js的基础知识、安装Node.js与npm、使用Vue Devtools进行调试、Vue实例与生命周期钩子、数据绑定(单向与双向)、计算属性与侦听器、条件渲染和列…...

mitmproxy代理
文章目录 mitmproxy1. 网络代理2. 安装3. Https请求3.1 启动mitmproxy3.2 获取证书3.3 配置代理3.4 运行测试 4. 请求4.1 读取请求4.2 修改请求4.3 拦截请求 5. 响应5.1 读取响应5.2 修改响应 6. 案例:共享账号6.1 登录bilibili获取cookies6.2 在代理请求中设置cook…...

【GPU驱动开发】- mesa编译与链接过程详细分析
前言 不必害怕未知,无需恐惧犯错,做一个Creator! 一、总体框架图 暂时无法在飞书文档外展示此内容 二、Mesa API 处理 OpenGL 函数调用 Mesa API 负责实现 OpenGL 和其他图形 API 的函数接口。Mesa API 表是一个重要的数据结构…...