数据通信——VRRP

引言

之前把实验做了,结果发现我好像没有写过VRRP的文章,连笔记都没记过。可能是因为对STP的记忆,导致现在都没忘太多。

一,什么是VRRP

    VRRP全名是虚拟路由冗余协议,虚拟路由,看名字就知道这是运行在三层接口上面的设备。因此无论是三层交换机、路由器还是防火墙上面,都可以用VRRP。VRRP是一种备份的技术,用于设备中网关的备份。

    VRRP不同于STP,STP主要是做二层的防环和冗余备份技术,而VRRP重点在于三层设备的防止冗余与备份。一般出于性能和安全考虑,STP和VRRP都是默认同时开启的。这样一个防护二层,一个防护三层,岂不美哉!

二,专业用语

(1)Virtual Router:虚拟路由器,它是虚拟出来的,我们在虚拟路由器中部署VRRP,虚拟接口会随着物理接口的关闭而关闭,虚拟设备中存在虚拟的IP和MAC地址,所有虚拟路由器都共用这个地址。

(2)VRRP Router:运行VRRP的路由器,即运行VRRP协议的路由器,它可以加入到VRRP组中。

(3)IP Address Owner:IP地址拥有者,虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器。

(4)Virtual Router Master:它就是所谓的Master,负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应。

(5)Virtual Router Backup:这些是非Master的虚拟备份路由器,不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作。 

 

三,VRRP工作状态

    VRRP是一组路由器(在同一接口)协同工作,但只有一个路由器处于master状态,这个Master状态才会进行流量转发。在同一VRRP组内的多个路由器共用一个虚拟地址,该地址被作为局域网内其他主机的默认网关。 VRRP决定哪个路由器为master状态,负责接收发送至用户网关的数据包并转发,以及响应PC对网关的arp请求。还有一个backup路由器侦听master状态,如果Master出现问题随时准备接替。

    一般呢,VRRP通过优先级判断谁是Master,最大的优先级成为Master。其它的成为Backup监听Master状态。优先级默认为100,如果当优先级一致的时候,比较IP地址大小,IP地址大的优先。如果Master崩了,组内仅次于Master的会成为新的Master。

 

四,运作过程

(1) INITIALIZE:

路由器启动时,如果路由器的优先级是255(最高优先级,当且仅当配置的VRRP虚拟IP地址和接口IP相同,即所谓IP地址拥有者),要发送VRRP通告信息,并发送广播ARP信息通告路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器准备定时发送VRRP通告信息,转为MASTER状态:否则进入BACKUP状态,设置定时器检查定时检查是否收到MASTER的通告信息。

(2) MASTER

Master担任着很多任务:首先它要定时对Backup虚拟路由们通告,表示自己还存在;它会用VRRP虚拟MAC地址响应路由器IP地址的ARP请求;会转发目的MAC是VRRP虚拟MAC的数据包;同时,它还具备网关相应的作用。

(3) BACKUP

Backup担任着以下功能:设置主机超时定时器,主机找不到了就要重新选举了;不能响应针对虚拟路由器IP的ARP请求信息,丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包,这些相应转发都由Master完成;当Master找不到了,那就要进行广播通告,告诉所有设备Master丢了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 基础(三)常用命令-文件目录

常用命令 man 和 --help文件(夹)文件补充命令 man 和 --help 查看命令帮助信息 man 命令命令 --helphelp 命令(适用于绑定在shell里面的一些基础命令) 文件(夹) mkdir -p dirrmdir -p dirrm -rf …cp […

Solr的入门使用

Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化,被很多需要搜索的网站中广泛使用。…

人员数量统计和跟踪的实现原理详细介绍,并提供完整实现代码

人数统计和跟踪项目的方法 目标是构建一个具有以下功能的系统。 读取视频中的帧。在输入框架上绘制所需的参考线。使用对象检测模型检测人员。标记检测到的人的质心。跟踪该标记质心的运动。计算质心移动的方向(向上还是向下移动)。计算进入或离开参考线的人数。根据计数,递…

C语言三子棋小游戏--数组的应用

注:在最后面,完整源码会以两种形式展现。在讲解时,以三个源文件的形式。 前言:三子棋,顾名思义,就是三个子连在一起就可以胜出。在本节我们要介绍的三子棋模式是这样子的:在键盘输入坐标&#x…

HTML详解连载(3)

HTML详解连载(3) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽表单作用使用场景 input标签基本使用示例type属性值以及说明 input标签占位文本示例注意 单选框 radio代码示例 多选框-checkbox注意代码示例 文本域作用标签&#xff1…

【前端 | CSS】flex布局

基本概念 Flexible模型,通常被称为 flexbox,是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力 我们说 flexbox 是一种一维的布局,是因为一个 flexbox 一次只能处理一个维度上的元素布局,一行或者…

R语言4_安装BayesSpace

环境Ubuntu22/20, R4.1 你可能会报错说你的R语言版本没有这个库,但其实不然。这是一个在Bioconductor上的库。 同时我也碰到了这个问题,ERROR: configuration failed for package systemfonts’等诸多类似问题,下面的方法可以一并解决。 第…

Mr. Cappuccino的第61杯咖啡——Spring之BeanPostProcessor

Spring之BeanPostProcessor 概述基本使用项目结构项目代码运行结果源代码 常用处理器项目结构项目代码执行结果 概述 BeanPostProcessor:Bean对象的后置处理器,负责对已创建好的bean对象进行加工处理; BeanPostProcessor中的两个核心方法&am…

[内网渗透]CFS三层靶机渗透

文章目录 [内网渗透]CFS三层靶机渗透网络拓扑图靶机搭建Target10x01.nmap主机探活0x02.端口扫描0x03.ThinkPHP5 RCE漏洞拿shell0x04.上传msf后门(reverse_tcp)反向连接拿主机权限 内网渗透Target2(1)路由信息探测(2)msf代理配置&a…

LeetCode150道面试经典题--找出字符串中第一个匹配项的下标(简单)

1.题目 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 2.示例 3.思路 回溯算法:首先将…

LeetCode[1122]数组的相对排序

难度:Easy 题目: 给你两个数组,arr1 和 arr2,arr2 中的元素各不相同,arr2 中的每个元素都出现在 arr1 中。 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现…

【mysql】MySQL CUP过高如何排查?

文章目录 一. 问题锁定二. QPS激增会导致CPU飘高三. 慢SQL会导致CPU飘高四. 大量空闲连接会导致CPU飘高五. MySQL问题排查常用命令 一. 问题锁定 通过top命令查看服务器CPU资源使用情况,明确CPU占用率较高的是否是mysqld进程,如果是则可以明确CUP飘高的原…

[ubuntu]创建root权限的用户 该用户登录后自动切换为root用户

一、创建新用户 1、创建新用户 sudo useradd -r -m -s /bin/bash 用户名 # -r:建立系统账号 -m:自动建立用户的登入目录 -s:指定用户登入后所使用的shell2、手动为用户设置密码 passwd 用户名 二、为用户增加root权限 1、添加写权限 ch…

【redis基础】

目录 一、概述 1.NoSQL 1.1 简述 1.2 类型 1.3 应用场景 1.3.1 缓存 1.3.2 分布式锁 1.3.3 计数器 1.3.4 会话管理 1.3.5 消息队列 2.Redis 2.1 简述 2.2 特性 2.3 监听端口号 2.4 数据类型 二、安装 1.编译安装 2.RPM安装 三、目录结构 1.查看 2.主配置文…

[保研/考研机试] KY163 素数判定 哈尔滨工业大学复试上机题 C++实现

题目链接: 素数判定https://www.nowcoder.com/share/jump/437195121691718831561 描述 给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。 输入描述: 测试数据有多组,每组输入一个数…

Nginx转发的原理和负载均衡

一、Nginx转发的原理 Nginx是一个高性能的反向代理服务器,它可以用于实现请求的转发和负载均衡。以下是Nginx转发的基本原理: 客户端发送请求:客户端向Nginx服务器发送HTTP请求。 Nginx接收请求:Nginx服务器接收到客户端的请求。…

[Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]

目录 15、钉钉告警创建项目群,然后添加机器人添加机器人Jenkins 系统配置项目配置修改Jenkinsfile文件,添加钉钉提示信息测试 不修改Jenkinsfile文件,添加钉钉提示信息测试 15、钉钉告警 创建项目群,然后添加机器人 首先需要在钉…

搭建 Python 环境 | Python、PyCharm

计算机 计算机能完成的工作: 算术运算逻辑判断数据存储网络通信…更多的更复杂的任务 以下这些都可以称为 “计算机”: 一台计算机主要由以下这几个重要的组件构成 CPU 中央处理器:大脑,算术运算,逻辑判断 存储器&…

Ubuntu下RabbitMQ安装与简单使用

一:RabbitMQ基本安装 1.更新依赖包(提前更新依赖包避免出现报错) sudo apt-get update 2.由于rabbitMq使用erlang语言开发,在安装rabbitMq之前需要安装erlang sudo apt-get install erlang 3.查看erlang是否安装成功 sudo erl 安装成功会出现下面的提示…

CSS 的选择器有哪些种类?分别如何使用?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 元素选择器(Element Selector)⭐ 类选择器(Class Selector)⭐ ID 选择器(ID Selector)⭐ 后代选择器(Descendant Selector)⭐ 子元素选择器&a…