ISIS-1 ISIS概述

news2025/3/31 20:17:30

前面几章我们介绍了OSPF的基础工作原理以及怎样交互LSA形成LSDB链路状态数据库的

这一章我们来介绍另一个链路状态路由协议,ISIS路由协议

一、概述


  • ISIS(Intermediate System to Intermediate System,中间系统到中间系统)是由ISO(International Organization for Standardization,国际标准化组织)为它的CLNP(ConnectionLessNetwork Protocol,无连接网络协议)设计的一种动态路由协议。
  • 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnect,开放式系统互联)环境中,我们将扩展后的IS-IS称为集成IS-IS。
  • 和OSPF一样,属于链路状态IGP,使用SPF计算路由的动态路由协议
  • 由于简便性和扩展性;普遍应用于ISP网络中。

集成IS-IS的特点:

支持CLNP、IP网络

工作在数据链路层

OSPF的特点:

目前只支持IP网络

工作在网络层

随着IPv6网络的建设,IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现、生成、和转发IPv6路由


二、ISIS-地址结构

TCP/IP协议栈IP协议IP地址OSPFArea ID+Router ID
OSI系统CLNP协议NSAP地址IS-ISNET标识符

 NET是一类特殊的NSAP(SEL=00),在路由器上配置IS-IS时,只需要考虑NET即可

结构部分备注
AFIAuthority and Format Identifier,标识地址分配机构和地址格式。
IDIInitial Domain Identifier,标识域。
HODSPHigh Order DSP,分割区域。
PSAFI+IDI+HODSP=Area Address
System ID标识路由器和主机
SEL标识服务类型,在IP上均为00

Area Address区域地址:

  • 既能够标识路由域,也能够标识路由域中的区域
  • 相当于OSPF中的区域编号
  • 两个不同的路由域中不允许由相同的区域地址
  • 一般情况下,一台路由只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。
  • 为了支持区域的平滑合并、分割及转换,一台路由器最多配置3个区域地址。

System ID系统ID:

  • 在区域内唯一标识主机或路由器。
  • 在实际应用中,一般使用Router ID与System ID进行对应。

SEL:NSAP Selector,类似于IP中的协议标识符,在IP中,SEL均为00。

NET:Network Entity Title,网络实体名称:

  • 可以看作是一类特殊的NSAP,即SEL=0的NSAP地址。
  • 通常情况下,一台路由器配置一个NET即可。
  • 当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以重新置为仍然能够保证路由的正确性。
  • 由于一台路由最多可配置3个区域地址,所以最多也只能配置3个NET。
  • 在配置多个NET时,必须保证它们的System ID都相同。

 例:

49.0001.0000.0000.0001.00

Area=49.0001

System ID=0000.0000.0001

SEL=00

NET的配置举例:

  • 每台运行IS-IS的网络设备至少需拥有一个NET,当然,一台设备也可以同时配置多个NET,但是这些NET的System ID必须相同。
  • 在华为的网络设备上,System ID的长度总是固定的6Bytem。在一个IS-IS路由域中,设备的System ID必须唯一,为了便于管理,一般根据Router ID配置System ID。

注意:同一个区域内,可以有相同的Area Address,不可以出现相同的System ID。


三、ISIS的报文格式

  • IS-IS报文是直接封装在数据链路层的帧结构中的。
  • PDU(Protocol Data Unit,协议数据单元)可以分为两个部分,报文头(IS-IS Header)和变长字段部分(Variable Length Fields)。
  • 其中IS-IS Header又分为通用头部(PDU Common Header)和专用头部(PDU Specific Header)。对于所有PDU来说,通用报文都是相同的,但专用报头根据PDU类型不同而有所差异


1、IS-IS通用头部详解

重要字段解释:

  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0x83。
  • Length Indicator:IS-IS头部的长度(包括通用头部和专用头部),以Byte为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,固定为0x01。
  • System ID Length:NSAP地址或NET中System ID区域的长度,值为0时,标识System ID区域的长度为6Byte。
  • R(Reserved):保留,固定为0。
  • Version:固定为0x01。
  • Max Areas:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。


IS-IS报文类型概述

  • IS-IS的PDU有4种类型:IIH(IS-IS Hello),LSP(Link State PDU,链路状态报文),CSNP(Complete Sequence Number PDU,全序列号报文),PSNP(Partial Sequence Number PDU,部分序列号报文)。
  • IIH:用于建立和维持邻接关系,广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH;广播网络中的Level-2 IS-IS路由器使用Level-2 LANIH;点到点网络中则使用P2P IIH。
  • LSP:用于交换链路状态信息。LSP分为两种,Level-1 LSP、Level-2 LSP。
  • SNP:通过描述全部或部分链路数据库中的LSP来同步各LSDB,从而维护LSDB的完整与同步。SNP包括CSNP和PSNP,进一步又可分为Level-1CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。

IS-IS常见的TLV

  • TLV的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。
  • 使用TLV结构构件报文的好处是灵活性和扩展性好。采用TLV使用报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构。


ISIS-报文类型

整体分类:

类型全称备注
IIHISIS Hello PDU建立和维护邻居关系
LSPLink State PDU传输链路状态信息
SNPSequence Numbers PDU描述数据库中的LSP

PDU类型:

类型值简称全称
15L1 LAN IIHLevel-1 LAN IS-IS Hello PDU
16L2 LAN IIHLevel-2 LAN IS-IS Hello PDU
17P2P IIHPoint-to-Point IS-IS Hello PDU
18L1 LSPLevel-1 Link State PDU
20L2 LSPLevel-2 Link State PDU
24L1 CSNPLevel-1 Complete Sequence Numbers PDU
25L2 CSNPLevel-2 Complete Sequence Numbers PDU
26L1 PSNPLevel-1 Partial Sequence Numbers PDU
27L2 PSNPLevel-2 Partial Sequence Numbers PDU

Hello报文类型:

类型备注
L1 LAN IIH广播网络中的Level-1路由器使用
L2 LAN IIH广播网络中的Level-2路由器使用
P2P IIH点到点网络中的路由器使用

字段备注
Reserved/Circuit Type高位的6比特保留,值为0,低位的2比特表示路由的类型01=L1;10=L2;11=L1/2
Source ID发出Hello报文的路由器的System ID。
Holding Time邻居的保持时间(老化时间/死亡时间),默认为30秒,发送间隔默认为10秒,在配置中只能修改时间间隔,而老化时间就是时间间隔的3倍,例如将老化时间修改为20,则老化时间就会60。
PDU LengthPDU的总长度。
Priority选举DIS的优先级,取值范围0~127,越大越优先,默认值为64。
LAN IDDIS和伪节点的System ID。
Local Circuit ID本地链路ID。

LSP报文:

字段备注
PDU LengthPDU的总长度。
Remaining LifetimeLSP的存活时间,从1200倒计时(20分钟),与OSPF不一样OSPF是增加,IS-IS是减少。
LSP ID由三部分组成:System ID、伪节点ID和LSP的分片号。
Sequence NumberLSP的序列号。
ChecksumLSP的校验和。
PPartition Repair,仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。
ATTAttachment,由L1/2路由器产生,仅与L1 LSP有关,表示产生此LSP的路由器与多个区域相连接。
OLLSDB Overload,表示本路由器因内存不足而导致LSDB不完整(过载)。其他路由器在进行SPF计算时不会考虑这台路由器,但到此路由器直连地址的报文仍然可以被转发。
IS-Type生成LSP的路由器的类型,01=Level-1;11=Level-2。

 例子:
假设路由器A想要去访问路由器C,但是路由器B的OL值置为了路由器A就会通过上面那条链路去访问路由器C,但如果是路由器B的直连网段的话就无所谓。

 SNP报文类型:

类型全称备注
CSNPComplete Sequence Numbers PDU通告LSDB中所有摘要信息,类似于OSPF中的DD报文
PSNPPartial Sequence Numbers PDU请求和确认链路状态信息,在广播类型网络与P2P网络中的作用有时候不一样,可以用来当请求报文也可以用来当作确认报文

TLV/CLV:

IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组。

TLV也称为CLV(Code-Length-Value)。

TLV Type名称所应用的PDU类型
1Area AddressesIIH、LSP
2IS Neighbors(LSP)LSP
4Partition Designated Level2 ISL2 LSP
6IS Neighbors(MAC Address)LAN IIH
7IS Neighbors(SNPA Address)LAN IIH
8PaddingIIH
9LSP EntriesSNP
10Authentication InformationIIH、LSP、SNP
128IP Internal Reachability InformationLSP
129Protocols SupportedIIH、LSP
130IP External Reachability InformationLSP
131Inter-Domain Routing Protocol InformationL2 LSP

到这里本章内容就到此结束了如果有疑问可以关注博主私聊,如果有问题欢迎私聊博主及时更改谢谢大家的观看学习!!! 

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

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

相关文章

茱元游戏TV2.9.3 | 适配多设备的经典街机游戏集合

茱元游戏TV是一款专为TV端设计的游戏软件,同时适配手机、投影仪和车机等多种设备。尽管其兼容性一般,仅支持安卓9.0以上系统,但它提供了丰富的经典街机游戏资源,非常适合8090后怀旧游玩。注意,游戏需先下载才能玩&…

RTD2525BE《HDMI转EDP,DP转EDP》显示器芯片

一、产品概述 瑞昱RTD2525BE是一款专为高端显示设备设计的多接口转换芯片,支持HDMI 2.0与DisplayPort(DP)1.4双输入,并高效转换为嵌入式DisplayPort(eDP)输出。该芯片集成先进信号处理技术,支持…

SvelteKit 最新中文文档教程(10)—— 部署 Cloudflare Pages 和 Cloudflare Workers

前言 Svelte,一个语法简洁、入门容易,面向未来的前端框架。 从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1: Svelte …

springboot使用阿里限流框架-sentinel

当前项目源码 控制台下载 启动bin中的看板服务&#xff1a;账号密码:sentinel/sentinel 官方文档地址 项目引入依赖 <!-- sentinel注解支持 --> <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-annotation-aspectj<…

鸿蒙特效教程10-卡片展开/收起效果

鸿蒙特效教程10-卡片展开/收起效果 在移动应用开发中&#xff0c;卡片是一种常见且实用的UI元素&#xff0c;能够将信息以紧凑且易于理解的方式呈现给用户。 本教程将详细讲解如何在HarmonyOS中实现卡片的展开/收起效果&#xff0c;通过这个实例&#xff0c;你将掌握ArkUI中状…

Qt在模块依靠情况下资源文件名称和资源名称的使用限制

概述 在Qt中使用添加资源文件的时候&#xff0c;对于资源文件名称的定义&#xff0c;往往是较为随意的。 但是当涉及到Qt库依赖的时候&#xff0c;则可能需要遵守一定的规则&#xff0c;否则可能出现文件找不到或者错误加载的问题。 环境 环境名称Qt 版本系统版本LinuxQt 5.…

MTK Android12-Android13 设置系统默认语言

Android 系统&#xff0c;默认语言 文章目录 需求&#xff1a;场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…

贪心算法——思路与例题

贪心算法&#xff1a;当我们分析一个问题时&#xff0c;我们往往先以最优的方式来解决问题&#xff0c;所以顾名思义为贪心。 例题1 题目分析&#xff1a;这题利用贪心算法来分析&#xff0c;最优解&#xff08;可容纳人数最多时&#xff09;一定是先考虑六人桌&#xff0c;然…

网络华为HCIA+HCIP 防火墙

防火墙部署模式 路由模式 有路由器的功能 路由器干的活 他都得干 透明模式 旁挂模式 IDS 端口镜像 VPN

WordPress超级菜单插件UberMenu v3.78汉化版

一、插件介绍 UberMenu 是一款功能强大的 WordPress 超级菜单插件,能够帮助站长创建响应式、可自定义的多级菜单。该插件支持动态内容加载、图标、图片、搜索框等丰富功能,并且兼容大多数 WordPress 主题。 UberMenu v3.78 经过完整汉化,适用于中文站点用户,让操作更加直观…

SQL中体会多对多

我们可以根据学生与课程多对多关系的数据库模型&#xff0c;给出实际的表数据以及对应的查询结果示例&#xff0c;会用到JOINLEFT JOIN两种连接 1. 学生表&#xff08;students&#xff09; student_idstudent_name1张三2李四3王五 2. 课程表&#xff08;courses&#xff09…

23种设计模式-备忘录(Memento)设计模式

备忘录设计模式 &#x1f6a9;什么是备忘录设计模式&#xff1f;&#x1f6a9;备忘录设计模式的特点&#x1f6a9;备忘录设计模式的结构&#x1f6a9;备忘录设计模式的优缺点&#x1f6a9;备忘录设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是…

2024年3月全国计算机等级考试真题(二级C语言)

&#x1f600; 第1题 下列叙述中正确的是 A. 矩阵是非线性结构 B. 数组是长度固定的线性表 C. 对线性表只能作插入与删除运算 D. 线性表中各元素的数据类型可以不同 题目解析&#xff1a; A. 矩阵是非线性结构 错误。矩阵通常是二维数组&#xff0c;属…

【MySQL】索引 事务

目录 一、索引 概念 作用 使用场景 使用 查看索引 创建索引 删除索引 背后的数据结构 二、事务 为什么使用事务 事务的概念 使用 开启事务 执行多条 SQL 语句 回滚或提交&#xff1a;rollback/commit; 事务的基本特性 原子性 一致性 持久性 隔离性 脏读 …

【江协科技STM32】软件SPI读写W25Q64芯片(学习笔记)

SPI通信协议及S为5Q64简介&#xff1a;【STM32】SPI通信协议&W25Q64Flash存储器芯片&#xff08;学习笔记&#xff09;-CSDN博客 STM32与W25Q64模块接线&#xff1a; SPI初始化&#xff1a; 片选SS、始终SCK、MOSI都是主机输出引脚&#xff0c;输出引脚配置为推挽输出&…

Git+Fork 入门介绍

git 分区理解 fork安装 从路径下去拿软件时&#xff0c;注意先拉到本地。经验来看&#xff0c;fork直接安装会出不可思议的问题。 fork操作 安装&#xff0c;注意设置好名字&#xff0c;如果之前安装的同学&#xff0c;名字没有写好&#xff0c;重新安装设置好名字。 clone操…

Windows系统安装Node.js和npm教程【成功】

0.引言——Node.js和npm介绍 项目描述Node.js基于Chrome V8引擎的JavaScript运行环境&#xff0c;使JavaScript可用于服务器端开发。采用单线程、非阻塞I/O及事件驱动架构&#xff0c;适用于构建Web服务器、实时应用和命令行工具等npmNode.js的包管理器与大型软件注册表。拥有…

Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】

文章目录 引言I 实现步骤添加商品管理菜单组推拉效果引言 应用场景:PC端管理后台页面,左侧菜单列表导航。 思路: 用到了动态面板的两个交互效果来实现:隐藏/显示切换、展开/收起元件向下I 实现步骤 添加商品管理菜单组 在左侧画布区域添加一个菜单栏矩形框;再添加一个商…

科技赋能|ZGIS综合管网智能管理平台守护地下城市生命线

地下管网作为城市公共安全的重要组成部分&#xff0c;担负着城市的信息传递、能源输送、排涝减灾等重要任务&#xff0c;是维系城市正常运行、满足群众生产生活需要的重要基础设施&#xff0c;是城市各功能区有机连接和运转的维系&#xff0c;因此&#xff0c;也被称为城市“生…

如何保证LabVIEW软件开发的质量?

LabVIEW作为图形化编程工具&#xff0c;广泛应用于工业测控、自动化测试等领域。其开发模式灵活&#xff0c;但若缺乏规范&#xff0c;易导致代码可读性差、维护困难、性能低下等问题。保证LabVIEW开发质量需从代码规范、模块化设计、测试验证、版本管理、文档完善等多维度入手…