IS-IS:03 ISIS链路状态数据库

news2024/12/26 4:33:40

  一个 OSPF 链路状态数据库是若干条 LSA 的集合。与此相似,一个 IS-IS 链路状态数据库是若干条 LSP 的集合。与 OSPF 链路状态数据库不同, IS-IS 链路状态数据库有 level-1 和  level-2 之分。

  在IS-IS 协议中,每一条 LSP 都有一个剩余生存时间,一个序列号和一个检验和。LSP 的剩余生存时间是由最大生存时间(默认为 1200s )开始逐渐递减的。当一条 LSP 的剩余生存时间递减至 0 时,仍然会在链路状态数据库中继续保留 60s(称为ZeroAgeLifetime ),然后才会被删除。 LSP 的始发路由器会周期地刷新 LSP ,刷新时间间隔为 900s 减去不超过 25% 的随机量。

  LSP 的序列号是一个 32 bit的整数,初始值为 1,每次刷新时都会递增 1。与 OSPF 中的 LSA 一样,同一条 LSP,其序列号越大,表示该 LSP 越新,路由器总是将最新的 LSP 放入其链路状态数据库中。如果序列号递增至最大值时,则无法被继续刷新,但其剩余生存时间会递减至 0 ,然后会被从链路状态数据库中删除。

  LSP 的校验和用于检验 LSP 是否在传输过程中受到损坏。当路由器收到一条包含错误的校验和的 LSP 时,会将其直接丢弃。

本次实验拓扑图

下面是基本配置:

R1:
sys
sysname R1
int loop 0
ip add 1.1.1.1 24
int g0/0/0
ip add 192.168.12.1 24
q
R2:
sys
sysname R2
int g0/0/0
ip add 192.168.12.2 24
int g0/0/1
ip add 192.168.23.2 24
q
R3:
sys
sysname R3
int loop 0
ip add 3.3.3.3 24
int g0/0/1
ip add 192.168.23.3 24
q

配置IS-IS协议:

R1:
isis
network-entity 10.0000.0000.0001.00
is-level level-1
is-name R1
int loo 0
isis enable
int g0/0/0
isis enable
q
R2:
isis
network-entity 10.0000.0000.0002.00
is-level level-1-2
is-name R2
int g0/0/0
isis enable
isis circuit-level level-1
int g0/0/1
isis enable
isis circuit-level level-2
q
R3:
isis
network-entity 20.0000.0000.0003.00
is-level level-2
is-name R3
int loo 0
isis enable
int g0/0/1
isis enable
q

配置完成后,在R2 上查看邻居的建立情况

测试R1 R3之间的连通性 ping -a 1.1.1.1 3.3.3.3

查看Level-1 路由器的链路状态数据库

R1.00-00*
1.前面的 00是伪节点标识,00表示此LSP是真实节点而非伪节点生成的,
2.后面的00为分片号,当LSP的长度太长时,LSP会被分片,分片号的作用是为了重组被分片的LSP。
3. *表示些LSP是于本地生成的。

LSP 与OSPF的LSA 不同,没有 123457 类,所有的都放在LSP 中传递,这也导致 LSP 会很大,有时需要进行分片

ATT/P/OL:
区域关联位(ATT):用于指明一台L2或L1/2 路由器具有其他区域的路由。

ATT位的作用:当某个区域的L1/L2路由器和其它区域有连接关系的时候,它将在它产生的L1 LSP中设置ATT bit,来告诉本区域中的L1路由器,它有一个区域出口点;本区域的L1路由器利用L1 LSP 中的ATT bit来作为可能的区域出口点;如果有多个,选择一个离自己最近的设置了ATT bit的L1/L2路由器作为区域的缺省出口点,对于IP路由来说,具体表现就是L1路由安装一条指向该L1/L2路由的缺省路由0.0.0.0/0在路由表中。

区域修复(Partition Repair)指 L1 区域被分裂后的修复,如果该位设置为1,表示源路由支持区域修复。
通过骨干区域创建虚连接实现L1区域的修复,虚连接的端点是在该 L1区域的两台 L1/2 路由器上。华为目前的VRP 系统不支持区域修复功能,我们看到的 LSP 中的 P 位为 0

OverLoad(过载):OverLoad位表示始发路由器的数据库是否过载
一般情况下为0,如果设置为1,则表示 LSP 始发源路由器的 CPU和内存资源已经不足,无法维护一个完整的链路状态数据库,数据流经过这台设备时有可能得不到正常的转发。

R2:
isis
set-overload 

 查看详细信息 <R1>display isis lsdb verbose

 在R2上查看路由器的链路状态数据库

分别维护 Level-1 和Level-2 链路状态数据库,Level-1的与R1完全相同(除了 *),这表明Level-1 链路状态数据库在R1 和R2上完成了同步

Level-1 和Level-2的主要区别在于:Level-1中LSP区域ID彼此相同,而Level-2区域ID可以不同

 

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

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

相关文章

自学Java的第48,49,50,51天

IO流 应用场景 IO流的分类 文件字节输入流 写法 读取一个字节 读取多个字节 优化&#xff1a; 注意&#xff1a; 读取全部字节 写法 注意&#xff1a; 文件字节输出流 写法 案例&#xff1a; 写法 释放资源的方法 try-catch-finally 写法 try-with-resource 写法 字符流 …

linux内网搭建NFS网络文件系统(rpm)

linux 内网搭建nfs网络文件系统&#xff08;rpm包&#xff09; 前言&#xff1a;一、上传安装包到服务器二、NFS服务端配置三、建立共享目录(服务器端和客户端)四、添加配置共享目录&#xff08;服务器端&#xff09;五、NFS客户端配置六、测试共享服务 前言&#xff1a; 用自…

Type-C平板接口协议芯片介绍,实现单C口充放电功能

在现代平板电脑中&#xff0c;Type-C接口已经成为了一个非常常见的接口类型。相比于传统的USB接口&#xff0c;Type-C接口具有更小的体积、更快的传输速度和更方便的插拔体验。但是&#xff0c;在使用Type-C接口的平板电脑上&#xff0c;如何实现单C口充电、放电和USB2.0数据传…

【iOS ARKit】同时开启前后摄像头BlendShapes

在上一节中已经了解了 iOS ARkit 进行BlendShapes的基本操作&#xff0c;这一小节继续实践同时开启前后摄像头进行人脸捕捉和世界追踪。 iOS设备配备了前后两个摄像头&#xff0c;在运行AR 应用时&#xff0c;需要选择使用哪个摄像头作为图像输人。最常见的AR 体验使用设备后置…

修复WordPress内部服务器错误的步骤及解决方案

WordPress是一款广泛使用的开源内容管理系统&#xff0c;但在使用过程中&#xff0c;可能会遇到各种内部服务器错误。这些错误可能由于多种原因引起&#xff0c;例如插件冲突、文件权限问题、服务器配置不当等。为了帮助您快速解决这些问题&#xff0c;本文将为您提供一套详细的…

行测-言语:2.语句表达

行测-言语&#xff1a;2.语句表达 1. 语句排序题 捆绑就是看两句话是不是讲的同一个内容&#xff0c;相同内容的句子应该相连。 1.1 确定首句 1.1.1 下定义&#xff08;……就是 / 是指&#xff09; A 1.1.2 背景引入&#xff08;随着、近年来、在……大背景 / 环境下&#…

五招搞定找不到vcruntime140.dll无法继续执行此代码问题

在计算机系统或应用程序运行过程中&#xff0c;如果出现“找不到vcruntime140.dll”这一错误提示&#xff0c;可能会引发一系列的问题和影响。vcruntime140.dll是Microsoft Visual C Redistributable的一部分&#xff0c;这是一个至关重要的运行库文件&#xff0c;对于许多基于…

one-stage/two-stage区别

One-stage和Two-stage是目标检测中的两种主要方法&#xff0c;它们在处理速度和准确性上存在显著差异。以下是两者的主要区别&#xff1a; 处理流程&#xff1a;One-stage方法通过卷积神经网络直接提取特征&#xff0c;并预测目标的分类与定位&#xff0c;一步到位&#xff0c…

他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险

一、前言 新年就要到了&#xff0c;祝大家新的一年&#xff1a;&#x1f432; 龙行龘龘&#xff0c;&#x1f525; 前程朤朤&#xff01; 白泽花了点时间&#xff0c;用 800 行 Go 代码写了一个控制台的小游戏&#xff1a;《模拟龙生》&#xff0c;在游戏中你将模拟一条新生的…

C动态内存那些事

为什么存在动态内存分配&#xff1f; 首先&#xff0c;动态内存分配是计算机中一种重要的内存管理方法&#xff0c;它主要解决了静态内存分配无法灵活应对变化需求的问题。以下是几个存在动态内存分配的原因&#xff1a; 灵活性&#xff1a;动态内存分配允许程序在运行时根据需…

C/C++ LeetCode:跳跃问题

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;算法_仍有未知等待探索的博客-CSDN博客 题目链接&#xff1a;45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元…

sklearn 学习-混淆矩阵 Confusion matrix

混淆矩阵Confusion matrix&#xff1a;也称为误差矩阵&#xff0c;通过计算得出矩阵的结果用来表示分类器的精度。其每一列代表预测值&#xff0c;每一行代表的是实际的类别。 from sklearn.metrics import confusion_matrixy_true [2, 0, 2, 2, 0, 1] y_pred [0, 0, 2, 2, 0…

数据恢复与硬盘修理

目录 第1章 基础知识 1.1 数据恢复技术的发展和研究现状 1.2 数据恢复技术的层次与体系 1&#xff0e;网络层 2&#xff0e;网络存储层 DAS NAS 3&#xff0e;磁盘阵列层 4&#xff0e;磁盘层 5&#xff0e;文件系统层 6&#xff0e;文件层 7&#xff0e;覆盖恢复…

通过css隐藏popover的效果:即hover显示或隐藏另一个元素

场景一&#xff1a;隐藏旁边的兄弟元素 在原生的微信小程序上实现下图hover后出现提示的效果&#xff0c;如果是PC端就可以直接使用el-popover&#xff0c;但是小程序&#xff0c;我没有看到适合的组件。 样式代码<van-field value"{{ username }}" clearable pl…

线程池调优,深入理解,线程池各个参数的含义(keepAliveTime 展开说说?)

线程池调优&#xff0c;深入理解&#xff0c;线程池各个参数的含义&#xff08;keepAliveTime 展开说说&#xff1f;&#xff09;目录 线程池核心组件核心线程、最大线程、阻塞队列的关系&#xff08;重点&#xff09;线程池调优&#xff08;运行流程&#xff09;keepAliveTime…

如何学习VBA_3.2.12.13:VBA中工作表函数的利用

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

docker 修改默认存储位置

✨✨✨✨✨✨✨ &#x1f380;前言&#x1f381;查看前面docker储存位置&#x1f381;移动文件位置&#x1f381;修改配置文件docker.service&#x1f381;修改daemon.json&#x1f381;加载配置并重启 &#x1f380;前言 最近服务出现系统盘满了,发现其中docker存储占用很大一…

1块9毛钱,修复拓牛TC1D智能垃圾桶盖子不能正常开合的故障

前言 21年9月份买了拓牛的智能垃圾桶&#xff0c;一直用的很流畅&#xff0c;再加上屋里没啥有机垃圾&#xff0c;也没有宠物&#xff0c;用上之后每次投入垃圾&#xff0c;之后都会盖上盖子&#xff0c;没有很多的异味散发&#xff0c;屋里也没有蟑螂等害虫。 再加上门口有帘…

SpringBoot使用druid

SpringBoot使用druid 一、前言二、配置1、pom依赖2、配置文件yml3、配置类 一、前言 Java程序很大一部分要操作数据库&#xff0c;为了提高性能操作数据库的时候&#xff0c;又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现&#xff0c;结合了 C…

C#,获取与设置Windows背景图片的源代码

为了满足孩子们个性化桌面的需求。 这里发布获取与设置Windows背景图片的源代码。 1 文本格式 using System; using System.IO; using System.Data; using System.Linq; using System.Text; using System.Drawing; using System.Collections; using System.Collections.Gene…