【HCIE】01.IGP高级特性
高级特性:一条命令解决一个问题
OSPF快速收敛机制
发生故障重新计算拓扑的过程叫做收敛,设备现在本身就是PRC算法和I-SPF算法
PRC(针对叶子节点,叶子代表路由)
不需要命令配置,就是ospf的特性;叶子节点,当网络上路由发生变化的时候,只对发生变化的路由进行重新计算
I-SPF(针对实节点,节点代表路由器)
不需要命令配置,当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算
智能定时器
控制路由产生,计算,产生
智能定时器1(LSA的产生间隔)
感知到变化 产生LSA 发送LSA 接收LSA 进行SPF计算 计算成路由表 下发到转发表
如果网线断掉之后恢复是虚接,这样会消耗很大的资源
[Huawei-ospf-1] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } }缺省情况下,使能智能定时器intelligent-timer,更新LSA的最长间隔时间max-interval为5000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒。(以毫秒为单位的时间间隔)
max-interval 最长时间
start=interval 初始时间
hold-interval 间隔时间
使用智能定时器后:
- 初次更新LSA的间隔时间由start-interval参数指定。
- 第n(n≥2)次更新LSA的间隔时间为hold-interval×2(n-2)。
- 当hold-interval×2(n-2)达到指定的最长间隔时间max-interval时,OSPF连续三次更新LSA的时间间隔都是最长间隔时间,之后,再次返回步骤1,按照初始间隔时间start-interval更新LSA。
- OSPF正常运行,第一次把线拔了之后,又插上,会等待200毫秒开始收敛
- 第n次(n≥2),把线拔掉之后,又恢复等待时间是公式
,因此第二次间隔500毫秒
- 第3次按照公式就是1000毫秒
- 第4次按照公式就是2000毫秒,到达了最大值
- 第5次因为到达了最大值,仍然去等待2000毫秒,一直等最大值用了3次,再次返回第一步,按照初始时间间隔更新LSA
智能定时器2(LSA的接收间隔)
[Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }缺省情况下,使能智能定时器intelligent-timer,更新LSA的最长间隔时间max-interval为5000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒。(以毫秒为单位的时间间隔)

智能定时器3(SPF的算法间隔)
[Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }

FRR(快速重路由)
是否必须在OSPF中的一个区域?
动态 IP FRR,利用 LFA算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内(单指切换时间)

每次路由计算需要经过
1.收LSA
2.SPF计算
3.OSPF路由生成
4.RIB路由表生成
5.FIB转发表下载
如果上面的路由失效,需要重新计算下面的路由(从SPF算法开始)
FRR的做法就是计算路径的时候直接计算出来两条,也就是FIB表中两条路由都是存在的,当上面的路径断了之后,可以直接切到下面的路径,不需要再重新计算了,从而加快了收敛速度
ospf 1
frr 进入FRR视图
loop-free-alternate 使能FRR功能接口模式下 ospf frr block
对于承载重要业务的节点设备,通过该命令在指定接口上禁止OSPF IP FRR功能,从而使此接口相连的对端设备不成为备份链路上的节点设备,避免使能OSPF IP FRR功能后对节点设备上运行的重要业务造成影响。
FRR防止环路

A计算主路由是自己计算出来的,但是计算备用路径的时候会站在C的角度上来看,如果C要经过A访问,那么这个备用路径不生效,如果不经过A访问,这个备用路径则生效
流量保护

链路保护:N到D的开销<N到S+S到D的开销
FRR与BFD联动
OSPF检测非直连故障,4倍的hello time,40秒的时间,慢hello机制
BFD检测到故障后,告知OSPF,OSPF告知FIB加快收敛

命令:
- min-rx-interval receive-interval:指定期望从对端接收BFD报文的最小接收间隔。整数形式,取值范围是10~2000,单位是毫秒。缺省值是1000毫秒。
- min-tx-interval transmit-interval:指定向对端发送BFD报文的最小发送间隔。整数形式,取值范围是10~2000,单位是毫秒。缺省值是1000毫秒。
- detect-multiplier multiplier-value:指定本地检测倍数。整数形式,取值范围是3~50,缺省值是3。
- frr-binding:将BFD会话状态与接口的链路状态进行绑定。当BFD会话状态变为Down时,接口的物理层链路状态也会变为Down,从而触发流量切换到备份路径。
OSPF的控制
等价路由
当路由表中存在到达同一目的地址,且同一路由协议发现的多条路由时,LSA类型也相同,若这几条路由的开销值也相同,那么这些路由就是等价路由,可以实现负载分担。
设备将按照负载分担的方式从多条等价路由发送报文到同一目的地址
设置进行负载分担的等价路由的最大数量
![]()
缺省路由

LSA过滤
当两台路由器之间存在多条链路时,可以在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省带宽资源
int g0/0/1
ospf filter-lsa-out all | summary | ase//打开后不会发送任何LSA信息,因为默认是all
在ABR上面对3类LSA做过滤,在区域里面做配置
对区域内出,入方向ABR 3类LSA设置过滤条件,只有通过过滤的LSA才能被发布和接收
通过对区域的LSA进行过滤可以不向邻居发送无用的LSA,从而减少LSDB的大小,提高网络收敛速度。
不发送LSA

不接收LSA


如果在区域0做了出方向过滤,那么区域1和2都不能接收到,如果只在2上面入方向做了过滤,那么区域1还可以收到
OSPF Database Overflow(过载)

末节设备只能支持300条LSA,如果进来了500条,那么导致OSPF进程挂掉,造成了外部与内部都不能访问
工作原理
先把自己产生的非缺省外部路由删除,开启overflow定时器,会处于overflow状态,之前配置的引入命令



- lsdb-overflow-limit设置对外部路由最大的支持数量
- 设置完成之后,就可以启用overflow功能
- 首先,进来的路由大于自己设置的支持数量,会进入overflow状态
- 进入overflow状态后,会先把自己产生的非缺省路由删除掉,然后开启overflow定时器(一般是5秒)
- 处于overflow状态,之前配置的引入命令,统统都不会引入,只会引入缺省路由,这时会判断上限有没有压下来,如果压下来了,就退出overflow状态
- 如果没有压下来,就丢弃所有新学的外部路由,发来的外部路由不会使用,会一直在overflow状态里面等待,等待超时之后会退出overflow状态
- 退出之后,如果发现外部路由又进来,超过了上限,那么就再次进入overflow状态
- 保护内部的进程不被卡掉

OSPF与BGP联动

回切的时候,OSPF收敛完成后,发送LSA会携带一个非常大的开销,这样就不会立马切回到R2
R2:
ospf 1
stub-router on -startup 120
相关文章:
【HCIE】01.IGP高级特性
高级特性:一条命令解决一个问题 OSPF快速收敛机制 发生故障重新计算拓扑的过程叫做收敛,设备现在本身就是PRC算法和I-SPF算法 PRC(针对叶子节点,叶子代表路由) 不需要命令配置,就是ospf的特性ÿ…...
知识大杂烩(uniapp)
首先声明:不敢保证都管用,这是我自己实践得来的。 box-shadow: 这段 CSS 样式代码用于创建一个阴影效果,它是通过 box-shadow 属性来实现的。让我解释一下这段代码的含义: - box-shadow: 这是 CSS 的属性,用于添加阴影…...
Jmeter压测监控体系搭建Docker+Influxdb+Grafana
章节目录: 一、背景介绍1.1 概述1.2 拓扑图 二、云服务器设置三、Docker3.1 概述3.2 搭建流程3.3 安装验证3.4 配置docker镜像加速3.5 取消sudo运行(可选操作) 四、InfluxDB4.1 镜像拉取4.2 运行数据库4.3 创建存储 jmeter 数据的库 五、Grafana5.1 镜像拉取5.2 关联…...
TDesign 点击高亮显示=》点击切换class类名
1. wx:for遍历数组 2. 在一行显示 2. 点击高亮...
容器编排学习(二)镜像制作和私有仓库介绍
一 Dockerfile 1 概述 commit的局限 很容易制作简单的镜像,但碰到复杂的情况就十分不方便例如碰到下面的情况需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式…...
tcp记录
网络传输:大小端 Qt网络编程实现TCP通信 TCP/IP通讯与socket编程 Qt一步步搭建TcpServer1——封装QTcpServer,QTcpSocket qtcpserver官方文档 Python address already in use 服务器端的端口号和客户端的端口号没有关系 一般服务器是需要BIND指定端口号…...
IDEA中使用Java连接MySQL数据库的配置和使用方法
文章目录 IDE和必要配置数据库连接代码 IDE和必要配置 IDE:IntelliJ IDEA 2023.1 必要配置: 1、安装好JDK,并且配置环境变量 2、导入MYSQL数据库所需的驱动 如果没有导入,可以参考这篇文章IDEA中的MySQL数据库所需驱动包的下载和…...
android——服务JobService
JobService是Android L时候官方新增的组件,适用于需要特定条件才执行后台任务的场景。由系统统一管理和调度,在特定场景下使用JobService更加灵活和省心,相当于是Service的加强或者优化。 JobService是JobScheduler的回调,是安排的…...
一文讲清楚redis的线程池jedis
背景 在shigen实习的时候,遇到了日志系统的性能优化问题,当时的优化点就是:使用redis的线程池,实现并发状态下的性能优化。但是找了很多的技术方案,发现redis的线程池配置起来比较麻烦。正巧,这个周末shig…...
备战面试每日一题
1.如何理解this? this表示的是函数运行时自动生成的一个内部对象,只能在函数内部使用,总是指向调用它的对象。 this是在运行时进行绑定的,并不是在编写的时候绑定,它的上下文取决于函数调用时的各种条件。this的绑定…...
【嵌入式数据库之sqlite3】
目录 一.数据库基本概念(理解) 1.数据 2.数据库 二.常用的数据的数据库(了解) 1.大型数据库 2.中型数据库 3.小型数据库 三.基于嵌入式的数据库(了解) 四.SQLite基础(了解)…...
Android 9.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
1.前言 在android9.0的系统rom定制化开发中,在对于app启动时,在进行系统中,通过Launcher调用pms来查询app的相关ActivityInfo的相关信息,然后调用 ams来启动activity,这篇来分析pms中获取app的ActivityInfo的相关信息的相关源码分析 2.pms中关于启动app时获取app的Activ…...
华为数通方向HCIP-DataCom H12-821题库(单选题:321-340)
第321题 BGP的Open报文是用于建立对等体连接的,以下哪一项不属于Open报文中携带的参数信息? A、发送者的Router ID B、AS号 C、BGP版本号 D、TCP端口号 答案:D 解析:以下是BGP的Open报文: 第322题 在建立BGP对等体的过程中,OpenSent状态表明BGP等待的Open报文 并对收…...
《TCP/IP网络编程》阅读笔记--基于TCP的服务器端/客户端
目录 1--TCP/IP协议栈 2--TCP服务器端默认函数调用顺序 3--TCP客户端的默认函数调用顺序 4--Linux实现迭代回声服务器端/客户端 5--Windows实现迭代回声服务器端/客户端 6--TCP原理 7--Windows实现计算器服务器端/客户端 1--TCP/IP协议栈 TCP/IP协议栈共分 4 层…...
【每日一题】43. 字符串相乘
43. 字符串相乘 - 力扣(LeetCode) 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例…...
机器学习——K最近邻算法(KNN)
机器学习——K最近邻算法(KNN) 文章目录 前言一、原理二、距离度量方法2.1. 欧氏距离2.2. 曼哈顿距离2.3. 闵可夫斯基距离2.4. 余弦相似度2.5. 切比雪夫距离2.6. 马哈拉诺比斯距离2.7. 汉明距离 三、在MD编辑器中输入数学公式(额外࿰…...
同步FIFO的verilog实现(1)——计数法
一、FIFO概述 1、FIFO的定义 FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线, 使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成&…...
python正则表达式笔记1
最近工作中经常用到正则表达式处理数据,慢慢发现了正则表达式的强大功能,尤其在数据处理工作中,记录下来分享给大家。 一、 正则表达式语法介绍 正则表达式(或 RE)指定了一组与之匹配的字符串;模块内的函…...
YOLO目标检测——口罩规范佩戴数据集+已标注xml和txt格式标签下载分享
实际项目应用:目标检测口罩佩戴检测数据集的应用场景涵盖了公共场所监控、疫情防控管理、安全管理与控制以及人员统计和分析等领域。这些应用场景可以帮助相关部门和机构更好地管理口罩佩戴情况,提高公共卫生和安全水平,保障人们的健康和安全…...
Android 13 - Media框架(9)- NuPlayer::Decoder
这一节我们将了解 NuPlayer::Decoder,学习如何将 MediaCodec wrap 成一个强大的 Decoder。这一节会提前讲到 MediaCodec 相关的内容,如果看不大懂可以先跳过此篇。原先觉得 Decoder 部分简单,越读越发现自己的无知,Android 源码真…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
