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设备分担在不同设备上;单台设备可以加入多个备份组,在不同的备份组中扮演不同的角色。

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

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

相关文章

网络体系结构 和网络原理之UDP和TCP

目录 网络分层 一. 应用层 http协议 二. 传输层 1. 介绍 2.UDP协议 (1)组成 (2)细节 3.TCP协议 (1)特性如下链接: (2)组成 (3)特点 三. 网络层 四. 数据链路层 1.介绍 2.以太网协议 3.mac地址和ip地址 五. 物理层 DNS 网络分层 一. 应用层 应用程序 现成的…

《幻兽帕鲁》最全攻略合集!持续更新数据中!幻兽帕鲁下载 幻兽帕鲁爆火

《幻兽帕鲁》是由日本开发商Pocket Pair推出的一款动作冒险生存游戏。这款游戏以丰富的养成内容和高度自由的探索、冒险和建造玩法而受到玩家的好评。虽然《幻兽帕鲁》官方只推出了Windows电脑版本,但是很多Mac电脑玩家利用Crossover,也成功玩上了《幻兽…

Idea设置代理后无法clone git项目

背景 对于我们程序员来说,经常上github找项目、找资料是必不可少的,但是一些原因,我们访问的时候速度特别的慢,需要有个代理,才能正常的访问。 今天碰到个问题,使用idea工具 clone项目,速度特…

Github 2024-01-30 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-01-30统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4TypeScript项目2Jupyter Notebook项目2HTML项目1Rust项目1C项目1 稳定扩散Web UI 创建周期&…

【Docker】docker安装jenkins

一、执行命令 下载jenkins镜像 #下载jenkins 镜像 docker pull jenkins/jenkins:latest-jdk8 启动jenkins容器 #启动jenkins 容器 #挂载 如果不挂载 每次启动jenkins的配置、插件、用户等信息都没有了 #jenkins_home 包含jenkins配置、插件、用户等信息。 要指定必须配置用…

delphi fmxui 做的一些跨平台app

pascal语音显然已经没落,但delphi还在坚挺着,每年都会发布新版本, 主要是做跨平台应用。 如果你觉得qt qml 写android app 比较麻烦,那可以尝试delphi 12,可以用c builder 尝试 android,ios 开发 下面的…

数据写入HBase(scala)

package sourceimport org.apache.hadoop.hbase.{HBaseConfiguration, TableName} import org.apache.hadoop.hbase.client.{ConnectionFactory, Put} import org.apache.hadoop.hbase.util.Bytesobject ffff {def main(args: Array[String]): Unit {//hbase连接配置val conf …

通过Opencv进行角点检测

目录 引入 介绍 ①使用的主要函数介绍 ②实际例子解释 ③自相似性是什么? 引入 我们想要获取图片上的角点,就要用到我们的harris角点检测 介绍 ①使用的主要函数介绍 cv2.cornerHarris() img: 数据类型为 float32 的入图像 不是float32的数据要使用&#xff0…

三、ElasticSearch集群搭建实战

本篇ES集群搭建主要是在Linux VM上,未使用Docker方式, ES版本为7.10 ,选择7.10版本原因可以看往期文章介绍。 一、ElasticSearch集群搭建须知 JVM设置 Elasticsearch是基于Java运行的,es7.10可以使用jdk1.8 ~ jdk11之间的版本,更高版本还没…

R语言(数据导入,清洗,可视化,特征工程,建模)

记录一下痛失的超级轻松的数据分析实习(线上),hr问我有没有相关经历,我说我会用jupyter book进行数据导入,清洗,可视化,特征工程,建模,python学和用的比较多,…

2024不可不会的StableDiffusion之扩散模型(四)

1. 引言 这是我关于StableDiffusion学习系列的第四篇文章,如果之前的文章你还没有阅读,强烈推荐大家翻看前篇内容。在本文中,我们将学习构成StableDiffusion的第三个基础组件基于Unet的扩散模型,并针该组件的功能进行详细的阐述。…

Hbase-2.4.11_hadoop-3.1.3集群_大数据集群_SSH修改默认端口22为其他端口---记录025_大数据工作笔记0185

其实修改起来非常简单,但是在大数据集群中,使用到了很多的脚步,也需要修改, 这里把,大数据集群,整体如何修改SSH端口,为22022,进行总结一下: 0.hbase-2.4.11的话,hbase集群修改默认SSH端口22,修改成22022,需要修改 需要修改/opt/module/hbase-2.4.11/conf/hbase-env.sh 这里…