当前位置: 首页 > news >正文

计算机网络-VRRP工作原理

一、VRRP工作原理

前面我们大概了解了VRRP的一些基础概念,现在开始学习VRRP的技术原理。VRRP的选举及工作步骤:

  • 确定网关地址
  • 选举主备
  • 主设备发送VRRP报文通知Backup设备
  • 主设备响应终端ARP并维持在Master状态
  • 终端正常发送报文到网关进行转发

因为我们前面大致说了在VRRP中网关IP可以是虚拟IP和MAC地址,因此我们需要确定网关IP是使用虚拟IP地址或者使用物理的接口地址,选择不同也会有些许差异,一般正常情况下使用虚拟IP进行响应。

VRRP只有一种报文Advertisement报文,多个路由设备通过发送Advertisement报文进行主备选举,在报文携带VRRP版本VRRP组IDVRRP优先级VRRP虚拟网关地址进行比较,先比较优先级,优先级大的优先,优先级相等则比较接口IP地址,IP地址大的优先,缺省优先级为100

一、VRRP状态变化

VRRP协议状态机有三种状态:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。

VRRP状态变化
VRRP状态变化

初始化状态就是在设备上配置完成时的状态,Master状态为主设备的状态,Nackup状态为备份设备的状态,备份设备会监听主设备发送的Advertisement报文,当定时器超时都没有收到主设备的报文时则备份设备切换为Master状态。

Master状态

  • 定期(ADVER_INTERVAL)发送VRRP报文。
  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 默认允许ping通虚拟IP地址。
  • 当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态。

Backup状态

  • 接收Master设备发送的VRRP报文,判断Master设备的状态是否正常。
  • 对虚拟IP地址的ARP请求,不做响应。
  • 丢弃目的MAC地址为虚拟MAC地址的IP报文。
  • 丢弃目的IP地址为虚拟IP地址的IP报文。
  • 如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小。

二、VRRP主备选举

2.1 当VRRP优先级不相等时主备选举过程

VRRP选举工作步骤,当优先级不一样时根据VRRP定时器的计算规则优先级大的切换为Master的时间较短。

优先级不相等的主备选举
优先级不相等的主备选举
  1. 确定网关IP地址为192.168.1.254,地址不是物理实际IP地址因此需要进行主备选举。
  2. R1的接口VRRP优先级为200,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态。
  3. R1与R2根据各自MASTER_DOWN定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态。
  4. R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器 。
  5. R1被选举为Master路由器后,状态切换为Master状态,立即发送免费ARP报文,后续终端发往192.168.1.254的报文会有R1进行响应回复给终端实现网络通信。

2.2 VRRP优先级相等时主备选举过程

优先级相同的同时为master,然后交互VRRP报文,根据IP地址大的为master。

优先级相等
优先级相等
  1. R1与R2的GE0/0/0接口VRRP优先级都是200,两台设备完成初始化后首先切换至Backup状态。
  2. 由于优先级相同,R1与R2的MASTER_DOWN定时器超时后,同时由Backup状态切换至Master状态。
  3. R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器,由于R2的接口IP地址大于R1的接口IP地址,因此R2被选举为Master路由器。
  4. R2被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。

2.3 配置为IP地址拥有者时主备选举过程:

在VRRP选举中有一种情况可以不进行主备选举,直接切换到Master状态:

  1. R1与R2的GE0/0/0接口VRRP优先级都采用默认配置(默认为100),但是R1的GE0/0/0接口IP地址与Virtual IP地址相同。
  2. R1的GE0/0/0接口直接切换至Master状态,R1成为Master路由器。
  3. 无法手动将VRRP接口优先级配置为255,当接口IP地址为IP地址拥有者时,优先级自动成为255。
网关地址为物理接口地址
网关地址为物理接口地址

总结:VRRP只有一种报文Advertisement报文。VRRP状态有3种:Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。当接口地址为虚拟网关地址时,直接切换为Master状态,否则需要等待定时器超时进行主备选举;当优先级不同时优先级大的优先成为主设备;当优先级相同时接口IP地址大的优先成为主设备。

本文由 mdnice 多平台发布

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 时下改变AI的6大NLP语言模型
  • 【TDesign】如何修改CSS变量
  • ubuntu 常见问题的收录
  • 【专题】2024全球电商消费电子市场研究报告合集PDF分享(附原数据表)
  • scss中常用的函数
  • 华为云Flexus云服务器X实例与AI大模型融合实践:打造高效智能应用
  • 【C++学习笔记 19】C++中的对象生存周期
  • springboot +easyexcel 下载工具类
  • MLLM(二)| 阿里开源视频理解大模型:Qwen2-VL
  • 毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线
  • WebSocket入门
  • 【C/C++】C语言实现蛇形矩阵
  • 系统研发规范流程、研发管理办法制度等(Word原件)
  • Oracle WITH简单例子
  • 一键云迁移:利用VMware PowerCLI将OVA虚拟机顺利迁移到AWS
  • 11111111
  • 4. 路由到控制器 - Laravel从零开始教程
  • C++类中的特殊成员函数
  • Create React App 使用
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Hibernate最全面试题
  • OSS Web直传 (文件图片)
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 给初学者:JavaScript 中数组操作注意点
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 入手阿里云新服务器的部署NODE
  • 实战|智能家居行业移动应用性能分析
  • 系统认识JavaScript正则表达式
  • 一起参Ember.js讨论、问答社区。
  • 在Unity中实现一个简单的消息管理器
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (06)金属布线——为半导体注入生命的连接
  • (4.10~4.16)
  • (day18) leetcode 204.计数质数
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (javascript)再说document.body.scrollTop的使用问题
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (八)Flask之app.route装饰器函数的参数
  • (编译到47%失败)to be deleted
  • (第30天)二叉树阶段总结
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (过滤器)Filter和(监听器)listener
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (四)汇编语言——简单程序
  • (一) springboot详细介绍
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包