【网络基础】VRRP虚拟路由冗余协议介绍与配置

目录

一、VRRP的概述

1.1 VRRP的由来

1.2 作用

1.3 基本结构

1.4 状态机流程

1.5 设备类型

二、 实例演示


一、VRRP的概述

1.1 VRRP的由来

局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个网关的方式来解决单点故障问题,那么如何让多个网关能够协同工作但又不会互相冲突就成了最迫切需要解决的问题。于是VRRP应运而生,它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。

1.2 作用

VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。

1.3 基本结构

利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务,并且每秒都会给Backup路由器发送Advertisement报文(目的地址为224.0.0.18(组播地址),协议号112),来告知Backup路由器自己的优先级以及状态, Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。

1.4 状态机流程

设备使用vrrp协议,开机后先看自己的优先级是否为255,如果为255立即成为主,因为255是最大的优先级。当设备开机后,且发现自己的优先级不是255,先成为备再观察是否有比自己更大的优先级。

成为备后,当收到比自己大的优先级报文,那么继续做备;
当收到比自己小的优先级报文,那么成为主;
一般3秒内未收到报文,那么就成为主;
收到优先级为0的报文,代表主要主动退出,做好成为主的准备。

默认0 - 255,0 代表主要退出,255代表有设备和虚拟ip冲突,可手动配置 1-254,优先级相同会比较接口地址大的优先,优先级默认为100。

1.5 设备类型

主(master)路由器
通过比较VRRP优先级,优先级大的是master路由器; 周期性的发送VRRP报文,维护master路由器和备份路由器的身份, 周期时间默认是1s; 备份网关,通过比较 VRRP 优先级,优先级小的是备份路由器;

当路由器处于Master状态时,它将会做下列工作:

  • 定期发送VRRP报文。
  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器封装的时候都封装虚拟路由器的 mac地址。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
  • 如果收到比自己优先级大的报文则转为Backup状态。
  • 如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态。
  • 当接收到接口的Shutdown事件时,转为Initialize。

备份(backup)路由器
通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态; 如果在master路由器发送VRRP的周期的3倍时间内(默认为3秒内),收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路由器。

当路由器处于Backup状态时,它将会做下列工作:

  • 接收Master发送的VRRP报文,判断Master的状态是否正常。
  • 对虚拟IP地址的ARP请求,不做响应。
  • 丢弃目的MAC地址为虚拟MAC地址的IP报文。
  • 丢弃目的IP地址为虚拟IP地址的IP报文。
  • Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。
  • 当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。
  • 当接收到接口的Shutdown事件时,转为Initialize。

二、 实例演示

                         将路由器AR1与AR2做虚拟路由器,并测试可用性(eNSP模拟)

VRRP拓扑图如下:

PC1、2、3的配置如上图,网关分别为192.168.1/2.254,在此不过多赘述。

此处主要展示AR1、2、3的配置,

路由器AR1配置:

sys    #进入系统视图int g0/0/0    #进入0/0接口ip add 192.168.1.10 24    #为接口配置IP地址vrrp vrid 1 virtual-ip 192.168.1.254    #设置组1,并且配置虚拟网关int g0/0/1    #进入0/1接口ip add 20.0.0.1 24    #为接口配置IP地址ip route-static 192.168.2.0 24 20.0.0.2    #配置静态路由,方便PC1、2与PC3连通

路由器AR2配置:

sys    #进入系统视图int g0/0/0    #进入接口模式ip add 192.168.1.20    #配置IP地址vrrp vrid 1 virtual-ip 192.168.1.254    #设置组1,并且配置虚拟网关vrrp vrid 1 priority 120    #配置优先级为120,默认值为100,越大优先级越高vrrp vrid 1 preempt-mode timer delay 10    #延迟抢占,设置为10秒后再抢占mastervrrp vrid 1track int g0/0/1 reduce 50 #监听该路由器的上行端口g0/0/1,若出故障就减50优先权值int g0/0/1    #进入接口模式ip add 10.0.0.1 24    #配置IP地址ip route-static 192.168.2.0 24 10.0.0.2    #配置静态路由,方便PC1、2与PC3连通

路由器AR3配置:

sys    #进入系统视图int g0/0/0    #进入接口模式ip add 10.0.0.2 24    #配置IP地址int g0/0/0    #进入接口模式ip add 20.0.0.2 24    #配置IP地址ip route-static 192.168.1.0 24 10.0.0.1    #配置静态路由,方便PC1、2与PC3连通ip route-static 192.168.1.0 24 20.0.0.1 preference 70 #配置浮动路由,配置优先级为70,默认为60,越高优先级越低


测试可以ping通,
若将AR1的下行端口关闭,再进行测试后发现仍可以ping通,
目的达成。

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

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

相关文章

【计算机网络实践】Cisco Packet Tracer局域网组网(FTP服务器通过交换机连接客户端)

本文为应对计算机网络第一次实验所写的预习报告 一、实验准备 一台装有Cisco Packet Tracer的PC机,一个大学生大脑。 二、了解FTP和Cisco Packet Tracer 具体内容可在百度搜索,在物理机上用FileZilla Server实现ftp可参看我前面的文章。Cisco Packet Tr…

Power BI ----SVG(圆环图)

圆环图助力矩阵图 定义度量值放置视觉对象 SVG是什么鬼,在现在的Web世界中越来越凸显这一标准的优势。关于SVG,我们只需要知道一点就好 ---- SVG 意为可缩放矢量图形(Scalable Vector Graphics)。它是使用 XML 格式定义的图像。 由…

C语言经典算法-8

文章目录 其他经典例题跳转链接41.基数排序法42.循序搜寻法(使用卫兵)43.二分搜寻法(搜寻原则的代表)44.插补搜寻法45.费氏搜寻法 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠…

【每周赠书活动第1期】Python编程 从入门到实践 第3版(图灵出品)

编辑推荐 适读人群 :本书适合对Python感兴趣的所有读者阅读。 编程入门就选蟒蛇书! 【经典】Python入门经典,常居Amazon等编程类图书TOP榜 【畅销】热销全球,以12个语种发行,影响超过 250 万读者 【口碑】好评如潮…

Python文件读写操作

文件操作注意点 注意点: 1. for line in file --> 会将偏移量移到末尾 2. buffering1 --> 缓冲区中遇到换行就刷新,即向磁盘中写入 3. 读操作结束后,文本偏移量就会移动到读操作结束位置 """编写一个程序,循环不停的写入…

有哪些强大好用的AI表格数据处理工具或者 AI Excel工具?

在繁忙的工作和生活中,处理大量的表格数据往往令人感到头疼。面对一列列数字、一行行文字,我们需要花费大量的时间和精力去整理、核对。然而,随着科技的飞速发展,人工智能(AI)技术正逐渐改变这一现状。 如…

Mysql数据库:索引管理

目录 一、索引的概述 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 5、索引优化 6、索引的分类 7、数据文件与索引文件 二、管理数据库索引 1、查询索引 2、创建索引 2.1 创建普通索引 2.2 创建唯一索引 2.3 创建主键索引 2.4 创建组合…

《边缘计算:连接未来的智慧之桥》

随着物联网、5G等技术的快速发展,边缘计算作为一种新兴的计算模式,正逐渐引起人们的广泛关注。边缘计算通过将数据处理和存储功能放置在距离数据产生源头更近的位置,实现了更快速、更可靠的数据处理和交换,为各行各业带来了前所未…

【项目设计】基于MVC的负载均衡式的在线OJ

项目代码(可直接下载运行) 一、项目的相关背景 学习编程的小伙伴,大家对力扣、牛客或其他在线编程的网站一定都不陌生,这些编程网站除了提供了在线编程,还有其他的一些功能。我们这个项目只是做出能够在线编程的功能。…

音视频开发之旅(78)- Docker使用和交互流程

目录 1.Docker是什么 2.DockerFile的使用 3.常用命令 4.Docker和Web服务的交互流程 5.资料 一、Docker是什么 Docker通过轻量级的容器化技术,使得应用程序及其依赖可以打包在一个可移植的容器中运行,确保应用在不同环境下的一致性和效率。 1.1 核心…

Affiliate Stores: 建立营销联盟商店的详细教程- US Domain Center主机

第一步:了解营销联盟商店 营销联盟商店是一种电子商务模式,您可以在其中通过推广其他企业的产品或服务来赚取佣金。您在自己的网站上展示其他企业的产品,并在买家购买时获得佣金。通过 WooCommerce 平台,您可以轻松创建一个营销联…

PHP姓名快速匿名化工具(重组脱敏)

PHP姓名重组工具(脱敏/匿名化工具) 将excel数据姓名列粘贴提交&#xff0c;得到随机姓随机中间字随机尾字的重组姓名 那些年自用瞎搞的代码&#xff0c;今日整理成网页交提交得到结果的交互功能分享。 <?php //PHP姓名重组工具(脱敏/匿名化工具) //将excel数据姓名列粘贴…

第十二届蓝桥杯省赛CC++ 研究生组-路径

记录到每个结点的最短距离&#xff0c;以此为基础计算后续结点最优值 #include<iostream> #include<algorithm> using namespace std; typedef long long ll;ll gcd(int a, int b){if(!b) return a;return gcd(b, a % b); }int main(){ll dp[2022] {0};//dp[i]记…

Vue3 中应该使用 Ref 还是 Reactive?

一、引言 在Vue 3中&#xff0c;构建响应式数据结构是构建用户界面和交互体验的核心部分。而在创建这些响应式数据时&#xff0c;我们有两个主要工具&#xff1a;reactive和ref。选择使用哪一个&#xff0c;实际上取决于你的数据结构和访问需求。 reactive主要用于处理复杂的数…

Matlab|【免费】智能配电网的双时间尺度随机优化调度

目录 1 主要内容 基础模型 2 部分代码 3 部分程序结果 4 下载链接 1 主要内容 该程序为文章《Two-Timescale Stochastic Dispatch of Smart Distribution Grids》的源代码&#xff0c;主要做的是主动配电网的双时间尺度随机优化调度&#xff0c;该模型考虑配电网的高效和安…

【小白入门篇1】GPT到底是怎样练成?

由于具有代表性的OpenAI公司GPT模型并没有开源&#xff0c;所以本章节是参考一些开源和现有课程&#xff08;李宏毅&#xff09;讲解ChatGPT原理。本章没有涉及到很多数学运算&#xff0c;比较适合小白了解GPT到底是怎么练成。GPT的三个英文字母分别代表Generative(生成式)&…

了解交互设计:定义、解析及案例演示!

交互设计作为现代设计领域的一个重要分支&#xff0c;对用户体验和产品的成功至关重要。然而&#xff0c;许多人并不了解交互设计的定义和实践方法。本文将深入分析交互设计的概念和重要性&#xff0c;分享精彩的案例&#xff0c;推荐有用的交互设计工具&#xff0c;帮助您创造…

业务服务:redisson

文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列&#xff08;限制数据量&#xff09;4. 延迟队列&#xff08;延迟获取数据&#xff09;5. 优先队列&#xff08…

【Java多线程(1)】创建线程的几种方式和Thread类及其常见方法

目录 一、Java创建线程的方式 1. 通过继承 Thread 类实现多线程 2. 通过实现 Runnable 接口实现多线程 3. 其他变形 二、Thread类及常见方法 1. Thread类的常见构造方法 2. Thread类的几个常见属性 2.1 getName() 2.2 setDaemon() & isDaemon() 2.3 isAlive() …

HTML5+CSS3+移动web——CSS进阶

系列文章目录 HTML5CSS3移动web——HTML 基础-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136070953?spm1001.2014.3001.5502HTML5CSS3移动web——列表、表格、表单-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136221443?spm1001.20…