IS-IS链路状态数据库

原理概述

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

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

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

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

实验目的

理解IS-IS链路状态数据库的内容

掌握查看IS-IS链路状态数据库的方法

实验内容

实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,Level-1路由器R1和Level-1-2路由器R2为公司部门A的网络设备,Level-2路由器R3为公司的骨干路由器。整个网络都运行IS-IS协议,R1和R2属于IS-IS区域10,R3属于IS-IS区域20,R1的Loopback 0接口模拟了部门A的内部网络,R3的Loopback 0接口模拟了公司服务器所在的网络。实验内容的重点是观察和分析R1、R2、R3上的IS-IS链路状态数据库。

实验拓扑

1.基本配置

根据拓扑图进行相应的基本配置,并使用Ping命令检测R1与R2之间的连通性。 

 R2和R3的连通性测试过程在此省略。

2.配置IS-IS路由协议

在R1、R2、R3上配置IS-IS路由协议,其中R1为Level-1路由器,R2为Level-1-2路由器,R3为Level-2路由器。

[r1]isis
[r1-isis-1]is-level level-1
[r1-isis-1]is-name r1
[r1-isis-1]network-entity 10.0000.0000.0001.00
[r1-isis-1]interface loopback 0
[r1-LoopBack0]isis enable
[r1-LoopBack0]int g0/0/0
[r1-GigabitEthernet0/0/0]isis enable


 

[r2]isis
[r2-isis-1]is-level level-1-2
[r2-isis-1]is-name r2
[r2-isis-1]network-entity 10.0000.0000.0002.00
[r2-isis-1]int g0/0/0
[r2-GigabitEthernet0/0/0]isis enable
[r2-GigabitEthernet0/0/0]isis circuit-level level-1
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]isis enable
[r2-GigabitEthernet0/0/1]isis circuit-level level-2

[r3]isis
[r3-isis-1]is-name r3
[r3-isis-1]is-level level-2
[r3-isis-1]network-entity 20.0000.0000.0003.00
[r3-isis-1]int g0/0/1
[r3-GigabitEthernet0/0/1]isis enable
[r3-GigabitEthernet0/0/1]int loopback 0
[r3-LoopBack0]isis enable

 配置完成后,在R2上查看IS-IS邻居信息。

可以看到,R2与R1建立了Level-1邻接关系,与R3建立了Level-2邻接关系。

在R1上以10.0.1.1为源,使用ping命令测试10.0.3.3之间的连通性。

 可以看到,部门A的内部网络与服务器所在网络之间的通信是正常的,全网实现了互通。

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

 在Level-1路由器R1上查看IS-IS链路状态数据库。

可以观察到,链路状态数据库中包含了3条LSP,以及相应的LSP ID、序列号(Seq Num)、校验和(Checksum)、生存时间(Holdtime)、长度(Length)等属性。因为R1是Level-1路由器,所以它只为Level-1维护了一个链路状态数据库。第一条LSP的LSP是Level-1路由器,所以它只为Level-1维护了一个链路状态数据库。第一条LSP的LSP ID为R1.00-00*,R1.00-00*中的R1为动态主机名。如果没有配置动态主机名时,相应的位置就是系统ID。R1.00-00*中前面的00是伪节点标识,00表示此LSP是由真实节点而非伪节点生成的。R1.00-00*中后面的00为分片号,当LSP的长度太长时,LSP会被分片,分片号的作用是为了重组被分片的LSP。R1.00-00*中的“*”表示此LSP是于本地生成的

在R1上使用display isis lsdb verbose命令查看IS-IS链路状态数据库的详细信息。

可以看到,第一条LSP是本地生成的,LSP ID中包含了系统ID,系统是一个真实节点而非伪节点。Source为动态主机名附伪节点标识,Host Name为动态主机名,NLP ID为该LSP所支持的网络协议,此处为IPv4,表明此LSP工作在Ipv4网络中,Area Address为该LSP的区域地址(即区域ID),此处为10。INTF Addr为接口地址,描述了生成此LSP的路由器所拥有的接口的IP地址,此处为10.0.1.1和10.0.12.1。NBR ID为邻居的系统ID附伪节点标识,Cost为去往邻居的开销值。IP-Internal为区域内IP路由信息,描述网络前缀和掩码,以及Cost信息。需要注意的是,第三条LSP是伪节点产生的。

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

在Level-1-1路由器R2上查看IS-IS链路状态数据库。

可以看到,R2为 Level-1和 Level-2分别维护了一份链路状态数据库,另外,其中的 Level-1链路状态数据库中的 LSP 条目与 Level-1路由器R1的链路状态数据库中的 LSP 条目完全相同,这表明 Level-1链路状态数据库在R1和R2上完成了同步。
在R2上使用命令 display isis lsdb level-1 verbose 查看 Level-1链路状态数据库的详细信息。

观察发现,在R2的 Level-1链路状态数据库中,除了用于标识本地生成的 LSP 的"*"之外,内容上与R1的 Level-1链路状态数据库完全相同。
在R2上使用命令 display isis lsdb level-2 verbose 查看 Level-2链路状态数据库的详细信息。  

观察发现,在 Level-2链路状态数据库中, LSP 的格式与在 Level-1链路状态数据库中并没有区别。 Level-1链路状态数据库与 Level-2链路状态数据库的最主要区别在于:Level-1链路状态数据库中的 LSP 的区域 ID 彼此都相同,而 Level-2链路状态数据库中的 LSP 的区域 ID 彼此可以不同。


5.查看 Level-2路由器的链路状态数据库

在 Level-2路由器R3上查看 IS-IS 链路状态数据库。 

可以看到,Level-2路由器R3为Level-2维护了一份链路状态数据库,其中的LSP条目与R2中的Level-2链路状态数据库中的LSP条目相同。

在R3上查看IS-IS链路状态数据库的详细信息。

可以看到,R3的Level-2链路状态数据库与R2的Level-2链路状态数据库完全相同。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Behind the Code:Polkadot 如何重塑 Web3 未来

2024 年 5 月 17 日 Polkadot 生态 Behind the Code 第二季第一集 《创造 Web3 的未来》正式上线。第一集深入探讨了 Polkadot 和 Web3 技术在解决数字身份、数据所有权和去中心化治理方面的巨大潜力。 🔍 查看完整视频: https://youtu.be/_gP-M5nUidc?…

Docker安装OnlyOffice

工作需要,多人在线编辑同一文档,找了一圈发现onlyoffice满足需求,于是使用docker安装了社区版本。下面记录下安装过程。 Onlyoffice 是什么? Onlyoffice 是一个多端协同的 Office 办公套件,相当于微软的 Office365 全…

MySQL多表关联查询习题

一、素材 -- Active: 1714203732007127.0.0.13306db_stu -- 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); -- 创建…

模块化程序设计(函数的定义、调用、参数传递、局部变量、全局变量)

函数的引入: 我们曾经学习了程序设计中的三种基本控制结构(顺序、分支、循环)。用它们可以组成任何程序。但在应用中,还经常用到子程序结构。 通常,在程序设计中,我们会发现一些程序段在程序的不同地方反复…

android实现PhotoShop里的魔棒效果

魔棒是画板工具一个重要的功能,非常实用,只要轻轻一点,就能把触摸到的颜色区域选中,做复制、剪切、擦除等工作。 那怎么实现呢? 先来看看效果: 要实现这个效果,需要对安卓canvas和paint理解比…

数据结构----堆的实现(附代码)

当大家看了鄙人的上一篇博客栈后,稍微猜一下应该知道鄙人下一篇想写的博客就是堆了吧。毕竟堆栈在C语言中常常是一起出现的。那么堆是什么,是如何实现的嘞。接下来我就带大家去尝试实现一下堆。 堆的含义 首先我们要写出一个堆,那么我们就需…

SQOOP详细讲解

SQOOP安装及使用 SQOOP安装及使用SQOOP安装1、上传并解压2、修改文件夹名字3、修改配置文件4、修改环境变量5、添加MySQL连接驱动6、测试准备MySQL数据登录MySQL数据库创建student数据库切换数据库并导入数据另外一种导入数据的方式使用Navicat运行SQL文件导出MySQL数据库impo…

ElasticSearch - 删除已经设置的认证密码(7.x)

文章目录 Pre版本号 7.x操作步骤检查当前Elasticsearch安全配置停止Elasticsearch服务修改Elasticsearch配置文件删除密码重启Elasticsearch服务验证配置 小结 Pre Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问 版本号 7.x ES7.x 操作步骤 …

阿里云产品DTU评测报告(一)

阿里云产品DTU评测报告(一) 名词解释物联网平台控制台产品设备 DTU设备模拟器 体验评价针对业务场景,您觉得该产品还有哪些可改进的地方?什么场景下使用该产品产品的优势是什么个人建议 在正式进行DTU测评之前,说一点题…

【Vue】input框自动聚焦且输入验证码后跳至下一位

场景&#xff1a;PC端 样式&#xff1a; <div class"verification-code-input"><input v-model"code[index]" v-for"(_, index) in 5" :key"index" type"text" maxlength"1" input"handleInput(i…

【idea】idea2024最新版本下载_安装_破解

1、下载 下载地址&#xff1a;下载 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE 下载完成&#xff1a; idea破解脚本下载链接&#xff1a;https://pan.baidu.com/s/1L5qq26cRABw8XuEn_CngKQ 提取码&#xff1a;6666 下载完成&#xff1a; 2、安装 1、双击idea的安装包&…

电赛经验分享——赛前准备

⏩ 大家好哇&#xff01;我是小光&#xff0c;想要成为系统架构师的嵌入式爱好者。 ⏩在之前的电赛中取得了省一的成绩&#xff0c;本文对电赛比赛前需要准备什么做一个经验分享。 ⏩感谢你的阅读&#xff0c;不对的地方欢迎指正。 加入小光嵌入式交流群&#xff08;qq群号&…

FPGA 纯逻辑arinc818 ip core

1、 符合FC-FS、FC-AV、FC-ADVB协议规范&#xff1b; 2、符合ARINC818协议规范&#xff1b; 3、支持光纤通信Class1、Class3服务&#xff1b; 5、可动态配置光纤端口速率&#xff0c;支持1.0625Gbps、2.125Gbps、3.1875Gbps、4.25Gbps可配置&#xff1b; 6、DDR控制接口简洁…

力扣--字符串58.最后一个单词的长度

思路分析 初始化变量: num 用于记录当前单词的长度。before 用于记录上一个单词的长度。 遍历字符串: 如果字符不是空格&#xff0c;增加 num 计数。如果字符是空格&#xff0c;检查 num 是否为 0&#xff1a; 如果 num 为 0&#xff0c;说明之前没有记录到单词&#xff0c;所以…

刷代码随想录有感(78):回溯算法——关于树枝/树层去重的思考(涉及break/continue的使用)

在复原IP地址中&#xff0c;剪枝操作我们使用的是break: if(isvalid(s, start, i)){s.insert(s.begin() i 1, .);pointNum;backtracking(s, i 2, pointNum);s.erase(s.begin() i 1);pointNum--; }else break;在其他情况&#xff0c;举个例子&#xff0c;在含有重复元素求…

基于UDP的tftp的文件传输

#define SER_PORT 69 #define SER_IP "192.168.125.71" #define CLT_PORT 6666 #define CLT_IP "192.168.125.158" int main(int argc, const char *argv[]) {//创建套接字文件描述符int cfd socket(AF_INET,SOCK_DGRAM,0);if(cfd -1){perror("sock…

Less语言

Less是一门预编译语言&#xff0c;它扩展了CSS语言&#xff0c;增加了变量、Mixin、函数等特性&#xff0c;使CSS更易维护和扩展 Less也扩充了CSS语言&#xff0c;增加了诸如变量、混合运算、函数等功能。Less既可以运行在服务端(Node.js和Rhino平台)也可以运行在客户端(浏览器…

Zookeeper 安装教程和使用指南

一、Zookeeper介绍 ZooKeeper 是 Apache 软件基金会的一个开源项目&#xff0c;主要基于 Java 语言实现。 Apache ZooKeeper 是一个开源的分布式应用程序协调服务&#xff0c;提供可靠的数据管理通知、数据同步、命名服务、分布式配置服务、分布式协调等服务。 关键特性 分布…

提取 Chrome、Firefox 中储存的用户密码用于凭据发现

操作环境 Chrome 浏览器 Version 125.0.6422.112 (Official Build) (64-bit)Firefox 浏览器 Version 126.0 (64 位) Chrome 浏览器储存密钥原理 新的 Chrome 浏览器储存密码的方案是使用 Chrome 生成的 AES 密钥对用户密码进行加密之后储存在 Sqlite 数据库文件中&#xff0c;A…

图论(从数据结构的三要素出发)

文章目录 逻辑结构物理结构邻接矩阵定义性能分析性质存在的问题 邻接表定义性能分析存在的问题 十字链表(有向图)定义性能分析 邻接多重表(无向图)定义性能分析 数据的操作图的基本操作图的遍历广度优先遍历&#xff08;BFS&#xff09;算法思想和实现性能分析深度优先最小生成…