ISIS-1 ISIS概述
前面几章我们介绍了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地址 | OSPF | Area ID+Router ID |
| OSI系统 | CLNP协议 | NSAP地址 | IS-IS | NET标识符 |

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


| 结构部分 | 备注 |
| AFI | Authority and Format Identifier,标识地址分配机构和地址格式。 |
| IDI | Initial Domain Identifier,标识域。 |
| HODSP | High Order DSP,分割区域。 |
| PS | AFI+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-报文类型
整体分类:
| 类型 | 全称 | 备注 |
| IIH | ISIS Hello PDU | 建立和维护邻居关系 |
| LSP | Link State PDU | 传输链路状态信息 |
| SNP | Sequence Numbers PDU | 描述数据库中的LSP |
PDU类型:
| 类型值 | 简称 | 全称 |
| 15 | L1 LAN IIH | Level-1 LAN IS-IS Hello PDU |
| 16 | L2 LAN IIH | Level-2 LAN IS-IS Hello PDU |
| 17 | P2P IIH | Point-to-Point IS-IS Hello PDU |
| 18 | L1 LSP | Level-1 Link State PDU |
| 20 | L2 LSP | Level-2 Link State PDU |
| 24 | L1 CSNP | Level-1 Complete Sequence Numbers PDU |
| 25 | L2 CSNP | Level-2 Complete Sequence Numbers PDU |
| 26 | L1 PSNP | Level-1 Partial Sequence Numbers PDU |
| 27 | L2 PSNP | Level-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 Length | PDU的总长度。 |
| Priority | 选举DIS的优先级,取值范围0~127,越大越优先,默认值为64。 |
| LAN ID | DIS和伪节点的System ID。 |
| Local Circuit ID | 本地链路ID。 |
LSP报文:

| 字段 | 备注 |
| PDU Length | PDU的总长度。 |
| Remaining Lifetime | LSP的存活时间,从1200倒计时(20分钟),与OSPF不一样OSPF是增加,IS-IS是减少。 |
| LSP ID | 由三部分组成:System ID、伪节点ID和LSP的分片号。 |
| Sequence Number | LSP的序列号。 |
| Checksum | LSP的校验和。 |
| P | Partition Repair,仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。 |
| ATT | Attachment,由L1/2路由器产生,仅与L1 LSP有关,表示产生此LSP的路由器与多个区域相连接。 |
| OL | LSDB Overload,表示本路由器因内存不足而导致LSDB不完整(过载)。其他路由器在进行SPF计算时不会考虑这台路由器,但到此路由器直连地址的报文仍然可以被转发。 |
| IS-Type | 生成LSP的路由器的类型,01=Level-1;11=Level-2。 |
例子:
假设路由器A想要去访问路由器C,但是路由器B的OL值置为了路由器A就会通过上面那条链路去访问路由器C,但如果是路由器B的直连网段的话就无所谓。

SNP报文类型:
| 类型 | 全称 | 备注 |
| CSNP | Complete Sequence Numbers PDU | 通告LSDB中所有摘要信息,类似于OSPF中的DD报文 |
| PSNP | Partial Sequence Numbers PDU | 请求和确认链路状态信息,在广播类型网络与P2P网络中的作用有时候不一样,可以用来当请求报文也可以用来当作确认报文 |
TLV/CLV:
IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组。
TLV也称为CLV(Code-Length-Value)。

| TLV Type | 名称 | 所应用的PDU类型 |
| 1 | Area Addresses | IIH、LSP |
| 2 | IS Neighbors(LSP) | LSP |
| 4 | Partition Designated Level2 IS | L2 LSP |
| 6 | IS Neighbors(MAC Address) | LAN IIH |
| 7 | IS Neighbors(SNPA Address) | LAN IIH |
| 8 | Padding | IIH |
| 9 | LSP Entries | SNP |
| 10 | Authentication Information | IIH、LSP、SNP |
| 128 | IP Internal Reachability Information | LSP |
| 129 | Protocols Supported | IIH、LSP |
| 130 | IP External Reachability Information | LSP |
| 131 | Inter-Domain Routing Protocol Information | L2 LSP |
到这里本章内容就到此结束了如果有疑问可以关注博主私聊,如果有问题欢迎私聊博主及时更改谢谢大家的观看学习!!!
相关文章:
ISIS-1 ISIS概述
前面几章我们介绍了OSPF的基础工作原理以及怎样交互LSA形成LSDB链路状态数据库的 这一章我们来介绍另一个链路状态路由协议,ISIS路由协议 一、概述 ISIS(Intermediate System to Intermediate System,中间系统到中间系统)是由ISO(International Organization for Standardiza…...
茱元游戏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中的看板服务:账号密码:sentinel/sentinel 官方文档地址 项目引入依赖 <!-- sentinel注解支持 --> <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-annotation-aspectj<…...
鸿蒙特效教程10-卡片展开/收起效果
鸿蒙特效教程10-卡片展开/收起效果 在移动应用开发中,卡片是一种常见且实用的UI元素,能够将信息以紧凑且易于理解的方式呈现给用户。 本教程将详细讲解如何在HarmonyOS中实现卡片的展开/收起效果,通过这个实例,你将掌握ArkUI中状…...
Qt在模块依靠情况下资源文件名称和资源名称的使用限制
概述 在Qt中使用添加资源文件的时候,对于资源文件名称的定义,往往是较为随意的。 但是当涉及到Qt库依赖的时候,则可能需要遵守一定的规则,否则可能出现文件找不到或者错误加载的问题。 环境 环境名称Qt 版本系统版本LinuxQt 5.…...
MTK Android12-Android13 设置系统默认语言
Android 系统,默认语言 文章目录 需求:场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…...
【003安卓开发方案调研】之ReactNative技术开发安卓
基于2025年最新行业动态和搜索资料,以下是针对国内使用React Native(RN)开发安卓应用的深度分析: 一、技术成熟度评估 1. 核心架构升级 新架构全面普及:2024年起,React Native的 新架构(Fabri…...
CSS3学习教程,从入门到精通,CSS3 浮动与清除浮动语法知识点及案例代码(14)
CSS3 浮动与清除浮动语法知识点及案例代码 一、浮动基础 浮动语法 选择器 {float: left|right|none|initial|inherit; }left:元素向左浮动。right:元素向右浮动。none:默认值,元素不浮动。initial:使用默认值。inhe…...
贪心算法——思路与例题
贪心算法:当我们分析一个问题时,我们往往先以最优的方式来解决问题,所以顾名思义为贪心。 例题1 题目分析:这题利用贪心算法来分析,最优解(可容纳人数最多时)一定是先考虑六人桌,然…...
网络华为HCIA+HCIP 防火墙
防火墙部署模式 路由模式 有路由器的功能 路由器干的活 他都得干 透明模式 旁挂模式 IDS 端口镜像 VPN...
WordPress超级菜单插件UberMenu v3.78汉化版
一、插件介绍 UberMenu 是一款功能强大的 WordPress 超级菜单插件,能够帮助站长创建响应式、可自定义的多级菜单。该插件支持动态内容加载、图标、图片、搜索框等丰富功能,并且兼容大多数 WordPress 主题。 UberMenu v3.78 经过完整汉化,适用于中文站点用户,让操作更加直观…...
SQL中体会多对多
我们可以根据学生与课程多对多关系的数据库模型,给出实际的表数据以及对应的查询结果示例,会用到JOINLEFT JOIN两种连接 1. 学生表(students) student_idstudent_name1张三2李四3王五 2. 课程表(courses)…...
23种设计模式-备忘录(Memento)设计模式
备忘录设计模式 🚩什么是备忘录设计模式?🚩备忘录设计模式的特点🚩备忘录设计模式的结构🚩备忘录设计模式的优缺点🚩备忘录设计模式的Java实现🚩代码总结🚩总结 🚩什么是…...
2024年3月全国计算机等级考试真题(二级C语言)
😀 第1题 下列叙述中正确的是 A. 矩阵是非线性结构 B. 数组是长度固定的线性表 C. 对线性表只能作插入与删除运算 D. 线性表中各元素的数据类型可以不同 题目解析: A. 矩阵是非线性结构 错误。矩阵通常是二维数组,属…...
计算机网络基础之三种交换技术及其性能分析
一. 交换技术基础 1. 三种交换技术 电路交换:用于电话网络报文交换:用于电报网络分组交换:用于现代计算机网络 2. 人类历史上的通信网络 #mermaid-svg-AeGvrkUbCkicFOIo {font-family:"trebuchet ms",verdana,arial,sans-serif;…...
使用python爬取网络资源
整体思路 网络资源爬取通常分为以下几个步骤: 发送 HTTP 请求:使用requests库向目标网站发送请求,获取网页的 HTML 内容。解析 HTML 内容:使用BeautifulSoup库解析 HTML 内容,从中提取所需的数据。处理数据ÿ…...
【MySQL】索引 事务
目录 一、索引 概念 作用 使用场景 使用 查看索引 创建索引 删除索引 背后的数据结构 二、事务 为什么使用事务 事务的概念 使用 开启事务 执行多条 SQL 语句 回滚或提交:rollback/commit; 事务的基本特性 原子性 一致性 持久性 隔离性 脏读 …...
平台与架构:深度解析与开发实践
平台与架构:深度解析与开发实践 1. 什么是平台与架构? 平台(Platform):指操作系统或运行环境,例如 linux、windows、darwin(macOS)、android 等。架构(Architecture&…...
【Springboot+JPA】存储过程Procedure使用及踩坑记录
SpringbootJPA存储过程调用 存储过程实现1.表结构2.上报数据分页查询2.1先查出总条数2.1.1 创建存储过程2.1.2 实体类声明存储过程2.1.3 仓库方法绑定存储过程2.1.4 服务调用存储过程 2.2返回分页数据2.2.1 创建存储过程2.2.2 实体类声明存储过程2.2.3 仓库方法绑定存储过程2.2…...
<template>标签的作用,在构建可复用 UI 片段时如何应用?
大白话标签的作用,在构建可复用 UI 片段时如何应用 <template>标签的作用 在前端开发里,<template>标签可是个超棒的工具。它就像是一个“代码仓库”,可以把一些 HTML 代码片段存起来,而且这些代码片段在页面刚加载…...
Android Compose框架的值动画(animateTo、animateDpAsState)(二十二)
深入剖析 Android 框架的值动画(animateTo、animateDpAsState) 一、引言 在构建富有交互性和吸引力的 Android 应用界面时,动画起着至关重要的作用。值动画作为 Android 动画体系中的重要组成部分,能够为各种 UI 元素的属性变化…...
Gunicorn+Eventlet无法收到SocketIO发送的消息
GunicornEventlet无法收到Socketio发送的消息 介绍问题分析**1. 确保正确安装依赖库****2. 检查 Gunicorn 启动命令****3. 配置 Flask-SocketIO 的异步模式****4. 检查库版本兼容性****5. 确认 emit 的调用方式****6. 客户端连接检查** 如何使用多个workers?**1. 为什么不能直…...
【江协科技STM32】软件SPI读写W25Q64芯片(学习笔记)
SPI通信协议及S为5Q64简介:【STM32】SPI通信协议&W25Q64Flash存储器芯片(学习笔记)-CSDN博客 STM32与W25Q64模块接线: SPI初始化: 片选SS、始终SCK、MOSI都是主机输出引脚,输出引脚配置为推挽输出&…...
基于 Vue 3 的PDF和Excel导出
以下是基于 Vue 3 Composition API 的完整实现,包括 PDF 和 Excel 导出。 一、PDF 导出 (Vue 3) 安装依赖 在项目中安装相关库: npm install html2canvas jspdf Vue 3 代码实现 <template><div><div ref"pdfContent" cla…...
Git+Fork 入门介绍
git 分区理解 fork安装 从路径下去拿软件时,注意先拉到本地。经验来看,fork直接安装会出不可思议的问题。 fork操作 安装,注意设置好名字,如果之前安装的同学,名字没有写好,重新安装设置好名字。 clone操…...
Windows系统安装Node.js和npm教程【成功】
0.引言——Node.js和npm介绍 项目描述Node.js基于Chrome V8引擎的JavaScript运行环境,使JavaScript可用于服务器端开发。采用单线程、非阻塞I/O及事件驱动架构,适用于构建Web服务器、实时应用和命令行工具等npmNode.js的包管理器与大型软件注册表。拥有…...
Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】
文章目录 引言I 实现步骤添加商品管理菜单组推拉效果引言 应用场景:PC端管理后台页面,左侧菜单列表导航。 思路: 用到了动态面板的两个交互效果来实现:隐藏/显示切换、展开/收起元件向下I 实现步骤 添加商品管理菜单组 在左侧画布区域添加一个菜单栏矩形框;再添加一个商…...
科技赋能|ZGIS综合管网智能管理平台守护地下城市生命线
地下管网作为城市公共安全的重要组成部分,担负着城市的信息传递、能源输送、排涝减灾等重要任务,是维系城市正常运行、满足群众生产生活需要的重要基础设施,是城市各功能区有机连接和运转的维系,因此,也被称为城市“生…...
