VRRP协议原理

目录

  • VRRP的产生
    • 单网关的缺陷
    • 多网关存在的问题
    • VRRP基本概述
    • VRRP基本结构
    • 状态机
  • VRRP主备备份工作过程
    • VRRP的工作过程
      • 如果Master发生故障,则主备切换的过程
      • 如果原Master故障恢复,则主备回切的过程
    • VRRP联动功能
  • VRRP负载分担工作过程

VRRP的产生

单网关的缺陷

在这里插入图片描述

当网关路由器RouterA出现故障时,本网段内以该设备为网关的主机都不能与Internet进行通信

多网关存在的问题

在这里插入图片描述

通过部署多网关的方式实现网关的备份。 但多网关可能会出现一些问题:网关间IP地址冲突;主机会频繁切换网络出口。

VRRP基本概述

  • VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
  • 协议版本:VRRPv2(常用)和VRRPv3:
  • VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。
  • VRRP协议报文:
    • 只有一种报文:Advertisement报文;其目的IP地址是224.0.0.18,目的MAC地址是01-00-5e-00-00-12,协议号是112。

VRRP基本结构

在这里插入图片描述

  • VRRP基本概念:
    • VRRP路由器(VRRP Router):运行VRRP协议的设备,如RouterA和RouterB。
    • 虚拟路由器(Virtual Router):又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。
    • Master路由器(Virtual Router Master):承担转发报文任务的VRRP设备,如RouterA。
    • Backup路由器(Virtual Router Backup):一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备,如RouterB。
    • Priority:设备在备份组中的优先级,取值范围是0~255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100。
    • vrid:虚拟路由器的标识,如图中RouterA和RouterB组成的虚拟路由器的vrid为1,需手工指定,范围1-255。
    • 虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.254/24。
    • IP地址拥有者(IP Address Owner):如果一个VRRP设备将真实的接口IP地址配置为虚拟路由器IP地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,则它将一直成为Master。
    • 虚拟MAC地址(Virtual MAC Address):虚拟路由器根据vrid生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{vrid} 。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如RouterA和RouterB组成的虚拟路由器的vrid为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。

状态机

在这里插入图片描述

  • VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备状态)。
  • 三种状态之间的转换条件如下:
    • Initialize->Master:Startup priority=255;
    • Initialize->Backup:Startup priority!=255;
    • Master->Initialize:设备关闭;
    • Master->Backup:收到比自己优先级更高的数据包;
    • Backup->Initialize:设备关闭;
    • Backup->Master:在超时时间内没有收到VRRP通告报文或者收到通告报文原Master优先级为0,或者收到的通告报文中的原Master优先级比自己的优先级低。

VRRP主备备份工作过程

VRRP的工作过程

在这里插入图片描述

  • VRRP的工作过程如下:
  1. 选举出Master:
    • VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
    • 选举规则:比较优先级的大小,优先级高者当选为Master设备。当两台设备优先级相同时,如果已经存在Master,则其保持Master身份,无需继续选举;如果不存在Master,则继续比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。
  2. Master设备状态的通告(VRRP备份组状态维持):
    • Master设备周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状况。Backup设备通过接收到的VRRP报文来判断Master设备是否工作正常。 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master_Down_Interval定时器超时。这个切换的时间称为Skew_Time,计算方式为:(256-Backup设备的优先级)/256,单位为秒。
    • 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master_Down_Interval定时器取值为:3×Advertisement_Interval+Skew_Time,单位为秒。

如果Master发生故障,则主备切换的过程

在这里插入图片描述

如果原Master故障恢复,则主备回切的过程

在这里插入图片描述

  • 抢占模式(Preemption Mode):
    • 控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。
    • 注意:存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。
  • 抢占延时(Delay Time):
    • 抢占延迟时间,默认为0,即立即抢占。
    • 图中RouterA故障恢复后,立即抢占可能会导致流量中断,因为RouterA的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。
    • 另外,在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval期间没有收到Master设备的报文,Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup,如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_Down_Interval时间后,再等待抢占延迟时间。如在此期间仍没有收到通告报文,Backup设备才会切换为Master设备。

VRRP联动功能

解决方法:利用VRRP的联动功能监视上行接口或链路故障,主动进行主备切换
在这里插入图片描述

VRRP负载分担工作过程

在这里插入图片描述

负载分担是指多个VRRP备份组同时承担业务转发,VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。
与主备备份方式的不同点在于:负载分担方式需要建立多个VRRP备份组,各备份组的Master设备分担在不同设备上;单台设备可以加入多个备份组,在不同的备份组中扮演不同的角色。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/357270.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jupyter notebook文件默认存储路径以及更改方法

目录 1、文件默认存储路径怎么查?2、文件默认存储路径怎么改? 转自:https://blog.csdn.net/fengyeer20120/article/details/109483362 初次使用Jupyter Notebook,确实好用啊!但安装Anaconda后,打开Jupyter …

top命令

在linux运维中,经常用到 top 命令,详细介绍一下: 字段介绍 时间: 当前时间系统运行时间当前登录用户数系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值 任务: 进程总…

自然语言nlp学习 三

4-8 Prompt-Learning--应用_哔哩哔哩_bilibili Prompt Learning(提示学习)是近年来在自然语言处理领域中,特别是在预训练-微调范式下的一个热门研究方向。它主要与大规模预训练模型如GPT系列、BERT等的应用密切相关。 在传统的微调过程中&a…

idea 创建 spring boot

1.创建步骤 2. 编码添加 2.1 这是自动生成的启动函数 package com.example.comxjctest4;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Application {publi…

【网络协议分析】利用Wireshark分析IP分片

一、实验目的 利用Wireshark软件抓包分析IP分片,了解IP分片的工作原理。 二、实验过程 1、网络拓扑 设备 IP地址 设备接口 MTU AR1 172.30.132.164 Ethernet 0/0/0 700 AR2 172.30.132.165 Ethernet 0/0/0 1200 2、实验过程 (1&#xf…

SQL Server ISO镜像文件安装

参考:Sql Server ISO镜像文件安装指南_sqlserveriso文件怎么安装-CSDN博客 参考文件中的步骤基本相同,注意两点 1、尽量安装在D盘,有些组件默认必须安装在C盘,有些会报没有目录的情况 需要在D盘创建目录。 2、我没有windows本地…

Harmony的自定义组件和Page的数据同步

在开发过程中会经常使用自定义组件,就会遇到一个问题,在页面中引入组件后,如何把改变的值传递到自定义组件中呢,这就用到了装饰器,在这是单向传递的,用的装饰器是@State和@Prop @State在page页面中监听数据的变化 @Prop在自定义组件中监听page页面传递过来的变化值,并赋…

20240129收获

今天终于发现《八部金刚功》第五部我一直做的是错的,嗨。这里这个写法非常聪明,创立的数组,以及用obj[key] item[key]这样的写法,这个写法充分展示了js常规写法中只有等号右边会去参与运算,等号左边就是普通的键的写法…

QT 使用XML保存操作记录

文章目录 1 实现程序保存操作记录的思路2 XML文档基本结构3 QDomDocument实现XML读写3.1 QDomDocument实现生成XML文件3.2 QDomDocument实现读取XML文件 4 QXmlStreamWriter实现读写4.1 QXmlStreamWriter实现生成XML4.2 QXmlStreamWriter实现读取XML 1 实现程序保存操作记录的思…

docker镜像详解

文章目录 一、什么是docker镜像 二、为什么需要镜像 三、镜像相关命令详解 3、1 命令清单 3、2 命令详解 四、镜像实战 4、1 镜像操作案例 4、2 离线迁移镜像 4、3 镜像存储的压缩与共享 🙋‍♂️ 作者:Ggggggtm 🙋‍♂️ 👀 专栏…

西瓜书学习笔记——密度聚类(公式推导+举例应用)

文章目录 算法介绍实验分析 算法介绍 密度聚类是一种无监督学习的聚类方法,其目标是根据数据点的密度分布将它们分组成不同的簇。与传统的基于距离的聚类方法(如K均值)不同,密度聚类方法不需要预先指定簇的数量,而是通…

MGRE实验报告二

实验要求: 实验预览图: 实验分析: 1、对R1-R5配置IP地址,同时R1-R5每个路由器各有一个环回 2.1、对R1、R3、R4路由器开启虚拟接口1,分别配置隧道IP、接口封装协议,接口类型、定义封装源、开启伪广播功能&…

Mysql 删除数据

从数据表中删除数据使用DELETE语句&#xff0c;DELETE语句允许WHERE子句指定删除条件。DELETE语句基本语法格式如下&#xff1a; DELETE FROM table_name [WHERE <condition>]; table_name指定要执行删除操作的表&#xff1b;“[WHERE <condition>]”为可选参数&a…

Nginx 1.25配置QUIC和HTTP3

Nginx 1.25配置QUIC和HTTP/3 Nginx在编译时需要配置相应的SSL库&#xff0c;以确保能够支持HTTP3.0和HTTP2.0等基于HTTPS的协议。这些加密算法主要由OpenSSL提供。另外&#xff0c;BoringSSL是谷歌创建的OpenSSL分支&#xff0c;专门用于支持TLS 1.3的UDP协议的0-RTT数据传输加…

从C向C++6——运算符重载

本文的主要知识点是C中的运算符重载。 1.运算符重载 所谓重载&#xff0c;就是赋予新的含义。函数重载&#xff08;Function Overloading&#xff09;可以让一个函数名有多种功能&#xff0c;在不同情况下进行不同的操作。**运算符重载&#xff08;Operator Overloading&#…

【VS Code+Verilog+Vivado使用】(1)常用插件

文章目录 1 常用插件1.1 Chinese Language Pack1.2 Verilog-HDL/SV/BSV1.2.1 语法高亮1.2.2 代码片段1.2.3 代码检查1.2.4 Ctags1.2.4.1 自动补全设置1设置2 1.2.4.2 悬停显示1.2.4.3 转到定义1.2.4.4 查看定义1.2.4.5 模块例化设置1 1.3 vscode-icons1.4 Hex Editor1.5 Error …

Web开发8:前后端分离开发

在现代的 Web 开发中&#xff0c;前后端分离开发已经成为了一种常见的架构模式。它的优势在于前端和后端可以独立开发&#xff0c;互不干扰&#xff0c;同时也提供了更好的可扩展性和灵活性。本篇博客将介绍前后端分离开发的概念、优势以及如何实现。 什么是前后端分离开发&am…

国考省考行测:逻辑判断,分析推理,排除法,假设法

国考省考行测&#xff1a;逻辑判断&#xff0c;分析推理 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能&#xff0c;附带行测和申论&#xff0c;而常规国考省考最重要的还是申论和行测&#xff0c;所以大家认真准备吧&#xff0c;我讲一起屡屡申论和…

【数据结构与算法】之哈希表系列-20240129

这里写目录标题 一、217. 存在重复元素二、219. 存在重复元素 II三、242. 有效的字母异位词四、268. 丢失的数字五、290. 单词规律六、349. 两个数组的交集七、350. 两个数组的交集 II 一、217. 存在重复元素 简单 给你一个整数数组 nums 。如果任一值在数组中出现至少两次 &a…

Java 面试题之 IO(二)

字符流 文章目录 字符流Reader&#xff08;字符输入流&#xff09;Writer&#xff08;字符输出流&#xff09; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 不管是文件读写还是网络发送接收&#xff0c;信息的最小存储单元都是字节。 那为什么 I/O 流操作要分为字…