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

2024-09-03 21:44

本文主要是介绍计算机网络-VRRP切换与回切过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面我们学习了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 多平台发布

这篇关于计算机网络-VRRP切换与回切过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134128

相关文章

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us