IS-IS协议

IS-IS协议介绍

IS-IS(Intermediate System to Intermediate System)协议是一种链路状态的内部网关协议(IGP),用于在同一个自治系统(Autonomous System, AS)内部的路由器之间交换路由信息。IS-IS协议是ISO(国际标准化组织)为实现其OSI(开放系统互联)模型而设计的,但它也被广泛用于IP网络中。百度百科:中间系统到中间系统协议

概述

IGP协议:链路状态协议,优先级15,度量值cost(与带宽有关)默认是10,可以修改。

工作在数据链路层

level 1组播MAC:0180-C2000-0014

level2主播MAC:0180-C2000-0015

工作原理

IS-IS的工作原理是基于链路状态协议(Link-State Protocol)与OSPF相似。

1、路由器角色和链路状态数据库(LSDB)

每个路由器在IS-IS中称为“中间系统”(Intermediate System,简称IS)

每个路由器维护一个链路状态数据库(LSDB),其中存储该路由器与其他路由器之间的链路状态信息。LSDB的内容主要包括网络中各路由器的连接状态。

2、Hello协议与邻居发现

1、路由器发送Hello报文来发现邻居路由器。这些Hello报文通过网络中相邻的路由器进行交换,来建立邻居。

每个IS-IS路由器都会定期发送Hello报文,通过这些报文来确认自己与邻居的连接是否正常,以及交换相关的配置参数,比如网络类型,hello时间间隔等等。

3、链路状态信息的传播

1、一旦邻接关系建立,每个路由器与邻居之间的链路信息(包括链路状态、带宽、延迟等)通过链路状态通告(LSA)传递给邻居。LSA是一种包含链路状态的控制报文,路由器通过LSA来通告网络中的其他设备他的接口和状态。

2、LSA是通过网络传播的,一旦LSA到达网络中其他路由器,所有路由器都会更新各自的LSDB。

4、SPF算法(最短路径优先)

1、路由器利用SPF算法来根据LSDB计算到达各个目标的最短路径。每个路由器都会根据自己拥有的LSDB生成一张路由表。

2、SPF算法的基本思想是基于路由器之间的链路信息计算最短路径,计算结果会被用来更新路由表,确定转发数据包的路径。

5、路由更新

当网络拓扑发生变化时,相关的LSA将会传播更新,所有路由器的LSDB将会进行更新,SPF算法将会重新计算路由表。

IS-IS协议网络实体名

介绍

在IS-IS协议中,网络中各个设备的实体通常根据他们在协议中的角色和身份来区分。

Level 1 Intermediate System (L1 IS):

L1 IS仅在单个区域内运行,负责在该区域内传播路由信息。它们不参与区域间的路由计算。
Level 2 Intermediate System (L2 IS):

L2 IS负责在不同区域之间传播路由信息,它们可以跨越多个区域进行路由计算。
Level 1-2 Intermediate System (L1-2 IS):

L1-2 IS同时具备L1和L2的功能,它们在本区域内作为L1路由器,在区域间作为L2路由器。
End System (ES):

在IS-IS协议的上下文中,ES指的是最终设备或主机,它们不是路由器,但可以是路由信息的目的或源。
Area Border Router (ABR):

ABR是连接不同IS-IS区域的路由器。在IS-IS中,ABR可以是L1-2路由器,它们在连接的区域内作为L1路由器,在区域间作为L2路由器。

路由器分类

Level-1 :区域内部路由器,维护本区域的路由信息,建立邻接关系,要求区域号必须一致
Level-2 :骨干路由器,维护自己区域和所有区域的路由信息;建立邻接关系,区域号可以相同,也可以不相同
Level 1-2 :默认类型,与OSPF的ABR类似

邻接关系建立

同一层次:只有同一层次(L1/L1,L2/L2/L1-2)的相邻路由器才有可能成为邻接
同一区域:对于Level-1路由器来说,Area ID必须一致
同一网段:链路两端IS-IS接口的地址必须处于同一网段(默认情况下)
相同的网络类型:链路两端IS-IS接口的网络类型( P2P/broadcast)必须一致
相同的MTU值:默认为1500
认证相同:如果做了认证,则两端的认证必须相同
接口未设置为silent-interface
在 P2P网络中 ,system-id 长度(6个字节)要一致,最大区域地址数(Max Area = 3),要相同

ISIS邻居建立不成功的原因

两台L1路由器,只有它们的Area ID一致才能建立邻居

1L1路由器和1L1/L2路由器,只有它们的Area ID一致才能建立邻居

建立ISI邻居的network-entity地址是否有冲突(类似于OSFProuter-id被设置为一样的)

建立ISIS邻居的认证参数不一致

建立ISIS邻居接口的MTU 值不一致

接口被设置为silent

                ​​​​​​​        ​​​​​​​        ​​​​​​​    p2p HelloTimer 10, DeadTimer 30

Hello时间不一致         广播DIS HelloTimer 3 DeadTimer 10

                                   广播非DIS HelloTimer 10, DeadTimer 30

报文类型

IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。

  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,设置为0x83。
  • Length Indicator:PDU头部的长度(包括通用头部和专用头部),以字节为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,设置为1(0x01)。
  • ID Length:NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6字节。值为255时,表示System ID区域为空(即长度为0)。
  • R(Reserved):保留,设置为0。
  • PDU Type:PDU的类型。IS-IS PDU共有9种类型,详细信息请参考下表。
  • Version:设置为1(0x01)。
  • Maximum Area Address:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。

IS-IS命令介绍

启用IS-IS协议
router isis [process-id]  process-id是IS-IS进程的标识符设置路由器ID
net [ISIS-NET]    其中【ISIS-NET】是一个点分十进制的地址,用于定义路由器的网络实体设置密码认证
ip anthentication mode [mode]    其中[mode]可以是md5或者simple
isis password [password] [process-id] 其中【password】是设置的密码设置hello参数
isis hello [muliplier] [interval] [process-id]    其中[multiplier]和[interval]分别为设置hello包的时间间隔和乘数设置metric值
metric [value]    其中[value]是设置的metric值,用于影响路由选择在接口启用IS-IS
ip router isis [process-id]    该命令需要在接口妹子模式下执行设置优先级
priority [value] [process-id]    其中[value]是设置的优先级值,用于决定是否成为区域的DIS

---------------------------------------------------------------------------------------------------------------------------------亲爱的读者朋友们,我在发布的博客中可能存在一些不足之处,如果您发现了任何错误或有改进建议,恳请不吝赐教,您的反馈对我非常重要。谢谢!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.7 TCP 的流量控制

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言1 滑动窗口与流量控制2 持续计时器与零窗口探测3 控制TCP发送报文段的时机3.1 控制发送时机的三种机制3.2 糊涂窗口综合症 前言 在网络通信中,流量控制是确保…

不良人系列-复兴数据结构(栈和队列)

个人主页:爱编程的小新☆ 不良人经典语录:“相呴相济 玉汝于成 勿念 心安” 目录 一. 栈(stack) 1. 栈的概念 2. 栈的常见方法 3.栈的模拟实现 ​编辑 二. 队列 1. 队列的概念 2. 队列的使用 2.1 队列的常见方法 2.2 队列的模拟实现 2.3 队列…

在clion中使用MySQL的教程

首先就是配置好东西,也是非常简单的: 1.把mysql安装目录(其中的lib好像)中的2个文件复制到下面就行 2.然后配置,这个文件 cmake_minimum_required(VERSION 3.24) project(2024_12project)include_directories(D:\\mys…

某名校考研自命题C++程序设计——近10年真题汇总(下)

第二期,相比上一贴本帖的题目难度更高一些,我当然不会告诉你我先挑简单的写~ 某名校考研自命题C程序设计——近10年真题汇总(上)-CSDN博客文章浏览阅读651次,点赞9次,收藏13次。本帖更新一些某校的编程真题…

探讨不同类型的自动化测试框架

以下为作者观点: 在自动化测试中,框架提供了一种组织和执行测试案例的结构化方式。它们提供了一套准则和最佳实践,使测试人员能够编写可重复使用、可维护和可扩展的测试脚本。在这篇文章中,我们将讨论自动化测试中不同类型的框架…

C# 网络编程--关于Socket编程TCP协议中封包、拆包问题

在使用 Socket 编程,进行TCP协议网络通信时,经常会遇到“粘包”(也称为“封包、拆包”)的问题。粘包是指发送方发送的多个数据包被接收方合并成一个数据包,或者一个数据包被拆分成多个数据包接收。这通常是由于 TCP协议…

HarmonyOS:@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变…

Excel拆分脚本

Excel拆分 工作表按行拆分为工作薄 工作表按行拆分为工作薄 打开要拆分的Excel文件,使用快捷键(AltF11)打开脚本界面,选择要拆分的sheet,打开Module,在Module中输入脚本代码,然后运行脚本 Su…

【机器人】Graspness 端到端 抓取点估计 | 论文解读

在复杂场景中实现抓取检测,Graspness是一种端到端的方法; 输入点云数据,输出抓取角度、抓取深度、夹具宽度等信息。 开源地址:GitHub - rhett-chen/graspness_implementation: My implementation of Graspnet Graspness. 论文地…

盛元广通畜牧与水产品检验技术研究所LIMS系统

一、系统概述 盛元广通畜牧与水产品检验技术研究所LIMS系统集成了检测流程管理、样品管理、仪器设备管理、质量控制、数据记录与分析、合规性管理等功能于一体,能够帮助实验室实现全流程的数字化管理。在水产、畜牧产品的质检实验室中,LIMS系统通过引入…

kubeadm安装K8s高可用集群之集群初始化及master/node节点加入calico网络插件安装

系列文章目录 1.kubeadm安装K8s高可用集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx及kubeadm部署 3.kubeadm安装K8s高可用集群之集群初始化及master/node节点加入集群calico网络插件安装 kubeadm安装K8s高可用集群之集群初始化及master/node节点加入ca…

【机器学习】以机器学习为翼,翱翔网络安全创新苍穹

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 在数字化浪潮汹涌澎湃的当下,网络安全如同守护数字世界的坚固堡垒,其重要性不言而喻。而机器学习技术的蓬勃…

go引用包生成不了vendor的问题

比如我要引入github.com/jinzhu/gorm这个包. 1. 首先获取包 go get github.com/jinzhu/gorm 这时go.mod文件中也有这个包依赖信息了. 2. 然后构建vendor go mod vendor 结果发现vendor目录下没有生成对应的包, 而且modules.txt也注释掉这个包了. 原因是没有其进行引用, go…

多模块的spring boot项目发布指定模块的脚本

我有一个多模块的Spring Boot项目,里面有基础模块,有业务模块,业务模块依赖一些基础模块。发布的时候,如果单独将某个模块发布,一般会报错。所以我都是整个项目,无论多少个模块,不管3721&#x…

fabric.js

目录 一、在canvas上画简单的图形 二、在canvas上用路径(Path)画不规则图形 三、在canvas上插入图片并设置旋转属性(angle) 四、让元素动起来(animate) 五、图像过滤器(filters)让图片多姿多彩 六、颜色模式(Color)和相互转换(toRgb、toHex) 七、对图形的渐变填充(Gradi…

23. 合并 K 个升序链表(java)

题目描述: 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释&#xff…

爬取Q房二手房房源信息

文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序,查看结果 4. 实战小结 1. 实战概述 本次实战项目旨在通过编写Python爬虫程序,抓取深圳Q房网上的二手房房源信息。我们将分析网页结构,…

【蓝桥杯】43699-四平方和

四平方和 题目描述 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 比如: 502021222 712121222; 对于一个给定的正整数,可…

Kerberos身份验证

Kerberos是更现代化的身份验证协议,它比 NTLM 认证更安全,但域内某些服务仍支持 NTLM 认证。Kerberos 和 NTLM 认证一样,都是通过在 SSPI 接口实现的功能,这使得使用第三方协议(如:HTTP、SMB、LDAP&#xf…

达梦8-达梦数据的示例用户和表

1、示例库说明: 创建达梦数据的示例用户和表,导入测试数据。 在完成达梦数据库的安装之后,在/opt/dmdbms/samples/instance_script目录下有用于创建示例用户的SQL文件。samples目录前的路径根据实际安装情况进行修改,本文将达梦…