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

华为IP(4)

VRRP(虚拟路由冗余协议)

前言:

局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障,但是需要解决多个网关之间的冲突问题。

VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)既能够实现网关的备份,又能够解决多个网关之间互相冲突的问题,从而提高网络可靠性。

VRRP概述:

通过把几台路由设备联合组成一台虚拟的“路由设备”,使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保证通讯的连续性和可靠性。

VRRP的基本概念:

1)VRRP路由器:运行VRRP协议的路由器。VRRP是配置在路由器的三层接口上的,而且也是基于接口来工作的。

2)VRID(虚拟路由器标识符)一个VRRP组(VRRP Group)由多台协同工作的路由器(的接口)组成,使用相同的VRID(虚拟路由器标识符)进行标识。属于同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。

3)虚拟路由器:VRRP为每一个组抽象出一台虚拟“路由器”(Virtual Router),该路由器并非真实存在的物理设备,而是由VRRP虚拟出来的逻辑设备,一个VRRP组只会产生一台虚拟路由器。

4)虚拟IP地址及虚拟MAC地址:虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址,通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID。

5)Master路由器:“Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。

6)Backup路由器:也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。

7)Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255(实际上只能配置1-254),(默认优先级是100值越大越优先,值相等则计较接口IP地址大小,大者优先

7-1)当路由器接口配置为VRRP的地址拥有者(接口IP地址与虚拟 IP相同),路由器无需等待任何定时器超时,可以直接切换至Master状态(它的优先级默认为变成255)

7-2)当路由器取消VRRP后它的优先级自动变为0,此时Backup路由器直接变为Master路由器。

VRRP定时器

在VRRP协议工作过程中,VRRP定义了两个定时器:

ADVER_INTERVAL(通告间隔)定时器:Master发送VRRP通告报文时间周期,缺省值为1秒

MASTER_DOWN定时器(主路由器超时时间):Backup设备监听该定时器超时后,会变为Master状态。缺省值为3秒.

VRRP状态机

VRRP协议状态

Master状态:

1)定期发送VRRP报文

2)以虚拟MAC地址响应对虚拟IP地址的ARP请求

3)转发目的MAC地址为虚拟MAC地址的IP报文

4)当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文源IP地址比自己大,则切换到Backup状态,

否则保持Master状态。

Backup状态:

1)接收Master设备发送的VRRP报文,判断Master设备的状态是否正常

2)对虚拟IP地址的ARP请求,不做响应

3)丢弃目的MAC地址为虚拟MAC地址的IP报文

4)丢弃目的ip地址为虚拟ip地址的ip报文

5)如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小。

VRRP负载分担

通过创建多个虚拟路由器,每个物理路由器在不同的VRRP 组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担。

VRRP监视上行端口

VRRP可监视(Track)上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的Backup设备能够通过选举切换为Master状态,指导报文转发。

[SW1-Vlanif8]vrrp vrid 8 track interface g0/0/2 reduced 60 //如果上行链路断掉了就减少vrrp的优先级(这个是减少60)
VRRP与BFD联动

通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。

实验

要求1.虚拟路由器的IP地址为192.168.1.254

2.R1为Master路由器,R2为Backup路由器

R1

interface GigabitEthernet0/0/0ip address 192.168.1.252 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254 //虚拟路由器的IP地址为192.168.1.254vrrp vrid 1 priority 120 //VRRP的优先级是120

R2

interface GigabitEthernet0/0/0ip address 192.168.1.253 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254 //虚拟路由器的IP地址为192.168.1.254
//(默认的优先级是100)

检验

[R1]dis vrrp brief 
Total:1     Master:1     Backup:0     Non-active:0      
VRID  State        Interface                Type     Virtual IP     
----------------------------------------------------------------
1     Master       GE0/0/0                  Normal   192.168.1.254  [R2]dis vrrp brief 
Total:1     Master:0     Backup:1     Non-active:0      
VRID  State        Interface                Type     Virtual IP     
----------------------------------------------------------------
1     Backup       GE0/0/0                  Normal   192.168.1.254 

BFD(双向转发检测)

前言

随着网络应用的广泛部署,网络发生故障极大可能导致业务异常。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行

BFD(双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。

BFD概述

BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制。有以下两大优点:

1)对相邻转发引擎之间的通道提供轻负荷、快速故障检测

2)用单一的机制对任何介质、任何协议层进行实时检测

BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发送了故障。

BFD会话建立

BFD会话建立有两种方式,即静态建立BFD会话和动态建立BFD会话。BFD通过控制报文中的本地标识符和远端标识符区分不同的会话。静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同。

静态建立BFD会话

静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。

动态建立BFD会话

动态建立BFD会话的本地标识符由触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator的值学习而来。

BFD检测时间

BFD会话检测时长由TX,PX,DM三个参数决定。BFD报文的实际发送时间间隔,实际接收时间间隔由BFD会话协商决定。

BFD报文发送间隔默认1000毫秒,接受间隔默认1000毫秒,本地检测倍数3次

相关文章:

华为IP(4)

VRRP(虚拟路由冗余协议) 前言: 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果默认网关设备发生故障,那么所有用户终端访问外部网络的流量将会中断。可以通过部署多个网关的方式来解决单点故障…...

计算机网络中科大 - 第1章 结构化笔记(详细解析)

博主主页 目录 **1. 计算机网络概述****1.1 计算机网络的定义****1.2 计算机网络的发展** **2. 计算机网络的组成与分类****2.1 计算机网络的组成****2.2 计算机网络的分类****按地理范围****按拓扑结构****按交换方式** **3. 计算机网络的性能指标****4. 计算机网络体系结构**…...

【神经网络】python实现神经网络(三)——正向学习的模拟演练

有了之前的经验(【神经网络】python实现神经网络(二)——正向推理的模拟演练),我们继续来介绍如何正向训练神经网络中的超参(包含权重以及偏置),本章大致的流程图如下: 一.损失函数 神经网络以某个指标为基准寻求最优权重参数,而这个指标即可称之为 “损失函数” 。(…...

PPTAgent:一款开源免费生成和评估幻灯片的项目

这篇文章介绍一下PPTAgent,一个从文档自动生成演示文稿的创新系统。该系统从人类的展示创作方法中汲取灵感,采用两步流程来确保卓越的整体质量。此外,本文还介绍了PPTEval,这是一个综合评估框架,可以跨多个维度评估演示…...

配置管理:夯实软件开发与运维根基

配置管理是对系统配置信息进行管理的活动,以下从定义、目的、主要活动、实施流程等方面为你详细介绍: 一、定义 配置管理是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程&a…...

Java 大视界 -- Java 大数据在智能供应链库存优化与成本控制中的应用策略(172)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

Cocos Creator 进行 Web 发布后,目录结构解析

在使用 Cocos Creator 进行 Web 发布后,生成的目录结构通常包含以下内容,下面为你详细介绍: 1. index.html 这是 Web 项目的入口 HTML 文件,它会加载所需的 JavaScript 文件和资源,从而启动游戏或应用程序。示例代码…...

解决Spring Boot Test中的ByteBuddy类缺失问题

目录 解决Spring Boot Test中的ByteBuddy类缺失问题前奏问题描述问题解决第一步:移除ByteBuddy的特定版本号第二步:更新maven-surefire-plugin配置第三步:清理并重新构建项目 结语 解决Spring Boot Test中的ByteBuddy类缺失问题 前奏 今天&…...

Postman参数化设置如何设置?

在 Postman 里,参数化设置能让你用不同的数据多次运行同一个请求,这对测试不同输入时的 API 响应非常有用。下面为你详细介绍 Postman 参数化设置的方法。 1. 准备数据文件 Postman 支持 CSV 和 JSON 格式的数据文件。 CSV 文件 CSV 文件由逗号分隔的…...

斯坦福大学李飞飞团队新突破!FlowMo 革新图像 Tokenizer

当我们悠然刷着手机,看到一张可爱猫咪的照片时,大脑会瞬间识别出「这是一只猫」,这一切不过是电光火石间的事儿。但在计算机的 “眼中”,情况却复杂得超乎想象。假设这是一张10001000像素的彩色照片,在计算机的世界里&…...

基于 Jackson 的 JSON 工具类实现解析与设计模式应用

一、项目背景与功能概览 在企业级开发中,JSON 序列化/反序列化是高频操作。本方案基于 Jackson 实现了一个双模式兼容(独立使用 Spring 整合)、安全可靠的 JSON 工具类,主要提供以下能力: ✅ 常用 JSON 转换方法✅ …...

87.在线程中优雅处理TryCatch返回 C#例子 WPF例子

在C#异步编程中,正确处理异常是确保程序稳定运行的关键。今天,我们通过一个实际的示例,展示如何在异步线程中使用try-catch块处理异常,并通过标志变量控制流程。同时,我们也会展示一个错误的示例,以便更好地…...

Vue + Axios + Mock.js 全链路实操:从封装到数据模拟的深度解析

一、项目架构深度设计 1.1 分层架构模式 采用经典的前端分层架构,实现高度可维护性: src/ ├─ api/ # 接口管理 │ └─ home.js # 模块化接口 ├─ mock/ # 模拟数据 │ ├─ index.js # Mock入口 │ └─ home.js # 首…...

博客文章:深入分析 PyMovie - 基于 Python和 MoviePy 的视频管理工具

这是一个使用 wxPython 构建界面、moviepy 处理视频的自定义 GUI 应用程序。该工具提供了视频播放、元数据提取、格式转换、视频裁剪和截图等功能。通过分析其设计和实现,我们将了解其工作原理、优点和潜在的改进空间。 C:\pythoncode\new\output\pymovieSample.py …...

Go基础一(Maps Functions 可变参数 闭包 递归 Range 指针 字符串和符文 结构体)

Maps 1.创建map make(map[键类型]值类型) 2.设置键值对 name[key]value; 3. name[key]获取键值 3.1 key不存在 则返回 0 4.len()方法 返回 map 上 键值对数量 len(name) 5.delete()方法 从map中删除 键值对 delete(name,key) 6.clear()方法 map中删除所有键值对 clear(name) 7…...

2025年渗透测试面试题总结-某 携程旅游-基础安全工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 携程旅游-基础安全工程师 反序列化原理 核心原理 扩展分析 SQL注入本质 核心原理 扩展分析 SQL注…...

wireshak抓手机包 wifi手机抓包工具

移动端接口测试抓包工具指南 在做手机或移动端APP的接口测试时,获取完整的接口文档是关键。但如果没有文档,我们就需要使用专业的抓包工具来分析网络请求。本文将介绍两种常用的抓包方案:Fiddler和Sniff Master(抓包大师&#xf…...

niuhe插件, 在 go 中渲染网页内容

思路 niuhe 插件生成的 go 代码是基于 github.com/ma-guo/niuhe 库进行组织管理的, niuhe 库 是对 go gin 库的一个封装,因此要显示网页, 可通过给 gin.Engine 指定 HTMLRender 来实现。 实现 HTMLRender 我们使用 gitee.com/cnmade/pongo2gin 实现 1. main.go …...

java基础知识面试题总结

Java基础知识面试题 1.重载和重写的区别 重载(Overload): ​ 同一个类中,方法名相同,参数列表不同(个数、类型、顺序)。 class Calculator {// 方法1:两个int相加public int add…...

使用MySQL时出现 Ignoring query to other database 错误

Ignoring query to other database 错误 当在远程连接软件中输入MySQL命令出现该错误 导致错误原因是:登录mysql时账户名没有加上u 如果出现该错误,退出mysql,重新输入正确格式进入即可!...

MySQL介绍及使用

1. 安装、启动、配置 MySQL 1. 安装 MySQL 更新软件包索引 sudo apt update 安装 MySQL 服务器 sudo apt install mysql-server 安装过程中可能会提示你设置 root 用户密码。如果没有提示,可以跳过,后续可以手动设置。 2. 配置 MySQL 运行安全脚本…...

Vue2-实现elementUI的select全选功能

文章目录 使用 Element UI 的全选功能自定义选项来模拟全选 在使用 Element UI 的 el-select组件时,实现“全选”功能,通常有两种方式:一种是使用内置的全选功能,另一种是通过自定义选项来模拟全选。 使用 Element UI 的全选功能…...

java后端开发day34--脑子空空如何无痛想起所有知识点--概念拟人化

1.上半部学习思考 1.1反思–浮躁–二倍速 刚开始算半个小白吧,从最基础的知识点开始学习,到后面学习整个项目的布局和功能。可能是后面慢慢懂得多了,每次打代码搞项目啊什么的,就能明显感觉到自己很浮躁:脑子里已经明…...

fastGPT—前端开发获取api密钥调用机器人对话接口(HTML实现)

官网文档链接&#xff1a;OpenAPI 介绍 | FastGPT 首先按照文档说明创建api密钥 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…...

解决 PDF 难题:批量处理、文档清理与自由拆分合并

软件介绍 在日常办公与学习中&#xff0c;处理 PDF 文件常常让人头疼不已&#xff0c;不过别担心&#xff0c;今天有一款堪称神器的国产老牌 PDF 工具要分享给大家。它就是 PDF 补丁丁&#xff0c;凭借其强大功能&#xff0c;为大家排忧解难。 界面体验 初次打开 PDF 补丁丁&…...

使用pycharm社区版调试DIFY后端python代码

目录 背景 前置条件 DIFY使用的框架 API服务调试配置步骤&#xff08;基于tag为0.15.3的版本&#xff09; 1.配置.env文件 2.关闭docker里面的docker-api-1服务 3.使用DOCKER启动本地环境需要用到的中间件&#xff0c;并暴露端口 注意事项一&#xff1a; 注意事项二&#xff1a…...

量子计算与人工智能的结合:未来科技的双重革命

引言 在过去几十年里&#xff0c;人工智能&#xff08;AI&#xff09;和计算能力的提升一直是推动科技进步的重要力量。然而&#xff0c;随着深度学习和大规模数据处理的发展&#xff0c;传统计算架构的算力瓶颈逐渐显现&#xff0c;人工智能的训练和推理效率受到了限制。在此背…...

关于存储的笔记

存储简介 名称适用场景常见运用网络环境备注块存储高性能、低延迟数据库局域网专业文件存储数据共享共享文件夹、非结构化数据局域网通用对象存储大数据、云存储网盘、网络媒体公网&#xff08;断点续传、去重&#xff09;海量 存储协议 名称协议块存储FC-SAN或IP-SAN承载的…...

基于机器学习的三国时期诸葛亮北伐失败因素量化分析

一、研究背景与方法论 1.1 历史问题的数据化挑战 三国时期&#xff08;220-280年&#xff09;的战争史存在史料分散、数据缺失的特点。本研究通过构建包含军事、经济、地理、政治四大维度的结构化数据库&#xff0c;收录建安十二年&#xff08;207年&#xff09;至建兴十二年…...

MySQL 中的 MVCC 版本控制机制原理

1. MVCC&#xff08;多版本并发控制&#xff09;概述 MVCC&#xff08;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff09;是一种数据库事务并发控制机制&#xff0c;主要用于提高数据库的读写性能。它通过维护数据的多个版本&#xff0c;使得读操作无…...