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

VRRP

文章目录

  • VRRP基本原理
    • 技术背景
    • VRRP作用
    • VRRP概述
    • VRRP名词解释
      • VRRP路由器
      • VRRP组
      • 虚拟路由器
      • 虚拟IP地址、MAC地址
      • Master、Backup路由器
    • VRRP状态机
    • Master/ Backup 路由器
      • Master路由器:
      • Backup路由器:
    • VRRP的工作过程
  • VRRP基础配置![image.png](https://img-blog.csdnimg.cn/img_convert/f0dd15e87031486cd63395a66c7d6fe8.png)

VRRP基本原理

技术背景

为了解决单个路由器会有单点故障导致无法使用

VRRP作用

提供了局域网上的设备备份机制
VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时由另一台路由器来代替,从而保证通讯的连续性和可靠性。

VRRP概述

  • Virtual Router Redundancy Protocol,也即虚拟路由器冗余协议。
  • 利用VRRP,一组路由器(同一个LAN中的接口)协同工作 但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。(VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器,该路由器充当网络用户的网关,使得网络的主机与虚拟路由器通信无需了解这个网络上物理路由器的任何信息。)
  • VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。
  • Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。
  • 当Master正常 工作时每隔一段时间( 缺省为1秒)向组内Backup设备发送vrrp通告报文,通告自己工作正常。(注: 只有Master发送VRRP报文)
  • VRRP通告报文被封装在IP报文里,通过组播地址224.0.0.18发送, TTL为255, 协议号为112

VRRP名词解释

VRRP路由器

一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。

VRRP组

一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID,虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master。

虚拟路由器

对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master故障后谁来接替,这是VRRP的工作。

虚拟IP地址、MAC地址

虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。
虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有
一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。
image.png

Master、Backup路由器

Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间
隔发送VRRP消息,以便通知Backup路由器自己的存活情况。
Backup路由器:处于监听状态的路由器,一旦Master路由器出现故障,Backup路由器就开始接替工作。
选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)。

VRRP状态机

  • VRRP协议的状态共有三种
  • 分别是Initialize,Master,Backup
  • 初始状态都是Initialize
  • 通过比较优先级产生Master和Backup
  • 在规定时间内,Backup若没有收到Master发来的心跳报文,将切换为Master

image.png

Master/ Backup 路由器

Master路由器:

  • 定时(Advertisement Interval)发送VRRP通告报文,以便向Backup路由器告知自己的存活情况。
  • 以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 如果它是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址),则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
  • 如果收到比自己优先级大的报文,立即成为Backup。
  • 如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。

Backup路由器:

  • 接收Master设备发送的VRRP通告版文,判断Master设备的状态是否正常。
  • 对虚拟IP地址的ARP请求,不做响应。
  • 丢弃目的IP地址为虚拟IP地址的IP报文。
  • 如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较IP地址。
  • 如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master

VRRP的工作过程

  1. VRRP组中的设备选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
  2. Master设备周期性向备份组内所有Backup设备发送VRRP通告报文。
  3. 如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master。
  4. VRRP组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。原Master设备故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
  5. Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
    抢占(Preempt)
    image.png
  • R2加入到网络后,接口的VRRP状态首先过渡到Backup,在收到R1发送的VRRP报文后,由于本地接口的VRRP优先级大于报文中的优先级,因此如果设备激活Preempt(缺省启用)则可立即抢占Master的角色,过渡到Master状态,R2开始发送VRRP消息。
  • 可修改抢占延迟时间,缺省该时间为0s。

VRRP基础配置image.png

测试
image.png
image.png
image.png
关闭R1的g0/0/1口
image.png
image.png
测试
image.png
image.png

相关文章:

  • 创新指南|领导者如何评估自己的表现——麦肯锡专有的CEO卓越评估工具
  • 淘宝api接口是什么意思?api接口申请资格是什么?
  • echarts绘制三维柱状图
  • WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能
  • Ubuntu server 24 (Linux) IPtables 双网卡 共享上网NAT 安装配置DHCP
  • Lambda 表达式练习
  • iOS hitTest 机制用处之二-----使用pointInside方法
  • Flutter 中的 SliverCrossAxisExpanded 小部件:全面指南
  • 零基础入门篇①⑥ Python可变序列类型--字典
  • Webrtc支持HEVC之FFMPEG支持HEVC编解码(一)
  • 【Python如何将EXCEL拆分】
  • 精准检测,安全无忧:安全阀检测实践指南
  • 单片机控制语音芯片的录放音系统的设计
  • C语言之旅:探索单链表
  • TalkingData数据统计:洞察数字世界的关键工具
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【React系列】如何构建React应用程序
  • AngularJS指令开发(1)——参数详解
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Flex布局到底解决了什么问题
  • interface和setter,getter
  • isset在php5.6-和php7.0+的一些差异
  • javascript从右向左截取指定位数字符的3种方法
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java反射-动态类加载和重新加载
  • KMP算法及优化
  • magento 货币换算
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • use Google search engine
  • Vue小说阅读器(仿追书神器)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 利用DataURL技术在网页上显示图片
  • 免费小说阅读小程序
  • 前嗅ForeSpider采集配置界面介绍
  • 如何设计一个比特币钱包服务
  • 深入浏览器事件循环的本质
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​iOS安全加固方法及实现
  • # Kafka_深入探秘者(2):kafka 生产者
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (五)关系数据库标准语言SQL
  • (一)插入排序
  • (转)ObjectiveC 深浅拷贝学习
  • (转)原始图像数据和PDF中的图像数据
  • .NET 5种线程安全集合