计算机网络-VRRP切换与回切过程

news/2024/9/19 4:54:24/ 标签: 程序人生

前面我们学习了VRRP选举机制,根据VRRP优先级与IP地址确定主设备与备份设备,这里继续进行主备切换与主备回切以及VRRP抢占模式的学习。

一、VRRP主备切换

主备选举时根据优先级选择主设备,状态切换为Master状态,那当什么时候会切换到备份设备呢?有以下两种情况:

  • Master设备主动退出VRRP组
  • Master设备或者链路故障

1.1 Master主动退出VRRP组

当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到MASTER_DOWN定时器超时。这个切换的时间称为Skew_time。

Master主动退出VRRP组
Master主动退出VRRP组

主动退出不需要等待超时器,迅速切换状态。

1.2 Master设备或者链路故障

当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。

Master设备或者链路故障
Master设备或者链路故障

如果是设备故障或者线路故障需要等待定时器超时Backup设备才能切换到主设备。

二、VRRP主备回切

正常情况下,由Master设备负责转发用户报文,如图所示,所有用户流量通过R1到达Internet。当R1出现故障时,网络会重新进行VRRP主备选举,如图所示,此时R2会成为新的Master设备负责转发用户报文。

主备回切1
主备回切1

当R1从故障恢复后,网络将重新进行VRRP主备选举,由于R1的优先级大于R2,所以R1又重新成为新的Master设备负责转发用户报文。

主备回切2
主备回切2

正常情况下Master设备转发用户报文,当发生故障时当Backup设备定时器超时则切换到Master承接用户流量,当故障恢复时故障设备发送VRRP报文重新进行选举进行主备回切。

VRRP默认开启抢占模式,如果网络不稳定,建议开启抢占延时,防止网络震荡。开启抢占模式的VRRP备份组,当主备进行切换时,总共时长为:3xAdver_Interval+Skew_time+Delay_time

在抢占模式下,当Master的设备状态不稳定或者网络质量差时,会导致VRRP备份组频繁切换,从而引发终端ARP表项频繁刷新,为缓解此问题,通常设置抢占延时定时器,通过MASTER_INTERVAL定时器超时时间加上延时时间,确定状态稳定后,再进行主备回切,抢占延时可以手动配置

VRRP抢占模式(Preempt Mode) :

  • 抢占模式(默认激活):如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,它将立即切换至Master状态,成为新的Master路由器
  • 非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效。

总结:这里学习VRRP的主备切换以及进行主备回切,缺省是开启了抢占模式,当网络震荡时可能会导致流量黑洞,即Master已经切换但是流量还是走的Backup设备上,导致流量丢包,可以理解为在进行主备切换间隙导致的丢包。因此建议如果网络不稳定,开启抢占延时,防止网络震荡,合理配置抢占延时定时器。

本文由 mdnice 多平台发布


http://www.ppmy.cn/news/1520507.html

相关文章

科研学习|论文解读——OceanGPT:用于海洋科学任务的大型语言模型

摘要 海洋覆盖我们星球表面70%以上,对于理解生命的丰富储备和生物多样性至关重要。鉴于海洋在调节全球气候和支持经济中的关键作用,海洋科学研究具有重大意义。最近,大型语言模型(LLMs)的进步改变了科学的范式。尽管在…

Linux下递归设置目标目录及其子目录和文件的权限

〇、背景 本文旨在简单介绍一个在Linux环境下批量修改目录及其子目录和文件的权限的方法。 一、实现 首先新建一个shell脚本文件,使用指令$ vi chmod.sh,然后在文件中输入下述代码。 #!/bin/bashOFFSET_INDEX" " DIR_MODE755 FILE_MODE664…

Oracle---PAG程序全局区的组成:堆栈区、会话区、游标区、排序区

文章目录 PGA程序全局区PGA主要内容1、排序区(SORT AREA)**为什么给排序设置合理的排序区大小** 2、会话区(USER SESSON DATA)3、堆栈区保存变量信息(STACK SPACE)4、游标区 (CURSOR STATE) PGA程序全局区 程序全局区或进程全局区…

AN7536PT时钟电路

目录 1 时钟电路概述2 时钟晶振电路2.1 需求分析2.2 晶振选型(Datasheet表5-7解读)2.3 设计晶振电路(表4-1、图5-4) 1 时钟电路概述 时钟电路是一种用于产生稳定、周期性脉冲信号的电子电路。它通常由晶体振荡器和相关逻辑电路组…

Luminar Neo for Mac智能图像处理软件【操作简单,轻松上手】

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

Hackme靶场渗透攻略

步骤一,注册登录进去 步骤二,点击search 我们发现有很多书 步骤三,搜索一本书抓包发放到重放器 步骤四,数据改为1*,复制数据包到1.txt,然后打开sqlmap 步骤五,sqlmap查看当前数据库 python s…

阿尔茨海默病症识别+图像识别Python+人工智能+深度学习+TensorFlow+机器学习+卷积神经网络算法

一、介绍 阿尔茨海默病症识别。使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对病症图片4种数据集进行训练[‘轻度痴呆’, ‘中度痴呆’, ‘非痴呆’, ‘非常轻微的痴呆’],最终得…

TeeChart助力科研软件:高效实现数据可视化

在当今的科学研究中,数据可视化已经成为理解和传播复杂信息的关键工具。尤其是在物理研究领域,科学家们经常需要处理大量的数据,并通过可视化将这些数据转化为更易理解的形式。TeeChart作为一个强大且灵活的图形展示工具,能够帮助…

前端按钮通过浏览器下载附件

html <a click"downloadAttach(record.memoryAddress)">下载附件</a> js downloadAttach(url){var fileUrl window._CONFIG[staticDomainURL] url;window.open(fileUrl); } 配置文件 window._CONFIG[staticDomainURL] http://127.0.0.1:3000/xxx…

Spring Cloud Gateway的使用

Spring Cloud Gateway的使用 1. Spring Cloud Gateway原理2. Spring Boot项目中集成Spring Cloud Gateway2.1 创建项目与添加依赖2.2 配置网关 3. 高级功能与实践**3.1 配置过滤器****3.2 分组路由** 4. 监控与故障处理5. 部署与持续集成 在微服务架构中&#xff0c;服务发现、…

计算机网络(一) —— 网络基础入门

目录 一&#xff0c;关于网络 二&#xff0c;协议 2.1 协议是什么&#xff0c;有什么用&#xff1f; 2.2 协议标准谁定的&#xff1f; 2.3 协议分层 2.4 OSI 七层模型 2.5 TCP/IP 四层模型 三&#xff0c;网络传输基本流程 3.1 局域网中两台主机通信* 3.2 报文的封装与…

uniapp网站和微信小程序 添加 百度统计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、首先&#xff0c;需要在百度统计平台注册一个账户或登录现有的账户二、新建站点(应用)、添加代码三、代码获取与安装1.在官方网站 新增应用&#xff0c;根据官方…

kernel底层的蓝牙开发流程

kernel底层的蓝牙开发流程是一个复杂且细致的过程&#xff0c;它涉及到从内核配置、驱动编写、工具编译到最终的设备调试等多个环节。以下是一个详细的蓝牙开发流程&#xff0c;旨在为读者提供一个全面的视角。 一、前期准备 1. 确定开发环境 首先&#xff0c;需要确定开发所…

复数遍历4联通区域

怎么理解虚数和复数&#xff1f; - 知乎

python-禁止抽烟

题目描述 小理的朋友有 n 根烟&#xff0c;他每吸完一根烟就把烟蒂保存起来&#xff0c;k&#xff08; k>1&#xff09;个烟蒂可以换一个新的烟&#xff0c;那么小理的朋友最终能吸到多少根烟呢&#xff1f; 与某些脑筋急转弯不同的是&#xff0c;小理的朋友并不能从异次元借…

OpenHarmony 实战开发——一文总结ACE代码框架

一、前言 ACE_Engine框架是OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&#xff09;的UI开发框架&#xff0c;为开发者提供在进行应用UI开发时所必需的各种组件&#xff0c;以及定义这些组件的属性、样式、事件及方法&#xff0c;通过这些组件可以方便进行OpenHarmo…

在 Vue 中实现跨项目数据传递

在 Vue 中实现跨项目数据传递可以通过以下几种方法&#xff1a; 一、使用本地存储&#xff08;Local Storage&#xff09; 存储数据 在一个项目中&#xff0c;可以使用localStorage.setItem()方法将数据存储到本地存储中。例如&#xff1a;localStorage.setItem(sharedData, J…

CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?

01. CentOS停服带来安全新风险&#xff0c; 国产操作系统迎来新的发展机遇 2024年6月30日&#xff0c;CentOS 7版本全面停服&#xff0c;于2014年发布的开源类服务器操作系统——CentOS全系列版本生命周期画上了句号。国内大量基于CentOS开发和适配的服务器及平台&#xff0c…

RESTful基本要求

文章目录 RESTful -Representational State Transfer1 什么是RESTful2 RESTful的特征3 如何设计符合RESTful 特征的API RESTful -Representational State Transfer 1 什么是RESTful 资源 &#xff08;Resources&#xff09; 网络上的一个实体&#xff0c;或者说是网络上的一个…

《Rust避坑入门记》第2章:解决多线程并发数据竞争的不可变性

从第1章所讨论的出现数据竞争问题的多线程并发剧院订票系统的代码能够看出&#xff0c;虽然可变性能够方便地随时修改值&#xff0c;但滥用可变性&#xff0c;会在多线程并发编程时&#xff0c;带来数据竞争的难题。 共享可变状态所带来的多线程并发时的数据竞争难题&#xff…