【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 源码真…...

23.09.5 《CLR via C#》 笔记5
第六章 类型和成员基础 类型可以定义0或多个以下成员:常量、字段、实例构造器、类型构造器、方法、操作符重载、转换操作符、属性、事件、类型类型的可见性分为public和internal(默认)C#中,成员的可访问性分为private、protected、internal、protected …...

laravel部署api项目遇到问题总结
laravel线上部署问题 一、Ubuntu远程Mysql 61“Connection refused”二、Ubuntu更新php8三、线上部署Permission denied3.1、部署完之后访问域名出现报错:3.2、The /bootstrap/cache directory must be present and writable. 四、图片访问404五、git部署线上文件 一…...

lintcode 1646 · 合法组合【字符串DFS, vip 中等 好题】
题目 https://www.lintcode.com/problem/1646 给一个单词s,和一个字符串集合str。这个单词每次去掉一个字母,直到剩下最后一个字母。求验证是否存在一种删除的顺序,这个顺序下所有的单词都在str中。例如单词是’abc’,字符串集合是{‘a’,’…...

【多线程】线程安全 问题
线程安全 问题 一. 线程不安全的典型例子二. 线程安全的概念三. 线程不安全的原因1. 线程调度的抢占式执行2. 修改共享数据3. 原子性4. 内存可见性5. 指令重排序 一. 线程不安全的典型例子 class ThreadDemo {static class Counter {public int count 0;void increase() {cou…...

【用unity实现100个游戏之11】复刻经典消消乐游戏
文章目录 前言开始项目开始一、方块网格生成二、方块交换三、添加交换的动画效果四、水平消除检测五、垂直消除检测六、完善删除功能七、效果优化(移动方块后再进行消除检测)八、方块下落十、方块填充十一、后续 源码参考完结 前言 欢迎来到经典消消乐游…...

若依cloud 修改包名等
一、项目的项目名。 先改pom 然后在重命名文件 1、 修改主pom.xml <artifactId>ruoyi-api</artifactId> 缓存 <artifactId>zxf-api</artifactId> <groupId>com.ruoyi</groupId> <groupId>com.zhixiaofeng</groupId> 2、…...

健康系统练习
健康系统 项目建构: 前后端分离,前端vue3,后端Java,springboot做跨域处理,前端将在vscode中 的tomcat下部署,后端将在ideal中集成的tomcat中部署 创建项目工程在ideal中直接选用springi…创建,…...

网络协议从入门到底层原理学习(一)—— 简介及基本概念
文章目录 网络协议从入门到底层原理学习(一)—— 简介及基本概念一、简介1、网络协议的定义2、网络协议组成要素3、广泛的网络协议类型网络通信协议网络安全协议网络管理协议 4、网络协议模型对比图 二、基本概念1、网络互连模型2、计算机之间的通信基础…...

centos密码过期导致navicat无法通过SSH登录阿里云RDS问题
具体错误提示:2013 - Lost connection to server at "hand hake: reading initial communication packet, system error: 0 解决办法:更新SSH服务器密码...

对于pytorch和对应pytorch网站的探索
一、关于网站上面的那个教程: 适合PyTorch小白的官网教程:Learning PyTorch With Examples - 知乎 (zhihu.com) 这个链接也是一样的, 总的来说,里面讲了这么一件事: 如果没有pytorch的分装好的nn.module用来继承的话,需要设计…...