IS-IS协议
- 一、IS-IS原理描述
-
- 1.1、IS-IS基本概念
-
- 1.1.1、相关术语
- 1.1.2、ISIS地址结构
-
- [1.1.2.1、NSAP 是什么?](#1.1.2.1、NSAP 是什么?)
- [1.1.2.2、NSAP 的简化格式](#1.1.2.2、NSAP 的简化格式)
- [1.1.2.3、NET ------ 路由器专用地址](#1.1.2.3、NET —— 路由器专用地址)
- 1.1.2.4、各字段详细说明
- 1.1.2.5、配置中的注意事项
- 1.1.3、ISIS区域
- 1.1.4、ISIS路由器分类和层次
- 1.1.5、ISIS层次性
- 1.1.6、ISIS网络类型
- 1.2、IS-IS基本原理
- 1.3、IS-IS基本特点
- 1.4、IS-IS收敛特性
- 1.5、IS-IS扩展特性
-
- 1.5.1、IS-IS认证
- [1.5.2、IS-IS LSP分片扩展](#1.5.2、IS-IS LSP分片扩展)
- 1.6、IS-IS管理特性
-
- 1.6.1、IS-IS管理标记(Tag)
- [1.6.2、IS-IS Wide Metric](#1.6.2、IS-IS Wide Metric)
- 二、IS-IS配置命令
- 三、IS-IS故障诊断
- 四、IS-IS案例分析
- IS-IS是Intermediate System to Intermediate System简称.
- IS-IS是一种基于SPF算法的链路状态协议,同时IS-IS也是一种内部网关协议。
- IS-IS一般应用于大型的网络。
一、IS-IS原理描述
1.1、IS-IS基本概念
- IS-IS特点:
- 仅用于CLNS(无连接网络服务)环境下
- 集成IS-IS特点:
- 支持CLNP网络、IP网络、或者CLNP和IP双重网络
- 工作在数据链路层
- 属于OSI协议族(两种数据通信服务模型)
- CONS(Connectionnetwork server)面向连接网络服务
- CLNS(connectionless network server)无连接网络服务
- IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS(ConnectionlessNetworkService)的一部分,用于动态路由数据包。
- CLNS由以下三个协议构成:
- CLNP:类似于TCP/IP中的IP协议。Ip协议为TCP/IP传输层服务。CLNP为OSI传输层服务。
- IS-IS:中间系统间的路由协议,类似于IP中的OSPF
- ES-IS:主机系统与中间系统间的协议,就象IP中的ARP,ICMP等。
- CLNP类似于IP协议,CLNP定义为独立于数据链路层。
- IP是TCP/IP协议种唯一的网络层协议,包括路由协议和用户数据都封装在IP包内;而CLNP、ES-IS、IS-IS协议都是网络层协议,分别被封装在数据链路层的帧内。
什么是CLNP
CLNS (Connectionless-mode Network Service),即无连接网络服务,是 OSI 七层模型中网络层(第 3 层) 的一种核心数据传输服务。它是 OSI(开放系统互联)参考模型中网络层提供的一种服务模式。其核心特征与互联网的 IP 协议类似:每个数据包(数据报)独立进行路由转发,无需提前建立端到端的连接。与之相对的是 CONS(面向连接的网络服务)。CONS 在通信前需要先建立连接(类似打电话),确保数据按序、可靠传输,但资源占用较高。CLNS 则更灵活、健壮,适合突发性数据传输。
核心机制: 源端与目的端在通信前不需要建立虚拟电路。每个数据包(通常称为数据报)都携带完整的目的地址,由中间系统(路由器)根据当时的路由表独立选择路径转发。因此,连续发送的多个数据包可能经过不同的路径,到达顺序也可能错乱。

什么是IS-IS协议呢?
ISIS - Intermediate System-Intermediate System 中间系统 -中间系统
ISIS路由选择协议在ISO10589中定义,旨在ISO-CLNS环境中运行CLNP协议的路由器之间提供动态交换路由信息的途径。并且ISIS协议可以自动计算最佳路径和选择路由。
什么是ES-IS呢?
ES-IS终端系统-中间系统路由交换协议;**同一网段或链路的ISO终端系统和路由器之间自动交换信息便于邻接点发现。**路由器发送IS报文hello(ISH),主机发送ES报文hello(ESH)。在直连节点间发送的hello报文包含通信节点的网络层地址和数据链路层地址。包含地址分配,网关选择等功能。等同于IP中的ICMP,ARP,DHCP协同工作。
什么是集成的ISIS协议?
ISIS - Intermediate System-Intermediate System中间系统 -中间系统:Intemet工程任务组IETF在RFC1195中定义了"用OSI-ISIS实现在TCP/IP和OSI双重环境下的路由选择",也就是"集成的ISIS"或者"双重ISIS";**这样集成的ISIS可以支持纯CLNP网络或者纯IP网络,或者同时运行CLNP和IP的双重网络。**当前的ISIS规范中把网络节点叫做中间系统,其他协议比如OSPF把节点叫做路由器。
1.1.1、相关术语
1.1.1.1、基础实体与地址
| 术语 | 全称 | 含义 | 类比 / 备注 |
|---|---|---|---|
| ES | End System | 终端系统,即主机 | 类似于 IP 网络中的 Host |
| IS | Intermediate System | 中间系统,即路由器 | 类似于 IP 网络中的 Router |
| DIS | Designated Intermediate System | 指定中间系统,广播网络中的负责人 | 类似于 OSPF 的 DR,但 DIS 可抢占、无备份 |
| SysID | System ID | 系统标识符,在域内唯一标识一个 IS 或 ES | 类似于 OSPF 的 Router ID,长度固定 6 字节(通常用 MAC 或 Loopback 地址生成) |
| NSAP | Network Service Access Point | 网络服务访问点,OSI 网络层地址(含主机身份 + 上层服务选择符) | 相当于 IP 地址 + 传输层端口(但格式更长,分 Area、System ID、SEL) |
| NET | Network Entity Title | 网络实体标识,一种特殊的 NSAP(SEL = 00),用于标识路由器本身 | 类似于 OSPF 的 Router ID + Area 信息,是路由器在 IS-IS 中的"身份证" |
1.1.1.2、协议数据单元(PDU)
| 术语 | 全称 | 含义 | 类比 / 备注 |
|---|---|---|---|
| PDU | Protocol Data Unit | 协议数据单元,IS-IS 直接封装在链路层帧中的报文 | 不是 IP 报文,而是链路层帧(以太网类型 0x22F4) |
| LSP | Link State Protocol Data Unit | 链路状态协议数据单元,携带路由信息(前缀、邻居、度量值等) | 类似于 OSPF 的 LSA,是 IS-IS 的链路状态通告载体 |
| LSPDB | Link State PDU Database | 链路状态数据库,存储所有收到的 LSP | 类似于 OSPF 的 LSDB,同区域内所有 IS 的 LSPDB 最终一致 |
| IIH | Intermediate System to Intermediate System Hello | IS-IS 路由器之间的 Hello 报文 | 类似于 OSPF 的 Hello,用于发现邻居、建立和维护邻接关系 |
| ESH | End System Hello | 终端系统(主机)发送的 Hello 报文 | 在纯路由环境中少见;用于主机发现路由器(ES-IS 协议) |
| CSNP | Complete Sequence Numbers PDU | 完整序列号 PDU,包含当前 LSPDB 中所有 LSP 的摘要 | 类似于 OSPF 的 DBD,用于同步数据库 |
| PSNP | Partial Sequence Numbers PDU | 部分序列号 PDU,用于请求缺失的 LSP 或确认收到的 LSP | 类似于 OSPF 的 LSR / LSAck(点对点链路中兼具请求和确认功能) |
1.1.1.3、关键机制说明
| 概念 | 说明 |
|---|---|
| CLNS / CLNP | 无连接网络服务 / 协议,IS-IS 运行在 CLNS 之上,不依赖 IP。CLNP 是 OSI 网络层的无连接协议,IS-IS 为其提供路由。 |
| DIS 选举 | 广播网络(如以太网)中通过优先级选举 DIS,优先级最高者当选,若优先级相同则 MAC 地址大者获胜。DIS 可抢占,且无备份 DIS。 |
| LSP 刷新 | 每个 LSP 都有存活时间(Lifetime),生成者会周期性刷新(默认 15 分钟),超过存活时间则 LSP 被删除。 |
| CSNP 周期发送 | 在广播网络中,DIS 每 10 秒发送一次 CSNP 来维护数据库同步;点对点链路只在邻接建立时发送一次。 |
| PSNP 的双重角色 | 广播网络:PSNP 仅用于请求缺失 LSP;点对点网络:PSNP 还用于显式确认收到的 LSP。 |
1.1.2、ISIS地址结构

NSAP是OSI协议中用于定位资源的地址:相当于OSI的网络层协议CLNP的地址(类似IP地址的概念)
NET是一类特殊的NSAP(SEL=00):在路由器上配置IS-IS时,只需要考虑NET即可。
- 简化的NSAP格式IDP DSP
- Area Address由AFI,IDl还有DSP的一部分组成,既能够标识路由域,也能够标识路由域中的区域。System ID必须在整个区域和主干(Level2)上保持唯一,用来唯一标识主机或路由器。
- System ID为6个字节。
- NSEL(NSAP-Selector)NSAP标识,用来指示选定的服务,相当于TCP/IP地址中的端只号对NET地址来将,是00。
1.1.2.1、NSAP 是什么?
NSAP (Network Service Access Point,网络服务访问点)是 OSI 协议栈网络层的地址,用于唯一标识一个网络节点(主机或路由器)以及其上的某个上层服务。
- 它的作用类似于 IP 地址 + 传输层端口号 (如
192.168.1.1:80),但格式不同。 - NSAP 是 CLNP(无连接网络协议)使用的地址,IS-IS 路由协议基于 CLNP 运行,因此路由器需要配置 NSAP(或它的特例 NET)。
1.1.2.2、NSAP 的简化格式
NSAP 的完整格式由 IDP (初始域部分)和 DSP(域特定部分)组成
| 字段 | 长度 | 作用 | 在 NET(IS-IS 配置)中的说明 | 类比(TCP/IP) |
|---|---|---|---|---|
| AFI (Authority and Format Identifier) | 1 字节 | 标识地址管理机构(ISO、ITU‑T等)和地址语法 | 常见值 49(私有地址),IS‑IS 几乎都使用此值 |
类似于 IPv4 公网/私有标识,但无直接对应 |
| IDI (Initial Domain Identifier) | 可变 (由 AFI 决定) | 在 AFI 下进一步区分路由域 | 与 AFI、High Order DSP 的一部分共同构成 Area Address(区域地址) | 类似于 IPv4 网络号的前缀部分 |
| High Order DSP (高阶域特定部分) | 可变 (0~13 字节) | 在域内实现层次化寻址,通常用于标识 区域(Area) | 与 AFI、IDI 一起作为 Area Address 在 IS‑IS 中配置 | 类似于 IPv4 子网号或 IPv6 层次化前缀 |
| System ID | 6 字节 (固定) | 在区域内及 Level‑2 主干中唯一标识一台设备(路由器/主机) | 必须唯一;通常从 MAC 地址或 Loopback IP 转换而来 | 类似于 Router ID 或主机标识 |
| SEL (NSAP Selector) | 1 字节 | 标识设备上的上层服务实体(类似端口号) | NET 中固定为 00,表示地址指向路由器本身而非上层服务 |
类似于 TCP/UDP 端口号 |
补充说明
- Area Address :在 IS‑IS 配置中,我们并不直接区分 AFI、IDI、High Order DSP,而是将
AFI + IDI + High Order DSP的前缀 整体配置为区域地址。例如49.0001.0002。 - NET :当 SEL =
00时,整个 NSAP 地址称为 NET (Network Entity Title),用于标识路由器自身。一个路由器可配置多个 NET(如多区域时),但所有 NET 的 System ID 必须相同。 - 地址总长度 :NSAP 地址总长 8~20 字节 ,实际配置中常见 8~12 字节(如
49.0001.aaaa.bbbb.cccc.00共 11 字节)。
注意 :一个 NSAP 地址的总长度范围是 8~20 字节。
1.1.2.3、NET ------ 路由器专用地址
NET (Network Entity Title,网络实体标识)是一种特殊的 NSAP ,它的 NSEL = 00。
- NET 用来标识路由器自身的网络层实体(即路由器本身),而不是某个上层服务。
- 在配置 IS-IS 时,我们只需要为路由器配置 NET,不需要关心其他 NSAP。
- 一个路由器可以配置多个 NET(例如在区域边界时),但所有 NET 的 System ID 必须相同。
NET 示例(十六进制表示):
49.0001.aaaa.bbbb.cccc.00
49.0001→ Area Address(区域地址)aaaa.bbbb.cccc→ System ID(6 字节)00→ NSEL(固定为 0)
1.1.2.4、各字段详细说明
1、Area Address(区域地址)
- 组成:由 IDP 和 DSP 的前缀共同构成,在配置时通常作为一个连续字段输入。
- 作用 :
- 标识路由域(Domain)和区域(Area)。
- Level-1 路由器只属于一个区域,Level-2 路由器可连接多个区域。
- 同一区域内的所有路由器必须具有相同的 Area Address。
2、System ID(系统 ID)
- 固定长度 :6 字节(48 位)。
- 作用 :在区域内(Level-1)和整个 Level-2 主干中唯一标识一台路由器。
- 生成方式 :通常使用路由器的 MAC 地址、Loopback 接口的 IP 地址转换而成(例如
192.168.1.1转换为1921.6800.1001)。 - 重要性:IS-IS 的邻接关系、LSP 生成者都依赖 System ID 来区分设备。
3、NSEL(NSAP Selector)
- 长度:1 字节。
- 作用:在 NSAP 中用于区分上层协议或服务(类似 IP 的端口)。
- NET 中的值 :固定为
00,表示"该地址标识的是网络实体本身,而非某个上层服务"。
1.1.2.5、配置中的注意事项
-
只需配置 NET:在 Cisco / 华为等设备上启动 IS-IS 时,只需在全局模式下配置 NET,例如:
router isis net 49.0001.1921.6800.1001.00 -
System ID 必须唯一:同一个路由域(Level-2 主干)内,所有路由器的 System ID 不能重复。
-
区域地址可多个:一个路由器可以配置多个区域地址(多区域 IS-IS),但所有 NET 的 System ID 必须相同。
-
地址规划建议:
- 使用 Loopback 接口的 IP 地址转换为 System ID(方便管理)。
- 区域地址通常用
49开头(私有路由域,类似于私有 IP),后跟区域编号。
1.1.3、ISIS区域
- IS-IS允许将整个路由域分为多个区域
- 一个路由器目前最多有3个AreaID,配置不同的区域D是为了平滑的进行区域合并、分割、转换用
- 和OSPF不同的是,一个路由器必须整个属于某个区域,而不能是某些接口属于一个区域,其它的接口属于另外一个区域
- 49.0001.aaaa.bbbb.cccc.00
- 区域地址:49.0001。49通常表示私有网络,0001是具体的区域号。同一区域内的路由器必须有相同的区域地址。
- 系统ID:aaaa.bbbb.cccc。长度为6字节,必须在整个域内唯一标识该路由器。
- SEL:00。固定为0,用于表示这是网络实体而非上层服务
1.1.4、ISIS路由器分类和层次
结点(Nodes):
- Level-1 Routers(L1路由器)
- Level-2 Routers(L2路由器)
- Level-1 and Level-2 Routers (L1/L2路由器)
Area层次性:
- Level-1area:包含区域内路由器
- Levle-2 area(Backbone,骨干区):包括L2和L1/L2 -router
L1Router:位于普通区域(AREA)内部
- L1路由器只和本区域内的L1路由器(或具有L1功能的L1/L2)形成邻居关系
- L1路由器只有本区域内Level1的链路数据库(L1 LSDB),包含本区域内所有的L1路由器的路由信息
- 通过与自己最近的L1/2路由器的ATT BIT生成指向此台设备的默认路由作为出口路由(L1区域类似于OSPF的stub区域
- 在转发时,如果目的地址在本区域内,就直接利用L1 LSDI生成的路由转发报文;如果目的地址不在本区域,则利用本区域最近的L1L2路由器作为区域外网络的出口,由此可能导致次优的路由
L2 Router:位于骨干区域
- 可以和其它的L2(或具备L2功能的L1/L2路由器形成邻居关系
- L2路由器有Level2的链路状态数据库(L2 LSDB),它包含所有的区域间路由信息。
- 接收来自本区域内其它L2路由器的报文,并按照目的地址将报文转交给其他区域的L2路由器(或是转发到同一区域的L2路由器)。接收来自其他区域的L2路由器的报文,并按照目的地址将报文转发。
L1/L2 Router:通常位于区域边界上
- 可以和本区域的任何级别路由器形成邻居关系;可以和其它区域相邻的L2或L1/L2路由器形成L2邻居关系
- 可能有两个级别的链路状态数据库:
- L1用来作为区域内路由;
- L2用来作为区域间路由
- 完成它所在的区域和骨干之间的路由信息的交换,既承担L1的职责也承担L2的职责
注意:一个L1/L2路由器如果和其它区域的路由器形成邻接关系,那么它将通告本区域内的L1路由器它有区域的出口点。具体方法是在生成本区域的L1 LSP时将报文中的ATT(Attachment)bit置为1,发给区域内的L1邻居。
1.1.5、ISIS层次性
IS-IS由两个层次组成:
- Level 2:骨干Backbone(连续的Level2路由器的集合);Backbone是由所有的L2(含L1/L2)路由器组成,backbone必须是连续(连通)的。
- 注意:IS-IS的Backbone不是某个特定的什么区域!!!
- Level1:相对于单个区域的概念,由本区域中的Level-1路由器构成,其路由信息将自动发布到backbone中。
- 注意:一个IS-IS路由域(routingdomain)并不一定需要有两个层次,如果只部署一个区域的话,可能全部是L1,或全部是L2,推荐用L2,以得到比较好的扩展性。
1.1.6、ISIS网络类型
IS-IS支持的网络类型:
- 点对点链路,如PPP、HDLC等
- 广播链路,如Etheret等
- 对于NBMA网络,如帧中继,需对其配置子接口,并注意子接口类型应配置为P2P
1.1.6.1、广播链路:DIS和伪节点
- DIS:DesignatedIS 指定中间系统
- 功能:在广播网络中创建和更新伪节点;在LAN中通过每10秒周期性地发送CSNP来泛洪LSP

在 IS-IS 中,当多个路由器通过一个广播多路访问网络(如以太网)互联时,为了减少邻接关系的数量和链路状态数据库的复杂度,引入了 DIS(指定中间系统) 和 伪节点 的概念。
假设一个以太网段上连接了 N 台路由器。如果每两台路由器之间都建立全互连的邻接关系,那么:邻接数量为 N(N-1)/2,随着 N 增大迅速膨胀。每台路由器在 LSP 中需要通告与所有其他路由器的链路信息,导致数据库冗余和泛洪开销。为了解决这个问题,IS-IS 采用类似 OSPF 的 DR(指定路由器) 机制,但具体实现有差异。
什么是DIS
在一个LAN中,必须有一个路由器被选举成为DIS:
- 选举依据:选举基于接口优先级(0~127,默认 64)
- 如果所有接口的优先级一样,具有最大的sub network point of attachment(SNPA子网连接点)的路由器将当选DIS
- 在LAN中,SNPA指的是MAC地址;优先级相同则 MAC 地址大者胜出
- 在帧中继网络中,SNPA是localdatalink connectionidentifier(DLCI)
- 抢占性:DIS的选举是抢占式,没有规定不能参与选举的机制,当优先级为0的时候仍可以参加DIS的选举;更高优先级的路由器加入后,立即成为新 DIS,导致短暂邻接重建
- 无备份:与OSPF不同,没有类似 BDR 的角色;IS-IS中不存在备份DIS,当一个DIS不能工作时,直接选举另一个
- DIS发送HELLO数据包的时间间隔是普通路由的1/3,这样可以保证DIS失效可以被快速检测到
- 代表广播网络:DIS 会创建一个 伪节点(Pseudonode),将广播网络抽象为一个虚拟的中间系统。
- 周期性发送 CSNP:在广播网络中,DIS 每隔 10 秒(默认)发送 CSNP(完整序列号 PDU),用于同步该网络上所有路由器的 LSP 数据库。
- 负责泛洪:当收到新 LSP 时,DIS 协助在广播网络上泛洪。
- 邻接关系:广播网络中所有路由器两两都建立邻接,但只有 DIS 需要与所有路由器建立邻接(实际上是所有路由器互相都是邻接,但伪节点机制减少 LSP 泛洪)
注:IS-IS 中广播链路上所有路由器之间都会形成邻接(邻居关系),但通过伪节点来简化 LSP 的描述。OSPF 则通过限制邻接关系数量来减少数据库同步开销。
什么是伪节点

伪节点是在广播多路访问网络中的一台虚拟路由器
- 伪节点由DIS创建
- DIS在伪节点LSP中通告LAN中的所有邻居
- LAN中的所有路由器在它们的LSP中通告自己与伪节点的连接性
- 伪节点的标识:伪节点由 DIS 的 System ID + 一个非零的电路 ID(通常是 1 字节)来唯一标识。例如,DIS 的 System ID 为 aaaa.bbbb.cccc,伪节点的 ID 可能是 aaaa.bbbb.cccc.01。
- 伪节点生成 LSP:DIS 会为伪节点生成一个 伪节点 LSP,该 LSP 描述了哪些路由器连接在这个广播网络上(即列出所有与该 DIS 建立邻接的路由器的 System ID)。
- 真实路由器的 LSP 简化:每台路由器(包括 DIS 自己)在生成 LSP 时,只描述与伪节点的连接,而不是列出与其他所有路由器的连接。这样一来,广播网络在 LSDB 中表现为一个"星型"拓扑:中心是伪节点,周围是各个路由器。
- 作用
- 减小路由器LSP的大小
- 使路由器LSP更稳定
- 使SPF计算更快
假设以太网上有三台路由器 R1、R2、R3,其中 R1 被选举为 DIS。
- R1 为伪节点 P(ID = R1-SystemID.01)生成 LSP,内容:邻居:R1, R2, R3。
- R1 自己的 LSP 中只描述:邻居:P(以及可能其他物理链路)。
- R2 的 LSP 中描述:邻居:P。
- R3 的 LSP 中描述:邻居:P。
1.2、IS-IS基本原理
两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先立邻接关系。在不同类型的网络上,IS-IS的邻接建立方式并不相同。目前IS-IS支持如下两类网络:
- 广播网络
- 点对点
IS-IS形成邻居关系的条件:
- 同一层次;
- 同一区域;
- 同一网段;
- 相同网络类型;
- 同一网段IP(LANor PPP)
形成邻居关系的细节
- 两台L1路由器只有和它们的AID匹配时才能形成一个L1邻接关系。
- 两台L2路由器即使它们的AID不同也能形成一个L2的邻接关系。
- 一台L1路由器和一台L1/2路由器只有在它们的AID匹配时才能形成一个L1邻接关系。
- 一台L2路由器和一台L1/L2路由器即使在它们不同的AID时也能形成L2邻居关系。
- 如果两台L1/L2路由器的AID匹配,它们就可以同时形成L1和L2类型的邻居关系。
- 如果两台L1/L2路由器的AID不匹配,它们就只能形成L2类型的邻接关系
1.2.1、报文类型
- HELLO PDU(IIH)用于建立和维持邻居关系
- Level-1 LAN IIH
- Level-2 LAN IIH
- P2P IIH
Hello数据单元:定期发送,用来确定相邻的其它系统是否在运行IS-IS,以建立邻接关系,交换LSP,达到LSDB同步(默认10S)
在IS-IS里有三种hello包:一种是点对点接口的(Point-to-PointIStoISHello PDU)、一种是LAN上对I路由器(Level1 LAN IS to IS Hello PDU)的和一种是在LAN上对L2路由器的(Level2 LAN IS to IS Hello PDU)
在LAN上L1和L2 IIH PDU发送到不同的组播MAC地址:L1为0180-C200-0014,L2为0180-C200-0015.
- LSP PDU用于交换链路状态信息
- Level-1 LSP
- Level-2 LSP
链路状态数据单元。
链路状态报文用来在区域中传播链路和节点信息。
LSP 分为两种 : Level 1 Link State PDU和Level 2 Link State PDU.
Level2 Link State PDU包含在IS-IS里所有可到达前缀的信息。Level1 Link State PDU只用于本地区域。
LSPHeader介绍:
LSP-id:用来唯一标志一个LSP
由三部分组成
- SysID(结点或伪结点的SysID);
- PseudonodeID:对普通LSP为0;Pseudonode LSP非0
- LSP number:分片号
例:00c0.0040.1234.01--00,其中System ID为
00c0.0040.1234,PseudonodeID为01(表明为伪结点发出的)
分片号为0
Sequece Number:用来确定是否是最新的LSP版本
LSP Holdtime:用来周期性清除旧的LSP
LSP Checksum:校验和,并可以用来比较LSP的新旧
ATT bit
Overload bit
P bit
- SNP PDU用于维护LSDB的完整与同步,且为摘要信息
- CSNP
- Level 1 CSNP
- Level 2 CSNP
- PSNP
- Level 1 CSNP
- Level 2 CSNP
- CSNP
LSP生存时间
LSP剩余生存时间有2个重要的值,一个是最大生存时间,一个是刷新间隔;
剩余生存时间值为20分钟(1200秒),而且是从1200一直倒数到0,VRP中可用命令:timerlsp-mox-0ge来配置一个更大的值,最大为65535秒。
当lsp的间隔到达刷新间隔的时候,该lsp就会被源路由器重新生成,否则直到生存时间为0就会被清除掉。
刷新间隔被定义为15分钟(15-25%随机抖动变量)(900秒),可用命令:timer Isp-refresh
将刷新间隔改成更长的值,最大为65535秒。
备注:如果Isp到生存时间都没有刷新包到来,那么这个包的生存时间到0以后,那么IS将除LSP的内容,只保留LSP Header 将Lifetime置0洪泛出去,所有收到为o的lsp路由器在60秒后将从库中清除此lsp;这叫做零寿命生存时间
CSNP : Complete Sequence Numbers Protocol Data Unit完整序列号协议数据单元。
CSNP分为两种 :Level 1 CSNP和Level 2 CSNP.
CSNP用于数据库同步,描述数据库LSDB中的所有的LSP包含地址范围,各LSP的简要信息:LSPid,SequeceNumber,checksum, remainning lifetime
何时发送
在广播网络上,由DIS定期发送(缺省10秒的周期)。在点到点串行线路上,只在第一次邻接时发送CSNP。如果路由器的LSDB非常大,将分成多个CSNP发
PSNP : Partial sequence Number Protocol Data Unit部分序列号协议数据单元。
PSNP分为两种 :Level1 PSNP和Level 2 PSNP.PSNP用于数据库同步,主要有以下功能:
在点到点(p2p)链路上路由器用来相互交换作为Ack应答以确认收到某个LSP;
用来请求发送最新的LSP,当路由器从近邻接收到CSNP时,注意到CSNP丢失了部分数据库(或自己的比较I旧),路由器发送PSNP请求新的LSP。
和CSNP一样,PSNP在头中利用LSPid,SequenceNumber,Remainning lifetime, LSP checksum来描述LSPs.
1.2.2、邻居关系
1.2.2.1、三次握手

1.2.2.2、两次握手

1.3、交互过程

1.3、IS-IS基本特点
1.3.1、IS-IS路由渗透(路由泄露)
IS-IS路由渗透(Route Leaking)是指将Level-2区域的路由信息传递到Level-1区域,或者反过来将Level-1的明细路由传递到Level-2的过程 。
因为在标准的IS-IS设计中,为了防止路由环路并保证稳定性,Level-1区域默认只拥有本区域的路由,对于区域外的网络,它只知道一条由最近Level-1-2路由器发送的默认路由。同样,Level-2路由器通常只知道其他Level-2区域的路由,而不了解Level-1区域的内部明细。
作用
- 解决次优路径问题:这是最常见的需求。当Level-1区域有两个或多个Level-1-2路由器连接到Level-2骨干网时,如果Level-1路由器只有默认路由,它可能会选择最近的Level-1-2路由器出去,即使另一台Level-1-2路由器能提供到达目标更优的具体路径。
- 多厂家设备互通:在某些场景下,不同厂商对默认路由的处理方式不同,渗透具体路由可以避免依赖不兼容的默认路由行为。
- 特殊网络规划:某些网络设计需要在Level-1区域内获知其他区域的特定路由信息,以实现策略或优化。
路由渗透的两种方向
Level-2→Level-1:
作用:将Level-2骨干网或其他Level-1区域的路由(以Level-1的LSP形式)注入到Level-1区域。
结果:Level-1路由器不再仅仅依靠默认路由,而是可以学到到达其他区域的具体IP前缀,从而做出更精确的转发决策。
控制:通常在Level-1-2路由器上配置,可以配合路由策略,只渗透部分需要的路由,而不是全部。
Level-1 → Level-2
作用:将Level-1区域内的明细路由(以Level-2的LSP形式)注入到Level-2骨干网。
结果:默认情况下,Level-2路由器只知道去往Level-1区域的路径(通过Level-1-2路由器),但不知道Level-1内部的明细网络。渗透后,Level-2路由器能学到这些明细。
典型场景:当Level-2网络需要基于更具体的Level-1内部网络信息进行路由决策或流量工程时。
可能存在的问题 :
路由表膨胀 :渗透会显著增加Level-1区域路由器的路由表条目,因为原本只有一条默认路由,现在可能收到成百上千条外部路由。需评估设备硬件能力。
环路风险 :不当的渗透配置(尤其是双向渗透且无严格过滤)可能导致路由环路。通常建议单向(L2→L1)且配合策略。
默认路由处理:即使做了渗透,许多实现仍然会保留默认路由的生成,需要根据需求决定是否抑制。
参考案例

假设设备在骨干网之外,R1想要去访问该设备,正常线路:①R1→R3→R5:cost是60;②R2→R4→R5:cost是20;但是在这里存在③R1→R2→R4→R5:cost是30,③是最优的,①是次优解.
因此就需要启动路由渗透L2→L1:R3和R4将自己知道的Level-2外部路由(或默认路由)以具体路由形式注入Level-1区域。R1就能同时学到两条路径,并根据IS-IS的SPF算法选择到具体目标的最优路径(可能通过R4),从而解决次优问题。
环路的风险:
启动路由渗透后,R3同步路由给R1,R1同步给R2,R2同步给R4,R4又同步给R5,在某些场景下,R5可能同步给R3,进而导致环路。
UP/DOWN bit预防环路 :
UP/DOWN bit 是 IS-IS LSP(链路状态报文)中一个专门的标志位,用于标记一条路由的来源方向。
作用是:防止被渗透进 Level-1 区域的路由,又被 Level-1 区域内的路由器重新注入回 Level-2 区域,从而形成路由环路。
定义:
UP (0):路由起源于当前层级(例如,Level-1 路由器生成的 Level-1 LSP)。
DOWN (1):路由是通过渗透从高层级(Level-2)进入低层级(Level-1)的。
规则:
当一个 Level-1-2 路由器将 Level-2 路由渗透到 Level-1 时,它会将所有被渗透路由的 UP/DOWN bit 设置为 DOWN (1)。
Level-1 路由器收到带有 DOWN bit = 1 的路由时,绝对不能将这些路由再重新注入(redistribute)回 Level-2 区域。它们只能被用于本地转发或进一步在 Level-1 区域内传递。
ATT (Attached) bit:Level-1-2 路由器用 ATT bit 告诉 Level-1 路由器"我连接到 Level-2 骨干网",触发 Level-1 路由器生成默认路由。它本身不防环,只解决可达性。
1.3.2、IS-IS路由过载
IS-IS 路由过载(Overload bit,也称为 Set-bit 或 Suppress adjacency)是一种特殊的网络状态,用于在特定情况下暂时隔离一台路由器,使其不参与数据包转发,但依然参与网络拓扑和路由信息的传递。
核心机制:
IS-IS 使用 LSP(链路状态报文)中的 Overload bit(过载标志位)来实现这一功能。
- 正常状态:Overload bit = 0(0 表示未过载)
- 过载状态:Overload bit = 1(1 表示过载)
当一台路由器设置 Overload bit = 1 时:
1、其他路由器仍然接收它的 LSP,知道它的存在和连接的链路。
2、其他路由器不会将这台路由器作为数据转发的中间节点(即不会把数据包路由经过它)。
、3其他路由器仍然可能将这台路由器作为末节网络的目的地(即发往这台路由器自身直连网络的数据包仍然可达)。
主要场景是路由器启动、重启、或者出现资源不足时,防止因路由表未完全同步或CPU/内存过高导致丢包或路由环路。
案例

R1→R3:正常优先走R1→R2→R3;由于R2可能挂机了导致R2走不通了,对R2设置路由过载,进而不走R2这条路,但是直连还是可以的
1.4、IS-IS收敛特性
1、增量最短路径优先算法I-SPF(IncrementalSPF)
只对受影响的节点进行路由计算;只第一次计算全部节点;作用在路由计算 (CPU);减少SPF计算对CPU的消耗,将计算复杂度从O(N^2)降至O(N log N)

以上图为例,ROOTA为根,只有黑色线段断了,才会重新计算,黄色线段不是以ROOTA为根的线段。
同理如果在路由器D新增路由器G,只需要对新增加的部分进行通告和计算。
2、部分路由计算PRC
只对发生变化的路由进行重新计算;根据I-SPF算出来的SPT来更新路由;作用在路由计算 (CPU);进一步细分计算粒度,当网络拓扑稳定但路由条目变化时,效率最高。

当有路由变化的时候新增变化的路由即可。
3、智能定时器:
分为SPF计算智能定时器和LSP生成智能定时器;当网络变化频繁时,智能定时器的间隔时间会自动延长;作用在所有阶段 (触发、生成、计算);平衡快速响应与稳定性,避免因网络频繁抖动导致CPU过载。
4、LSP快速扩散
使用Pacing和Flooding机制,不等待定时器立即转发LSP;作用在信息同步(扩散)阶段;加速LSP在整个路由域中的传播速度,减少全网信息同步延迟。
正常情况下,当IS-IS收到其它路由器发来的LSP时,如果此LSP比本地LSDB中相应的LSP要新,则更新LSDB中的LSP,并用一个定时器定期将LSDB内已更新的LSP扩散出去。LSP快速扩散特性改进了这种方式,使能了此特性的设备收到一个或多个较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度。
一般IS-IS都是采用周期性分批扩散LSP的方法(缺省情况下,接口上发送LSP报文的最小间隔时间是50毫秒,每次发送LSP报文的最大数目是10)。使能flash-flood功能后,当LSP发生变化而导致SPF重新计算时,不再等待周期性分批扩散,而是把导致SPF重新计算的LSP立即扩散出去,从而有效缩短拓扑变化时全网设备上LSDB不一致的时间,提高全网的快速收敛性能。虽然LSP数量很多,但每次网络出现故障而需要发生变化的LSP却很少,所以将这部分发生变化的LSP进行单独的快速扩散对系统的资源占用影响很有限。
5、按优先级收敛
能够让某些特定的路由优先收敛的一种技术,为关键路由(如专线、VoIP网段)设置更高收敛优先级。作用在路由计算 & 表项下发;保障关键业务的最短中断时间,例如让语音业务路径在50ms内恢复。
IS-IS按优先级收敛是指在大量路由情况下,能够让某些特定的路由(例如匹配指定IP前缀的路由)优先收敛的一种技术。因此用户可以把和关键业务相关的路由配置成相对较高的优先级,使这些路由更快的收敛,从而使关键的业务收到的影响减小。通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。
可以通过IP前列表等将特定路由过滤出来,通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。IS-IS路由的收敛优先级分为critical、high、medium和low四种。收敛优先级的顺序由高到低为critical>high>medium>low。本地有效。
总结
ISIS协议=I-SPF+PRC
I-SPF 负责拓扑级别的计算("哪台路由器挂了?")。
PRC 负责路由级别的计算("这个路由器上挂了哪些网段?")。
协同流程:当网络变化时,先由I-SPF算出受影响的节点和链路,生成新的最短路径树(SPT);然后PRC基于这个新的SPT,只重新计算那些受到影响的路由条目,直接更新路由表。这样避免了反复扫描整个路由表。
1.5、IS-IS扩展特性
1.5.1、IS-IS认证
你列出的内容是关于 IS-IS(Intermediate System to Intermediate System)协议 的认证机制。整理和补充如下:
IS-IS 认证分类
| 认证类型 | 作用范围 | 认证的报文 |
|---|---|---|
| 接口认证 | 邻居之间(链路级别) | 仅对 Level-1 和 Level-2 的 Hello 报文 进行认证 |
| 区域认证 | Level-1 路由域内 | 对 Level-1 的 SNP(序列号PDU)和 LSP(链路状态PDU) 进行认证 |
| 路由域认证 | Level-2 骨干区域 | 对 Level-2 的 SNP 和 LSP 进行认证 |
注意:接口认证用于邻居建立时的身份验证;区域/路由域认证用于防止伪造的 LSP/SNP 污染 LSDB。
IS-IS 认证方式
| 认证方式 | 别名 | 安全级别 | 说明 | 常见使用场景 |
|---|---|---|---|---|
| Null | none / 无认证 | 无 | 不携带认证 TLV,不校验 | 默认状态,仅用于信任网络 |
| 明文(Simple / Text) | plain / clear text | 极低 | 密码明文传输,可被抓包直接获取 | 极不推荐,仅老旧设备兼容 |
| MD5 | HMAC-MD5 | 中低(已弱化) | 使用 MD5 哈希 + 密钥,但不抗碰撞攻击 | 老旧网络,逐步弃用 |
| SHA-1 | HMAC-SHA-1 | 中(已弱化) | 比 MD5 强,但已被证明有碰撞风险 | 过渡方案,不推荐新部署 |
| SHA-2 系列 | HMAC-SHA-256 / SHA-384 / SHA-512 | 高 | 目前主流安全推荐 | 现代企业/运营商网络 |
| Keychain | 密钥链 | 高(动态) | 支持多组密钥、按时间切换、可配合 MD5/SHA 等 | 高安全要求场景(如金融、政务) |
注:Keychain 不是一种哈希算法,而是一个密钥管理框架,内部可以配置 MD5 / SHA-1 / SHA-256 等。
各认证方式详解
Null(无认证)
- TLV 类型:不携带认证 TLV(Type 10 / 133)
- 效果:任何携带认证的报文也会被忽略(取决于实现)
- 风险:完全无保护,LSP 可被伪造
明文(Simple)
- TLV 类型:10(Authentication Information,Type = 1 表示明文)
- 报文示例 :密码
cisco123直接在 PDU 中可见 - 抓包特征:直接用 Wireshark 可看到密码
- 结论 :等同于没有认证,只防误接入,不防攻击
MD5
- TLV 类型:10(Type = 2 表示 HMAC-MD5)
- 机制:密钥 + 报文内容 → MD5 哈希 → 附加到报文中
- 问题:MD5 已被证实可碰撞攻击(2004 年起)
- 状态:很多厂商默认仍支持,但安全审计不推荐
SHA-256(当前推荐)
-
TLV 类型:厂商扩展或标准演进(RFC 5310)
-
优势:目前无已知实际碰撞攻击
-
配置示例(Huawei) :
bashisis authentication-mode hmac-sha-256 plain Huawei@123
Keychain(增强方案)
-
能力 :
- 可定义多个密钥(key ID)
- 每个密钥有生效时间窗(send / accept lifetime)
- 支持算法 MD5 / SHA-1 / SHA-256
-
典型用途 :
- 定期更换密钥而不中断邻居关系
- 满足合规要求(如等保、PCI-DSS)
-
示例 (华为):
bashkeychain isis-key mode absolute key-id 1 key-string plain Huawei@123 algorithm hmac-sha-256 send-lifetime 00:00:00 2025-01-01 to 23:59:59 2025-12-31 receive-lifetime 00:00:00 2025-01-01 to 23:59:59 2026-01-01
认证方式对比
| 项目 | 明文 | MD5 | SHA-1 | SHA-256 | Keychain+ SHA-256 |
|---|---|---|---|---|---|
| 防嗅探 | ❌ | ✅ | ✅ | ✅ | ✅ |
| 防篡改 | ❌ | ⚠️ | ⚠️ | ✅ | ✅ |
| 防重放 | ❌ | ❌ | ❌ | ❌ | ❌(需配合防重放机制) |
| 抗碰撞 | ❌ | ❌ | ⚠️ | ✅ | ✅ |
| 密钥轮换 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 推荐等级 | 不推荐 | 谨慎使用 | 不推荐 | 推荐 | 强推荐(高安全场景) |
说明:IS-IS 认证本身 不防重放攻击(依靠序列号和生命周期缓解),不是设计缺陷,是协议特征。
1.5.2、IS-IS LSP分片扩展
IS-IS LSP分片扩展是用于突破IS-IS协议原有256个LSP分片限制的机制,允许一台路由器发布更多链路状态信息。
IS-IS协议规定,一台路由器(一个IS-IS进程)最多可产生256个LSP分片(LSP Number字段为1字节)。每个LSP分片的大小也有限制(通常为1492字节)。
以下因素可能导致256个分片不够用:
1、引入大量新TLV和子TLV(如流量工程TE信息)
2、网络中路由条目急剧增加
3、支持IPv6等多拓扑特性
4、引入大量外部路由
初始系统:实际运行IS-IS协议的物理路由器
系统ID(Normal System-ID):初始系统本身的System ID
附加系统ID:管理员分配的额外System ID,在整个路由域中必须唯一
虚拟系统:由附加系统ID标识的"虚拟"路由器,用于生成扩展LSP分片
每个虚拟系统可以额外生成256个LSP分片。一个IS-IS进程最多可配置50个虚拟系统,因此理论上最大可产生:50 × 256 + 256 = 13056个LSP分片;当初始系统的LSP分片装满后,装不下的信息会放入虚拟系统的LSP中发送出去,并通过IS Alias ID TLV(Type 24)声明虚拟系统与初始系统的关系。

Mode-1(兼容模式)
适用场景:网络中存在不支持分片扩展的老设备
虚拟系统行为:参与SPF计算,对老设备看起来像真实路由器
邻居开销设置:初始系统→虚拟系统:metric=0;虚拟系统→初始系统:metric=最大值-1(保证虚拟系统成为下游节点)
LSP内容要求:虚拟系统的LSP需包含与初始系统相同的区域地址和Overload bit
Mode-2(标准模式)
适用场景:网络中所有设备都支持分片扩展
虚拟系统行为:不参与SPF计算,仅作为初始系统的信息载体
路由计算:其他设备通过IS Alias ID TLV识别虚拟系统属于初始系统,将其信息合并处理
1.6、IS-IS管理特性
1.6.1、IS-IS管理标记(Tag)
IS-IS管理标记(Administrative Tag) 是一种策略控制机制,允许网络管理员为IP前缀附加一个整数标签,用于在IS-IS域内简化路由策略的控制,如路由渗透、重分发和路由聚合。简单来说,它就像是给某些路由"贴上彩色贴纸",方便在其他路由器上基于"贴纸颜色"统一执行策略,而不必关心具体的IP地址。
核心概念与标准
管理标记的核心思想是将管理意愿与具体路由信息解耦。其技术标准主要定义在 RFC 5130 中。
标记对象:标记是路由前缀(IP Prefix)的属性,而不是节点或接口的属性(虽然标记通常在接口上配置,但最终会关联到该接口网段生成的前缀上)。
标记格式:支持32位和64位两种长度的整数值(通常取值范围为1到4294967295),其中0被保留,表示"无标记"。
携带方式:32位标记由 Sub-TLV 1 携带,64位标记由 Sub-TLV 2 携带。这些Sub-TLV依附于携带路由信息的TLV 135(IPv4扩展可达性)、TLV 236(IPv6可达性)等TLV中。
关键前提:必须配置wide Metric风格(即metric-style wide),因为旧的narrow风格不支持携带这些Sub-TLV

1.6.2、IS-IS Wide Metric
IS-IS Wide Metric 是对传统窄度量(Narrow Metric)的扩展,旨在满足大规模网络部署和流量工程的需求。简单来说,它打破了IS-IS协议在早期标准中的度量值限制,允许使用更大的数值来定义链路开销。
| 比较维度 | 窄度量 (Narrow Metric) | 宽度量 (Wide Metric) |
|---|---|---|
| 接口度量值范围 | 1 到 63 | 1 到 16,777,215 ( 2 24 − 1 2^{24}-1 224−1) |
| 路径最大开销 | 1023 | 4,261,412,864 |
| 使用的TLV | TLV 2 (邻居) TLV 128/130 (IP前缀) | TLV 22 (扩展邻居) TLV 135 (扩展IP前缀) TLV 236 (IPv6前缀) |
| 核心目的 | 简单、小规模网络 | 大规模网络、流量工程(TE)、路由精细控制 |
| 兼容性 | 旧设备 | 新设备,但需注意互通性 |
为什么要使用宽度量?
使用宽度量不仅仅是为了配置一个更大的数字,更重要的是它解锁了一系列关键功能:
- 支持大规模网络:旧标准中 1023 的总路径开销在大型网络(如全国性骨干网)中很容易被耗尽,宽度量彻底解决了这个问题。
- 实现精细的流量工程:更大的度量值范围允许管理员对不同链路(如10GE、100GE)进行更精细的开销区分,从而更精确地控制路由选择和流量路径。
- 承载更多路由信息 :新的TLV 135可以携带子TLV(Sub-TLV) ,这是支持以下特性的基础:
- 管理标记:通过子TLV为路由前缀打标签,便于实施路由策略。
- 链路属性:携带链路颜色、带宽等流量工程信息。