VRRP协议基础

article/2025/10/9 5:07:46

参考文章https://blog.csdn.net/u013920085/article/details/21184143
VRRP(Virtual Router Redundancy Protocol)即和可靠,它是一种容错协议,它保证当用户设备的下一跳路由器失效时,可以及时的由另一台路由器来替代,从而保持通讯的连续和可靠。跟TCP的协议号为6,UDP的协议号为17,ICMP的协议号为1一样,VRRP协议一样需要协议号,为112

VRRP通过交互报文的方法将多台路由器模拟成一台虚拟路由器(该虚拟路由器可以有多个虚拟IP地址),网络上的主机与虚拟路由器进行通讯。一旦VRRP组中的某台物理路由器失效,其它路由器自动接替工作。
这里写图片描述

1、VRRP相关概念
(1) VRRP路由器
运行VRRP协议的路由器
(2) VRRP组(VRID)
由多个VRRP路由器组成,属于同一VRRP组的VRRP路由器相互交换信息
(3) 虚拟路由器
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关(下一跳)
(4) 虚拟IP地址、MAC地址
用于标识虚拟的路由器,该地址实际上就是用户的默认网关
(5) Master、Backup路由器
Master路由器就是在VRRP组实际转发数据包的路由器,Backup路由器就是在VRRP组中处于监听状态的路由器。一旦Master路由器出现故障,Backup路由器就开始接替工作

2、VRRP的3种状态
(1) 初始化状态
路由器刚刚启动时进入此状态,通过VRRP报文交换数据后进入其它状态
(2) 活动状态(Master)
VRRP组中的路由器通过VRRP报文交换后确定的当前转发数据包的一种状态
(3) 备份状态(Backup)
VRRP组中的路由器通过VRRP报文交换后确定处于监听的一种状态

3、VRRP报文
这里写图片描述
VRRP报文是一种多播报文,由Master路由器发出来通告它的存在,使用VRRP报文可以检测虚拟路由器的各种参数,用于主路由器的选择。VRRP报文是封装在IP报文中,通过组播的方式传送。也就是说VRRP协议跟ICMP协议一样,工作在第三层(路由层),它是不具有端口的说法的
(1) Version:VRRP协议版本号
(2) Type:指明VRRP报文类型,RFC3768只定义了一种VRRP报文,即VRRP通告报文,所以该字段总为1(若收到的VPPR通告报文的该字段的类型为非1则会被丢弃)
(3) Virtual Rtr ID:即上面讲的大VRID。一个VRID唯一标识了一个虚拟路由器,取值范围为[1,255]。(所以一台路由器的接口最多可以运行255个VRRP组)
(4) Priority:优先级。虚拟路由器中用该字段来决定Master路由器和Backup路由器,值越大表明优先级越高,取值为[1,255],缺省值为100。假设虚拟路由器的IP地址跟VRRP组中某台路由器IP地址相同,那么该路由器的发出的VRRP报文的该字段总为255,即使人为指定为其他值也不受影响。若此字段为0表示这是Master路由器出现故障发送的VRRP通告报文,当Backup路由器收到此通告报文后,会等待Skew time时间,然后将自己切换为Master路由器
(5) Count IP Addrs:VRRP通告报文中包含的IP数目,即被一个VRRP虚拟路由器所分配的IP地址的数量。
(6) Auth Type:认证类型字段,一个虚拟路由器只能使用一种认证类型,若Backup路由器收到的通告报文段中认证类型字段是未知或者和本地配置不匹配,则将该数据包丢弃。
认证类型字段的定义:

0表示无认证
1表示保留,向前一个版本的RFC2338提供兼容性
2表示保留,向前一个版本的RFC2338提供兼容性

(7) Adver Int:Mater路由器向外发送VRRP通告报文的时间间隔,以秒为单位,取值范围是[1,255],缺省为1
(8)Checksum:整个VRRP报文的校验和
(9) IP Address:VRRP虚拟路由器的虚拟IP地址(可配置多个)
(10) Authentication Data:为了向RFC2338兼容,在实际的封装时,全置为0.,接收方会忽略此字段

4、工作原理
这里写图片描述
如图,三台物理路由设备使用VRRP通告报文发现对方,并生成虚拟路由器6.6.6.6,比较各自的优先级和IP地址,它们只有一台成为主机路由,另外两台为备用路由器。用户的网关为虚拟出来的路由器,在VRRP组中主机路由器出现故障后,根据优先级,主机路由由到另外两台物理路由设备之一。
下面结合VRRP路由器的三种状态机分析VRRP组的工作流程:
(1) 初始状态(Initialize)
配置好VRRP后,VRRP等待一个开始事件,即为初始状态。初始状态会依次执行:
a. 若本地优先级为255,即自身是IP拥有者路由器,它为主路由器,那么:

  1. 发送VRRP通告报文
  2. 广播免费ARP请求报文,内部封装的请求IP地址是虚拟IP地址(可以多个,对应发多个免费ARP请求报文),普通ARP请求报文的MAC地址用于存放目标机器返回的MAC地址,因为是免费ARP报文,所以该字段是本地的MAC地址。(免费ARP请求的目的是:①广播,告诉整个广播域,目前这个IP对应的MAC地址是什么;②查看广播域内有没有别的主机使用自己的IP,如果有,则提示IP冲突)
    3)启动Advertisement定时器,产生Advertisement_Interval时间间隔,本路由器按照该参数定义的时间间隔来发送VRRP通告报文,默认为1S。
    4)本地VRRP进程将自身切换为Master路由器。
    b. 若本地优先级不是255,那么:
  3. 启动Master Down定时器产生Master_Down_Timer时间间隔(计时器超时Backup路由器会宣布主路由器宕机)
    2)本地VRRP进程将自己切换为Backup路由器

(2) 备份路由器状态(Backup)
备份路由器是为了监控Master路由器的状态:
1)不响应对虚拟IP地址的ARP免费请求报文、丢弃帧头目的MAC地址是虚拟Mac地址的帧、丢弃IP头中目的IP地址是虚拟IP地址的包
2)在Master_Down_Timer时间间隔内若接收到Master路由器发出的VRRP通告报文:
① 该VRRP通告报文的priority字段为0时证明主路由器出现故障,那么本Backup路由器将Master_Down_Timer置为Skew_Time,Skew_Time后将自己置为Master操作;
② 该VRRP通告报文不为0且大于或等于本地优先级,那么本地重置Master_Down_Timer
③ 该VRRP通告报文不为0且小于本地优先级,若开启抢占模式,那么该Backup路由器等待指定的抢占延迟时间后将自己切换为Master路由器,执行Master路由器的所有动作;若没有开启抢占模式,本地路由器保持Backup状态。
若超时没有接收Master路由器发出的VRRP通告报文证明主机路由宕机,那么需要将本地切换为Master路由器等操作。
3)VRRP进程收到了一个shutdown事件,取消Adver_Timer计时器,切换为初始状态

(3) 主路由器状态状态(Master)
当路由器处于Master状态时,进行:

  1. 响应对虚拟IP地址的ARP请求
  2. 转发目的MAC地址是虚拟MAC地址的数据帧
  3. 拒绝目的IP地址是虚拟IP地址的数据包,若Master路由器是虚拟IP地址拥有者则除外
  4. 若Adver_Timer计时器超时或收到了一个VRRP报文且其优先级为0,发送一个VRRP通告报文和重置Adver_Timer计时器
  5. 开启抢占模式后,如果收到了一个VRRP报文且其优先级高于本地优先级,或者收到的VRRP报文优先级等于本地优先级但是主IP地址高于本地的主IP地址,取消Adver_Timer计时器和 设置Master_Down_Timer计时器为Master_Down_Interval,切换为Backup状态
  6. VRRP进程收到了一个shutdown事件,取消Adver_Timer计时器,发送一个优先级字段置零的VRRP通告报文,切换为初始状态

http://chatgpt.dhexx.cn/article/tES3gakk.shtml

相关文章

RPL协议介绍

RPL是IPv6 Routing Protocol for Low-Power and Lossy Networks的简称。 低功耗及有损网络(LLN)是一类内部链接和路由器都受限的网络,该网络下的路由器的处理器功能、内存及系统功耗(电池供电)都可能受到较大的限制&am…

RIPv2协议

RIPv2协议 RIPv2是增强了的RIP协议,定义在RFC 1721和RFC 1722(1994)中。RIPv2基本上还是一个距离矢量路由一协议,但是有三方面的改进。 1、使用组播而不是广播来传播路由更新报文,并且采用了触发更新(triggered upda…

RIP协议包括V1、V2版本

R2已经完成了RIPv2配置并在其GE0/0/0接口上激活了RIPv2,如果R1采用如下配置,那么R2路由表中存在多少条RIP路由,分别是什么? R1配置: [R1]rip 1 [R1-rip-1]version 2 [R1-rip-1]network 172.16.0.0 在RIP V2 版本中 V…

HRP协议详解

今天继续给大家介绍HCIE安全系列相关内容。本文给大家介绍HRP协议的相关理论知识,包括概述、数据备份范围、数据备份方式、备份通道状态和备份通道选择五个方面。 阅读本文,您需要有一定的防火墙基础知识,如果您对此存在困惑,欢迎…

RSVP协议介绍

Internet是一种互连网络,网络中存在着大量的中间节点(即路由器)。如果用户使用无连接协议来传输数据流,则该数据流的各个数据报在通过中间节点转发时可能会产生两个问题,一是各个数据报的转发路径不同,并非顺序到达目的端&#xf…

VRRP协议的作用

文章目录 一、VRRP概述1.1 VRRP概述1.2 应用1.3VRP工作原理1.4选举依据 二、VRRP术语2.1虚拟路由器 三、虚拟MAC地址3.1虚拟MAC地址3.2选举出master、backup 选举的依据3.3PC怎么找到虚拟的IP地址3.4master3.5backup 四、VRRP协议的状态共有三种五、Master/Backup路由器六、VRR…

VRRP协议概述

目录 一.作用 二.优点 三.工作原理 总结 一.作用 出口网关的备份,保证出口网关的高可用性 二.优点 1.主路由器失效后,备份路由器立即顶替主路由器的工作,保证数据的不丢失 2.两个不同的路由器成为不同组的主路由器,相互备…

VRRP协议

目录 一.基本概述: 二.VRRP实验 三.VRRP实现主备切换和负载分担 实现主备切换 端口跟踪 抢占时延 实现负载分担 就是为了防止三层设备出现单点故障,做备用网关的 一.基本概述: 1.VRRP能在不改变组网的情况下,将路由器虚拟…

VRRP协议详解

1 概述 1.1 产生背景 随着Internet的发展,人们对网络可靠性的要求越来越高。特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的。一般来说,主机通过设置默认网关来与外部网络联系,如图1所示: 图…

RRPP协议

RRPP协议 产生背景 在网络规划和实际组网应用中,大多采用环网来提供高可靠性。环网技术简单来说,就是将一些网络设备通过环的形状连接到一起,实现相互通信的一种技术。 为了避免环网中产生广播风暴,最初采用了已被普遍应用的STP协…

VRRP协议介绍

目录 一.VRRP协议 1.1 VRRP协议介绍 1.2 VRRP的功能 二.VRRP术语 2.1 VRRP路由器 2.2 VRRP组 2.3 虚拟路由器 2.4 虚拟IP地址、MAC地址: 2.5 Master、 Backup路由器: 2.6 Backup路由器: 2.7 虚拟MAC地址 三.VRRP状态机 四.Master/Backup路由器 4.1 …

小程序分享(转发)功能

小程序官方文档: 页面内发起转发 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E9%A1%B5%E9%9D%A2%E5%86%85%E5%8F%91%E8%B5%B7%E8%BD%AC%E5%8F%91 1,页面内发起转发 通过给 button 组件设置属性 open-type…

WeChat小程序如何实现转发功能?

官网文档:链接: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html. 一、点击小程序转发 1. 不加参数 //转发onShareAppMessage: function() {let users wx.getStorageSync(user);if (res.from button) {}return {title: …

微信小程序开发中怎么设置转发(分享)的信息

如果什么都不设置,转发时默认名称是小程序的名称,转发的图片显示的是当前页面的截图,如图一 如何在自定义转发信息呢? 在进行转发的页面中: Page({onShareAppMessage: function () {return {title: 做任务赢积分,image…

实现微信小程序的分享转发功能(可以从分享页返回小程序首页)

先附上官方文档&#xff1a;微信小程序转发文档 最简单是做法就是在转发按钮上添加上这句open-type“share” <button open-type"share">转发按钮</button>这样点击这个按钮的时候就已经有转发功能了&#xff0c;但是这种转发是只能查看转发页&#xff…

微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面

微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面 首先&#xff0c;小程序官网地址&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/short-link/generateShortLink.html#%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F 官…

uniapp小程序分享转发功能

1、当前页面使用转发按钮 官网的介绍 <button type"default" open-type"share" ShareAppMessage"onShareAppMessage()" class"share-btn">转发</button>data(){ return{//设置默认的分享参数share:{title:活动分享,path:…

小程序携带参数转发

小程序携带参数转发 在项目中有做一个需求&#xff0c;老师转发一张图片&#xff0c;学生登录的时候要获取老师转发图片中的信息&#xff0c;这个信息就要在转发的路径path中定义。 需要转发的图片&#xff1a; 上图绿色部分的文字需要发送一个request才能获取到&#xff0c;前…

微信小程序 转发分享功能

转发 获取更多转发信息 通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息&#xff0c;例如群的标识。现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true &#xff0c;当用户将小程序转发到任一群聊之后&#xff0c;此转发卡片在群聊中被其他…

小程序之 实现转发/分享功能

1.点击右上角转发菜单实现转发/分享 点击右上角胶囊按钮的转发菜单 2.点击’转发’ 3. 最终效果如图所示: wxml部分代码如下: <text>hello world!</text>js部分代码如下: onShareAppMessage: function (res) {console.log(res.from)return {title: 标题标题标…