VRRP专题

一,VRRP:虚拟路由冗余协议

将多个路由设备联合组成一台虚拟的路由设备,这台虚拟的路由设备做用户的网关,转发数据;这台虚拟的设备的网关由一个高优先级的设备承载,该设备被称为master路由器,其余的未承担路由转发的路由设备被称为backup设备。一个master设备故障,则这组backu设备会重新协商master设备。VRRP协商报文

1,VRRP路由器

运行vrrp协议的路由设备,一个设备可以属于多个虚拟路由器。

2,虚拟路由器

由一个master设备和多个backup设备组成,也称vrrp备份组

3,master路由器

承担报文转发的vrrp路由器

4,backup设备

不承担报文转发的路由器

5,VRID

每一个运行vrrp协议的设备都会有一个vrid,用来唯一标识这个vrrp备份组的一台主机

6,虚拟IP地址

虚拟路由器的IP地址,一个虚拟路由器可以有多个IP地址。

7,虚拟mac地址

虚拟路由器根据VRID生成的mac地址,一个虚拟路由器拥有一个虚拟mac地址,

格式:

0000-5e00-01VRID

0000-5e00-02VRID(IPV6)

当网络中存在arp请求时,会以虚拟mac地址回应请求

8,IP地址拥有者

将虚拟IP地址作为设备本身的地址,master设备为虚拟IP地址的拥有者

9,vrrp协议报文

用来将master设备的优先级和状态报告同步给一组的backup设备

10,vrrp协议封装

crrp协议报文封装在IP报文中,发送到虚拟IP组播地址,在IP报文头中,源地址为发送报文接口地址,目的地址为224.0.0.28,ttl为255,协议号为1120

11,vrrp协议版本

vrrp v2 适用于IPV4网络

vrrp v3适用于IPv4和IPv6版本

12,vrrp认证

vrrp v2支持在通告报文中设定不同的认证方式。

①,无认证方式

设备对要发送的vrrp通告报文不做任何处理,收到的通告报文也不做任何认证,认为收到的报文均合法真实。

②,简单字符认证方式

发送VRRP通告报文的设备将认证方式和认证字段填充到通告报文中,收到报文的设备会将报文中的认证方式和认证字与本端的认证方式和认证字进行匹配,相同则接收,否则丢弃。

③,MD5加密方式

发送vrrp通告报文的设备利用MD5对认证字进行加密,加密后保存在Authentication Data字段中,收到通告报文的设备,会使用MD5加密和对收到的报文进行认证方式和解密的认证字匹配,检查该报文的合法性。

13,vrrp状态机

vrrp有三种状态:初始态,活动态,备份态。

①,初始态

vrrp在搭建或者故障时,会进入初始态,收到接口up消息后,如果优先级为255,则直接成为master设备,如果不是255,则先进入backup状态。初始态时不会对vrrp报文做任何处理。

②,活动态

vrrp组中,master设备为为或动态,进行vrrp报文通告和数据转发。

处于master状态的设备的工作:

a,定时发送crrp通告报文

b,以虚拟mac响应mac请求

c,以虚拟IP响应IP报文

d,只有虚拟IP地址的拥有者才转发数据,其他设备丢弃数据

e,如果收到优先级更高的vrrp报文,则切换为backup装填

f,如果收到优先级相同的vrrp报文,则比较自身和对端接口IP,小则成为backup。

③,备份态

所有的backup路由器都处于备份状态,侦听并转发vrrp报文

所有处于backup状态的设备的工作:

a,接收vrrp通告报文,检测master设备状态

b,不响应对虚拟mac和虚拟IP请求的报文

c,如果收到比自己优先级大或者优先级相同的报文,则重置master_down_internal计时器,不进行IP地址的比较。

d,如果master_down_internal计时器超时还未收到vrrp报文,则会切换为master状态。

14,vrrp工作过程

选举master设备  ——>  master发送免费arp报文通告虚拟mac和IP给设备或者主机 ——> master进入数据转发,并定期发送vrrp通告报文,通告自己的状态和配置信息。

15,master设备故障

如果master设备故障,在master_down-internal计时器超时后,会重新选举master设备,并立即以虚拟mac和ip发送免费arp报文,刷新与它直连设备的mac地址表,此过程对用户透明。

源master设备故障修复后状态变化:

抢占模式:master设备故障修复后,如果优先级比backup高,则抢占恢复为master状态

非抢占模式:mater设备故障修复后,即使优先级比backuo高,也会继续保持

16,master设备选举

17、Master设备状态通告

Master设备会周期性发送vrrp通告报文,在组内公布自己的优先级和工作状态。

Backup设备通过监听vrrp通告报文,来判断master设备是否正常工作。

①、当master设备主动放弃master地址时

master设备会发送优先级为0的通告报文,backup不用等到超时时间在切换到master状态,这个时间为skew = 256 - mackup优先级\256

②、当master 设备故障

backup在超时时间内未收到通告报文,会重新选举master设备。

③、性能不稳定

抢占模式:由于抢占情况,设备频繁的退出和占用master状态,会导致网络无法使用,此方法可以通过设置定时器,使backup的定时器超时后,在等待抢占时延,如果还未收到通告报文,backup在切换成master。

非抢占模式不存在上述③问题。

18、VRRP监控上行链路

vrrp通过监听上行链路,一旦故障,master自降优先级并立即发送通告报文,backup切换成master

19、vrrp心跳线

vrrp心跳线必须是三层口或者三层聚合口或者vlanif口

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

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

相关文章

Flutter 应用启动从闪屏页短暂黑屏再到第一个页面

由于应用初始状态启动会有白屏现象,便使用 flutter_native_splash 2.3.5 插件生成了启动相关的配置,并且按照示例使用了 import package:flutter_native_splash/flutter_native_splash.dart;void main() {WidgetsBinding widgetsBinding WidgetsFlutte…

软件开发和测试

一,敏捷软件开发 二,软件测试

Vue3.0和2.0语法不同分析

前言&#xff1a;本篇文章只做VUE3.0和VUE2.0语法上的不同分析&#xff0c;不做性能和源码架构等的分析。 一、VUE3.0和VUE2.0代码结构不同 VUE3.0代码实例 <template><div><span>count is {{ count }}</span><span>plusOne is {{ plusOne }}…

HHDESK资源管理批量修改

HHDESK自带客户端支持批量修改。 右键资源&#xff0c;选择“批量修改”。 在弹出框中&#xff0c;选择需要修改的选项&#xff1b; 以及资源类型&#xff1b; 点击确定&#xff1b; 可在对话框下方的操作日志中&#xff0c;查看结果。

【环境准备】NodeJs(压缩包版本)安装与配置

一、NodeJs(压缩包版本)安装与配置 1、下载、解压 访问 NodeJs官网,选择Window版本的.zip格式进行下载&#xff0c;下载完成后进行解压&#xff08;ps: 本人解压路径为D:\nodejs&#xff09; 2、 环境变量配置 配置环境变量&#xff0c;找到系统变量下的path并选中&#xf…

Windows 安装 汉化版 burp suite

注&#xff1a;个人笔记&#xff0c;仅供参考。 burpsuite 软件下载链接&#xff1a; https://www.alipan.com/s/cWxMF5S9sq4 提取码: 31ut 注&#xff1a;安装路径不要有中文 安装 配置 Java 环境 因为burpsuite是在JAVA环境下运行的&#xff0c;所以首先应该配置好JAVA环…

LabVIEW编程开发NI-USRP

LabVIEW编程开发NI-USRP 可编程性是SDR的关键特性&#xff0c;它使人们能够将无线电外围设备转换为先进的无线系统。USRP是市场上最开放、最通用的SDR&#xff0c;可帮助工程师在主机和FPGA上使用各种软件开发工具构建系统。 有多种选项可用于对基于SDR的系统的主机进行编程。…

LoRa知识点记录

CFO(Central Frequency Offset):&#xff1a;不同设备之间的硬件缺陷引起的&#xff0c;会造成bin 偏移。CFO 引起的 bin 偏移对于preamble和data symbol 都是相同的。 我们在FFT之前应用汉明窗口来抑制旁瓣的影响 lora的灵敏度依赖于峰值高度 没有零填充会导致峰值高度不稳定 …

# Python基础:输入输出详解-读写文件(还需完善)

open() 返回一个 file object &#xff0c;最常使用的是两个位置参数和一个关键字参数&#xff1a;open(filename, mode, encodingNone) f open(workfile, w, encoding"utf-8")第一个实参是文件名字符串。第二个实参是包含描述文件使用方式字符的字符串。mode 的值…

使用Ant Design Pro开发时的一个快速开发接口请求的技巧

使用Ant Design Pro开发时的一个快速开发接口的技巧 当我们的后端在写好接口以后&#xff0c;我们通过swagger knife4j可以生成一个接口文档&#xff0c;后端启动以后&#xff0c;可以生成一个接口文档&#xff0c;当输入地址 localhost:8101/api/v3/api-docs &#xff08;这…

C#语言的由来与发展历程

C#语言的由来与发展历程可以追溯到2000年&#xff0c;当时微软公司为了在.NET平台上开发应用程序&#xff0c;发布了一种新的编程语言——C#。C#语言的设计目标是成为一种简单、现代、通用和面向对象的编程语言&#xff0c;为开发者提供更强大的生产力、更强大的面向对象支持和…

虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构

文章来源&#xff1a;虹科云科技 虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构 如何更好地构建我们的数据处理架构&#xff0c;如何对IT系统中的遗留问题进行现代化改造并将其转变为现代数据架构&#xff1f;该怎么为你的需求匹配最适合的架构设计呢&#xf…

微信小程序603300报错,保存文件出错download save file error的解决办法

使用微信小程序wx.downloadFile下载文件&#xff0c;电脑开发预览时没有问题&#xff0c;到了手机&#xff08;安卓手机&#xff09;预览时&#xff0c;出现了这个情况。 {"errno": 603300, "errMsg": "downloadFile:fail fail ERR_NOT_SUPPORTED&quo…

BUUCTF [BJDCTF2020]藏藏藏 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 来源&#xff1a;https://github.com/BjdsecCA/BJDCTF2020 密文&#xff1a; 下载附件&#xff0c;解压得到一张.jpg图片和一个.txt文件。 解题思路&#xff1a; 1、一张图片&#xff0c;典型的图片隐写。在010 Ed…

Ajax 之XMLHttpRequest讲解

一直以来都听别人说Ajax,今天终于接触到了。。。。。。。。。。 一.什么是Ajax? 答: AJAX即“Asynchronous Javascript And XML”&#xff08;异步JavaScript和XML&#xff09;&#xff0c;是指一种创建交互式网页应用的网页开发技术。 AJAX 异步 JavaScript和XML&#x…

北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 二.管脚分配 三.实现过程讲解及效…

[Linux] yum仓库相关

一、yum仓库 1.1 yum简介 yum 是一种基于 RPM 软件包&#xff08;Red-Hat Package Manager 的缩写&#xff09;的软件更新机制&#xff0c;可自动解决软件包之间的依赖关系。这就解决了日常工作中花费大量时间寻找安装包的问题。 为什么会出现依赖 linux 本身就有简化系统的优…

C语言之break continue详解

C语言之break continue 文章目录 C语言之break continue1. break 和 continue2. while语句中的break和continue2.1break和continue举例 3. for语句中的break和continue3.1break和continue举例 1. break 和 continue 循环中break和continue 在循环语句中&#xff0c;如果我达到…

为什么要写测试用例,测试用例写给谁看?

“为什么要编写测试用例&#xff0c;测试用例写给谁看”&#xff0c;这个问题看似简单&#xff0c;但却涵盖了一系列复杂的考虑因素&#xff0c;并不太好回答。 为了向各位学测试的同学们解释清楚“为什么编写测试用例是至关重要的”&#xff0c;我将通过以下3个方面进行展开&…

修改YOLOv5的模型结构第二弹

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 上节说到了通过修改YOLOv5的common.py来修改模型的结构&#xff0c;修改的是模块的内…