VRRP----虚拟路由器冗余协议(技术专题)

news2024/11/24 6:20:42

目录

一、VRRP的基本原理

1.1 技术背景

1.2 VRRP带来了什么

1.2.1 VRRP的作用

1.2.2 VRRP工作的过程

1.2.3 VRRP报文:

1.3 VRRP术语

1.3.1 虚拟IP地址、MAC地址

1.3.2 Master、Backup路由器

二、VRRP的基础配置

实例一

需求

配置


一、VRRP的基本原理

1.1 技术背景

1.2 VRRP带来了什么

1.2.1 VRRP的作用

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

1.2.2 VRRP工作的过程

VRRP组中的设备选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务.。

Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,

如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master。

VRRP组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。

原Master设备故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。

Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。

注意

VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器,该路由器充当网络用户的网关,使得网络E的主机与虚拟路由器通信无需了解这个网络上物理路由器的任何信息。

Master报文的发送:当Master正常 工作时,它会每隔一段时间( 缺省为1秒)向组内Backup设备发送vrrp通告报文,通告自己工作正常。(注: 只有Master发送VRRP报文)

VRRP通告报文被封装在IP报文里,通过组播地址224.0.0.18发送, TTL为255, 协议号为112

1.2.3 VRRP报文:

VRRP报文是一种多播报文,由Master路由器发出来通告它的存在,使用VRRP报文可以检测虚拟路由器的各种参数,用于主路由器的选择。VRRP报文号是封装在IP报文中,通过组播的方式传送。也就是说VRRP协议跟ICMP协议一样,工作在第三层(路由层),它是不具有端口的说法的。

  •  Version: VRRP协议版本号, RFC3768定义了版本号2
  • Type:指明VRRP报文类型,RFC3768只定义了一种VRRP报文,即VRRP通告报文,所以该字段总为1 (若收到的VPPR通告报文的该字段的类型为非1则会被丢弃)
  • Virtual Rtr ID:即上面讲的大VRID.一个VRID唯一标识了 一个虚拟路由器,取值范围为[1,255]。 (所以一台路由器的接口最多可以运行255个VRP组)
  • Priority:优先级。虚不受影响。若此字段为0表示这是Master路由器出现故障发送的VRRP通告报文,当Backup路 由器收到此通告报文后,会等待(Skew time (256- Backup路拟路由器中用该字段来决定Master路由器和Backup路由器,值越大表明优先级越高,取值为[1,255],缺省值为100。假设虚拟路由器的IP地址跟VRRP组中某台路由器IP地址相同,那么该路由器的发出的VRRP报文的该字段总为255,即使人为指定为其他值也由器的优先级) /256)秒时间,然后将自己切换为Master路由器。
  • CountIPAddrs:VRRP通告报文中包含的IP数目,即被一个VRRP虚拟路由器所分配的IP地址的数量。
  • Auth Type:认证类型字段,一个虚拟路由器只能使用一种认证类型,若Backup路由器收到的通告报文段中认证类型字段是未知或者和本地配置不匹配,则将该数据包丢弃。

       认证类型字段的定义:
       0表示无认证
       1表示保留,向前一个版本的RFC2338提供兼容性

       2表示保留,向前一个版本的RFC2338提供兼容性

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

1.3 VRRP术语

1.3.1 虚拟IP地址、MAC地址

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

1.3.2 Master、Backup路由器

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

二、VRRP的基础配置

[R1]int vlanif 10       ####网关接口(三层交换为VLAN接口,路由器为下行接口)
[R1-Vlanif10]ip address 192.168.10.11 24
[R1-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1  ###创建VRRP虚拟路由器的标识vrid为1,并配置vrid 1的虚拟IP地址
[R1-Vlanif10]vrrp vrid 1 priority 120   ####设置设备A的优先级为120 (缺省值为100),数值越大越优先
[R1-Vlanif10]vrrp vrid 1 preempt-mode timer delay 6
###配置Master设备的抢占时延为6秒(缺省值为0,立即抢占),以防频繁地进行状态切换
[R1-Vlanif10]vrrp vrid 1 track interface GigabitEthernet0/0/1 reduce 30
###跟踪上行接口G0/0/1的状态,如端口故障则Master优先级降低30 (缺省值为10)
[R1-Vlanif10]vrrp vrid 1 track interface g0/0/2   ####跟踪下行接口

[R2]int vlanif 10
[R2-Vlanif10]ip address 192.168.10.10 24
[R2-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
[R2-Vlanif10]vrrp vrid 1 priority 95
[R2]dis vrrp
##显示VRRP状态
PC测试验证,tracert 10.0.0.1

实例一

需求

配置

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

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

相关文章

Spring Cloud工程添加子模块打包后文件为war包而非jar包

Spring Cloud工程添加子模块打包后文件为war包而非jar包 Spring Cloud子模块打出的包通常是JAR包而非WAR包,这是因为Spring Cloud主要基于Spring Boot构建,而Spring Boot默认打包为可执行JAR包。然而,如果遇到了Spring Cloud子模块打成了WAR…

计算机毕业设计Spark+Flink+Hive地铁客流量预测 交通大数据 地铁客流量大数据 交通可视化 大数据毕业设计 深度学习 机器学习

项目说明​ ​ 1该项目主要分析通刷卡数据,通过大数据技术来研究地铁客运能力及探索优化服务的方向​ 2主要讲解Flink流处理实时分析部分,离线部分较简单,暂时略过​ ​ 技术架构​ ​项目流程:​ 采用python请求深圳地铁数…

每天五分钟深度学习:逻辑回归算法的单样本的梯度下降计算

本文重点 上节课我们已经知道了如何利用计算图通过链式法则来求解输出J对变量的梯度或者导数。本节课程我们将通过逻辑回归这一个具体的例子,来演示如何使用计算图完成逻辑回归的梯度下降算法。 逻辑回归 逻辑回归算法的目标函数,损失函数,代价函数,以及参数更新的方式如…

Ffmpeg安装和简单使用

Ffmpeg安装 下载并解压 进入官网 (https://ffmpeg.org/download.html),选择 Window 然后再打开的页面中下滑找到 release builds,点击 zip 文件下载 环境变量配置 下载好之后解压,找到 bin 文件夹,里面有3个 .exe 文件 然后复制…

度安讲 | 第二期「安全左移·业务护航」技术沙龙成功举办

当下,“安全左移”作为落地DevSecOps的重要实践之一,已在业界达成共识。DevSecOps作为一种集开发、安全、运维于一体的软件开发和运营模式,强调在敏捷交付下,“安全”在软件开发生命周期的全覆盖贯穿和核心位置。所谓“安全左移”…

vue 文件预览mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml

vue 文件预览 图片、mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml 最近公司要做一个类似电脑文件夹的功能,支持文件夹操作,文件操作,这里就不说文件夹操作了,说说文件预览操作,本人是后端java开发,前端vue&#…

gRPC实战 | 实现Python 和 Go 之间的 gRPC 交互

前言 📢博客主页:程序源⠀-CSDN博客 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 一、gRPC 简介 gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设…

eNSP学习——RIP路由协议的汇总

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、配置RIPv1协议 3、配置RIPv2自动汇总 4、配置RIPv2手动汇总 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全…

Acwing 786.第K个数

Acwing 786.第K个数 题目描述 786. 第k个数 - AcWing题库 运行代码 #include <iostream> #include <algorithm> using namespace std; const int N 100010; int q[N];int main() {int n, k;scanf("%d%d", &n, &k);for (int i 0; i < n; …

网络通讯协议UDP转发TCP工具_UdpToTcpRelay

网络通讯协议UDP转发TCP工具_UdpToTcpRelay 本程序旨在提供一个灵活的、可配置的服务&#xff0c;它处理特定的UDP端口以接收命令&#xff0c;然后将这些命令转换为TCP命令并通过网络发送到指定的TCP服务器【TCP支持十六进制和ASCII】。 此设计特别适用于需要远程控制或自动化…

百度/迅雷/夸克,网盘免费加速,已破!

哈喽&#xff0c;各位小伙伴们好&#xff0c;我是给大家带来各类黑科技与前沿资讯的小武。 之前给大家安利了百度网盘及迅雷的加速方法&#xff0c;详细方法及获取参考之前文章&#xff1a; 刚刚&#xff01;度盘、某雷已破&#xff01;速度50M/s&#xff01; 本次主要介绍夸…

Day23 自定义对话框服务

​本章节实现了,自定义对话框服务的功能 当现有的对话框服务无法满足特定需求时,我们可以采用自定义对话框的解决方案,以更好地满足一些特殊需求。 一.自定义对话框主机服务步骤 在Models 文件夹中,再建立一个 IDialogHostService 接口类,继承自 IDialogService 对话框服…

[个人总结]-java常用方法

1.获取项目根路径 user.dir是一个系统属性&#xff0c;表示用户当前的工作目录&#xff0c;大多数情况下&#xff0c;用户的当前工作目录就是java项目的根目录&#xff08;src文件的同级路径&#xff09; System.getProperty("user.dir") 结果&#xff1a;D:\code…

什么是IDE?– 集成开发环境

IDE &#xff08;集成开发环境&#xff09;是将常用的开发人员工具组合到紧凑的 GUI&#xff08;图形用户界面&#xff09;应用程序中的软件。它是代码编辑器、代码编译器和代码调试器等工具与集成终端的组合。 为什么 IDE 很重要&#xff1f; 人们当然不需要 IDE来编码或开发…

【动手学深度学习】softmax回归从零开始实现的研究详情

目录 &#x1f30a;1. 研究目的 &#x1f30a;2. 研究准备 &#x1f30a;3. 研究内容 &#x1f30d;3.1 softmax回归的从零开始实现 &#x1f30d;3.2 基础练习 &#x1f30a;4. 研究体会 &#x1f30a;1. 研究目的 理解softmax回归的原理和基本实现方式&#xff1b;学习…

Python SQLAlchemy库详解

大家好&#xff0c;在Python生态系统中&#xff0c;SQLAlchemy库是一个强大的工具&#xff0c;为开发人员提供了便捷的方式来处理与数据库的交互。无论是开发一个小型的Web应用程序&#xff0c;还是构建一个大型的企业级系统&#xff0c;SQLAlchemy都能满足你的需求&#xff0c…

hid.dll丢失怎么办?hid.dll丢失多种解决方法详解

hid.dll&#xff0c;即Human Interface Device (HID) Dynamic Link Library&#xff0c;是Windows操作系统中用于管理人机交互设备&#xff08;如键盘、鼠标、游戏控制器等&#xff09;的动态链接库文件。它负责处理这些设备的输入和输出&#xff0c;确保设备与系统之间的通信顺…

SpringBoot+Vue在线考试答题系统【附:资料➕文档】

前言&#xff1a;我是源码分享交流Coding&#xff0c;专注JavaVue领域&#xff0c;专业提供程序设计开发、源码分享、 技术指导讲解、各类项目免费分享&#xff0c;定制和毕业设计服务&#xff01; 免费获取方式--->>文章末尾处&#xff01; 项目介绍016&#xff1a; 本…

windows10子系统wsl ubuntu22.04下GN/ninja环境搭建

打开windows10子系统 ubuntu22.04 ubuntu22.04: 首先需要 安装ninja $sudo apt install ninja-build $ ninja --version 1.10.0 安装clang $sudo apt install clang $clang --version Ubuntu clang version 14.0.0-1ubuntu1.1安装gn Github: https://github.com/timniederh…

如何在npm上发布自己的包

如何在npm上发布自己的包 npm创建自己的包 一、一个简单的创建 1、创建npm账号 官网&#xff1a;https://www.npmjs.com/创建账号入口&#xff1a;https://www.npmjs.com/signup 注意&#xff1a;需要进入邮箱验证 2、创建目录及初始化 $ mkdir ufrontend-test $ cd ufron…