IS-IS 协议详解
IS-IS 协议详解
一、协议概述
1.1 IS-IS 定义
IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是 ISO 定义的链路状态路由协议,最初为 OSI 参考模型设计,基于 CLNP(Connectionless Network Protocol)。
- 集成 IS-IS(Integrated IS-IS):RFC 1195 扩展,使其同时支持 IP 和 OSI,是 HCIP 考试重点
- 工作层级:数据链路层(不使用 IP 承载,直接封装在以太网帧中)
- 标识:不使用协议号,使用 NLPID(Network Layer Protocol ID)0x83 标识 IP 协议
- 算法:SPF(最短路径优先)
1.2 IS-IS 与 OSPF 的核心区别
| 对比项 | IS-IS | OSPF |
|---|---|---|
| 协议层级 | 数据链路层 | 网络层(IP 协议号 89) |
| 封装 | 直接封装在数据链路层帧 | 封装在 IP 报文 |
| 区域划分 | 路由器属于区域 | 接口属于区域 |
| DR 选举 | DIS(可抢占) | DR(不可抢占) |
| 报文类型 | PDU | 5 种报文 |
| 特殊区域 | L1 区域(类似 Totally Stub) | Stub/NSSA 等 4 种 |
二、IS-IS 术语与地址结构 🏷️高频考点
2.1 NET 地址结构
NET(Network Entity Title)是 IS-IS 路由器的网络实体标识,属于 NSAP(Network Service Access Point)地址的一种特殊形式。
NET 地址由三部分组成:
┌─────────────────┬──────────────┬───────┐│ Area ID │ System ID │ SEL ││ (1~13 字节) │ (6 字节) │(1字节)│└─────────────────┴──────────────┴───────┘| 组成部分 | 长度 | 说明 |
|---|---|---|
| Area ID | 1~13 字节(可变长) | 标识区域,从高位开始 |
| System ID | 6 字节(固定) | 标识路由器(类似 OSPF 的 RID) |
| SEL(NSAP Selector) | 1 字节(固定) | 值为 0x00 表示路由器本身 |
2.2 System ID
- 固定 6 字节,全网唯一
- 通常由 MAC 地址或 Loopback 接口 IP 转换而来
- IP 地址转换 System ID 示例:
- IP 地址:
10.1.1.1 - 补齐三位:
010.001.001.001 - 重组为 6 字节:
0100.0100.1001 - System ID:
0100.0100.1001
- IP 地址:
2.3 Area ID
- 可变长 1~13 字节
- 标识路由器所属区域
- 关键区别:IS-IS 中 Area ID 绑定在路由器上(整台路由器属于一个区域),而 OSPF 中接口属于区域
2.4 SEL
- 固定 1 字节
- 值为
0x00表示该 NSAP 为路由器本身(NET) - 非 0x00 表示上层服务
2.5 NET 地址示例与解读
NET 地址:49.0001.0000.0000.0001.00解析: 49 - AFI(权威格式标识),49 表示私有地址 0001 - Area ID(区域标识) 0000.0000.0001 - System ID(系统标识) 00 - SEL(值为 0x00,表示 NET)注意:同一台路由器可配置多个 NET 地址,但 System ID 必须相同,用于区域迁移场景。
三、IS-IS Level 与层级 🏷️高频考点
3.1 三种路由器级别
| 级别 | 说明 | 维护的 LSDB | 邻接关系 |
|---|---|---|---|
| Level-1 | 只能形成 L1 邻接 | L1 LSDB | 仅与同区域 L1/L1-2 路由器建立 L1 邻接 |
| Level-2 | 只能形成 L2 邻接 | L2 LSDB | 与所有 L2/L1-2 路由器建立 L2 邻接 |
| Level-1-2 | 默认类型 | L1 + L2 LSDB | 同时建立 L1 和 L2 邻接 |
3.2 Level-1-2 路由器角色
- 默认类型:华为设备默认为 Level-1-2
- 类似 OSPF 的 ABR:连接 L1 区域和 L2 骨干区域
- 同时维护 L1 和 L2 两套 LSDB
3.3 IS-IS 层级与 OSPF 的对应关系
| IS-IS | OSPF | 说明 |
|---|---|---|
| Level-1 区域 | Totally Stub 区域 | L1 路由器通过默认路由访问其他区域 |
| Level-2 骨干 | Area 0 骨干区域 | 连续的 L2 邻接构成骨干 |
| L1-2 路由器 | ABR | 连接 L1 和 L2 |
| ATT 位 | ABR 下发默认路由(Type 3) | L1-2 路由器通过 ATT 位下发默认路由 |
3.4 L1 区域类似 Totally Stub
- L1 路由器只维护本区域路由
- 通过 L1-2 路由器的 ATT 位置 1 下发默认路由
- L1 路由器使用默认路由访问其他区域
- 与 OSPF Totally Stub 区域行为一致
3.5 IS-IS 层级拓扑图
L1-2 路由器同时维护 L1 和 L2 邻接,连接 L1 区域和 L2 骨干。
四、DIS 选举 🏷️高频考点
4.1 DIS 定义
DIS(Designated Intermediate System,指定中间系统)类似 OSPF 的 DR,在广播网络中代表网络生成伪节点 LSP,减少网络中 LSP 的泛洪量。
4.2 选举规则
| 选举顺序 | 比较项 | 默认值/范围 |
|---|---|---|
| 1 | 优先级 | 默认 64,范围 0~127 |
| 2 | System ID(MAC 地址) | 大者优先 |
4.3 DIS 与 OSPF DR 的关键区别
| 对比项 | IS-IS DIS | OSPF DR |
|---|---|---|
| 可抢占性 | 可抢占(有更高优先级加入即重新选举) | 不可抢占 |
| 优先级为 0 | 仍参与选举 | 不参与选举(成为 DR Other) |
| 选举网络类型 | 广播网 | 广播网、NBMA |
| 备份 | 无 Backup DIS | 有 BDR |
| Hello 间隔 | 10s(广播) | 10s(广播) |
| Waiting 时间 | 无(立即选举) | 40s(Dead Interval) |
重点记忆:DIS 可抢占 + 优先级为 0 仍参与 + 无 BDIS
4.4 伪节点(Pseudonode)
- DIS 代表整个广播网络生成伪节点 LSP
- 伪节点 LSP 的 LSP ID 中伪节点 ID 不为 0
- 网络中其他路由器与伪节点建立邻接关系
- 减少了网段内路由器之间的 LSP 泛洪量
4.5 DIS 优先级配置
# 接口下配置 DIS 优先级[Router-GigabitEthernet0/0/0] isis dis-priority 100 level-1[Router-GigabitEthernet0/0/0] isis dis-priority 100 level-2五、IS-IS 报文类型 🏷️高频考点
5.1 四种 PDU 类型
| PDU 类型 | 编号 | 名称 | 作用 |
|---|---|---|---|
| Hello PDU(IIH) | - | 发现邻居、维护邻接 | 周期性发送 |
| LSP | - | 链路状态信息 | 携带链路状态(类似 OSPF LSA) |
| CSNP | - | 完整 LSDB 摘要 | 用于数据库同步 |
| PSNP | - | 部分 LSDB 摘要 | 请求/确认 LSP |
5.2 Hello PDU(IIH)详解
IS-IS Hello PDU 分为三种:
| Hello 类型 | 适用场景 | 说明 |
|---|---|---|
| Level-1 LAN Hello | 广播网 L1 | 用于 L1 邻接发现 |
| Level-2 LAN Hello | 广播网 L2 | 用于 L2 邻接发现 |
| Point-to-Point Hello | P2P 网络 | 用于 P2P 邻接发现 |
广播网中 L1 和 L2 Hello 分开发送,P2P 网络只有一个 Hello 类型。
5.3 LSP 详解
LSP(Link State PDU)携带链路状态信息,类似 OSPF 的 LSA。
LSP ID 组成:
LSP ID = System ID + 伪节点 ID + 分片号 (6字节) (1字节) (1字节)| 组成部分 | 长度 | 说明 |
|---|---|---|
| System ID | 6 字节 | 产生 LSP 的路由器标识 |
| 伪节点 ID | 1 字节 | 0 表示非伪节点(普通路由器),非 0 表示伪节点(DIS 生成) |
| 分片号 | 1 字节 | LSP 分片编号,从 0 开始 |
5.4 CSNP 与 PSNP
| PDU 类型 | 全称 | 作用 | 发送方式 |
|---|---|---|---|
| CSNP | Complete Sequence Number PDU | 包含 LSDB 中所有 LSP 的摘要 | 广播网中 DIS 周期发送(10s),P2P 首次建立邻接时发送 |
| PSNP | Partial Sequence Number PDU | 包含部分 LSP 摘要 | 用于请求缺失 LSP 或确认收到 LSP |
5.5 四种 PDU 对比表
| 对比项 | Hello(IIH) | LSP | CSNP | PSNP |
|---|---|---|---|---|
| 作用 | 发现/维护邻居 | 携带链路状态 | LSDB 完整摘要 | LSDB 部分摘要 |
| 类比 OSPF | Hello | LSU/LSA | DD(摘要) | LSR / LSAck |
| 广播网发送 | 组播 | 组播 | DIS 周期发送 | 按需发送 |
| P2P 发送 | 组播 | 组播 | 首次同步发送 | 请求/确认 |
六、IS-IS 邻居状态与数据库同步
6.1 邻居状态
IS-IS 邻居状态相对简单,只有三个状态:
| 状态 | 说明 |
|---|---|
| Down | 初始状态,未收到 Hello |
| Initializing | 收到 Hello,但对方 Hello 中未包含本机 System ID |
| Up | 收到的 Hello 中包含本机 System ID,邻接关系建立 |
6.2 广播网数据库同步
- DIS 周期性(10s)发送 CSNP,包含完整 LSDB 摘要
- 其他路由器收到 CSNP 后,对比本地 LSDB
- 发现缺失的 LSP → 发送 PSNP 请求
- DIS 收到 PSNP 后 → 发送对应的 LSP
- 其他路由器收到 LSP 后 → 发送 PSNP 确认
6.3 P2P 网络数据库同步
- 邻接关系建立后,双方互发 CSNP(完整 LSDB 摘要)
- 对比后发现缺失 LSP → 发送 PSNP 请求
- 收到请求后发送 LSP
- 收到 LSP 后发送 PSNP 确认
P2P 网络中 PSNP 兼具请求和确认功能,而广播网中确认由 PSNP 完成。
6.4 LSP 刷新与老化
| 参数 | 值 | 说明 |
|---|---|---|
| LSP 刷新周期 | 15 分钟(900 秒) | 路由器周期性刷新自己产生的 LSP |
| LSP 老化时间 | 20 分钟(1200 秒) | LSP 超过此时间未被刷新则从 LSDB 中删除 |
| LSP 最大存活时间 | 1200 秒 | Remaining Lifetime 字段 |
七、IS-IS 路由渗透 🏷️高频考点
7.1 默认路由行为
- L2 路由不会自动渗透到 L1
- L1 路由器通过 L1-2 路由器的 ATT 位置 1 获得默认路由
- L1 路由器使用默认路由访问其他区域(可能产生次优路径)
7.2 ATT 位机制
| 字段 | 说明 |
|---|---|
| ATT 位(Attached) | L1-2 路由器在 L1 LSP 中设置 ATT=1,表示可到达其他区域 |
| L1 路由器行为 | 收到 ATT=1 的 LSP 后,自动生成默认路由指向该 L1-2 路由器 |
7.3 路由渗透(Route Leaking)
- 定义:将 L2 路由引入到 L1 区域
- 目的:优化路由选择,避免次优路径
- 场景:当 L1 区域有多台 L1-2 路由器时,默认路由可能导致次优路径,通过路由渗透引入明细路由
未配置路由渗透时,R1 可能通过次优路径访问 R2。配置路由渗透后,R1 获得明细路由,选择最优路径。
7.4 路由渗透配置命令
# 进入 IS-IS 进程[Router] isis 1
# 将 L2 路由渗透到 L1(需在 L1-2 路由器上配置)[Router-isis-1] import-route isis level-2 into level-1
# 可选:使用过滤策略控制渗透的路由[Router-isis-1] import-route isis level-2 into level-1 filter-policy 2000八、IS-IS 开销类型 🏷️高频考点
8.1 两种开销模式
| 模式 | 开销范围 | 默认值 | 说明 |
|---|---|---|---|
| Narrow | 1~63 | 10 | 早期标准,开销范围小 |
| Wide | 1~16777215 | 10 | 扩展标准,开销范围大,支持 MPLS TE |
8.2 Narrow 与 Wide 的区别
| 对比项 | Narrow | Wide |
|---|---|---|
| 开销字段长度 | 6 bit | 24 bit |
| 开销范围 | 1~63 | 1~16777215 |
| 默认接口开销 | 10 | 10 |
| 兼容性 | 早期设备 | 新设备(推荐) |
| MPLS TE 支持 | 不支持 | 支持 |
关键:Narrow 和 Wide 不兼容,必须两端一致,否则无法正确计算路由。
8.3 接口开销配置
# 配置全局开销类型为 Wide(推荐)[Router-isis-1] cost-style wide
# 接口下配置 IS-IS 开销[Router-GigabitEthernet0/0/0] isis cost 50 level-1[Router-GigabitEthernet0/0/0] isis cost 50 level-28.4 开销类型配置
# Narrow 模式[Router-isis-1] cost-style narrow
# Wide 模式(推荐)[Router-isis-1] cost-style wide
# 兼容模式(同时支持 narrow 和 wide)[Router-isis-1] cost-style compatible九、IS-IS LSP 新生成条件 🏷️高频考点
以下 6 个条件会触发路由器重新生成 LSP:
| 序号 | 触发条件 | 说明 |
|---|---|---|
| 1 | 邻居 Up 或 Down | 邻接关系建立或断开 |
| 2 | IS-IS 相关接口 Up 或 Down | 接口状态变化 |
| 3 | 引入的 IP 路由发生变化 | import-route 引入的路由变化 |
| 4 | 区域间的 IP 路由发生变化 | L2 到 L1 的路由渗透等 |
| 5 | 接口被赋予新的 metric 值 | 接口开销修改 |
| 6 | 周期性更新 | LSP 刷新周期(15 分钟/900 秒)到期 |
记忆口诀:邻居、接口、引入、区域间、开销、周期
十、华为设备配置命令示例
10.1 基础 IS-IS 配置
# 创建 IS-IS 进程[Router] isis 1
# 配置 NET 地址(Area ID + System ID + SEL)[Router-isis-1] network-entity 49.0001.0000.0000.0001.00
# 配置路由器级别(默认 Level-1-2)[Router-isis-1] is-level level-1-2
# 配置开销类型为 Wide(推荐)[Router-isis-1] cost-style wide
# 接口使能 IS-IS[Router-GigabitEthernet0/0/0] isis enable 1
# 指定接口的 Level 级别[Router-GigabitEthernet0/0/0] isis circuit-level level-1# 或[Router-GigabitEthernet0/0/0] isis circuit-level level-1-210.2 路由渗透配置
# 将 L2 路由渗透到 L1[Router-isis-1] import-route isis level-2 into level-1
# 将 L1 路由渗透到 L2(较少使用)[Router-isis-1] import-route isis level-1 into level-210.3 开销类型配置
# Wide 模式(推荐)[Router-isis-1] cost-style wide
# Narrow 模式[Router-isis-1] cost-style narrow
# 兼容模式[Router-isis-1] cost-style compatible10.4 接口开销配置
# 接口下配置 IS-IS 开销[Router-GigabitEthernet0/0/0] isis cost 50 level-1[Router-GigabitEthernet0/0/0] isis cost 50 level-210.5 引入外部路由
# 引入直连路由到 IS-IS[Router-isis-1] import-route direct
# 引入静态路由到 IS-IS[Router-isis-1] import-route static
# 引入 OSPF 路由到 IS-IS[Router-isis-1] import-route ospf 1
# 引入并设置开销和级别[Router-isis-1] import-route ospf 1 cost 50 level-110.6 DIS 优先级配置
# 接口下配置 DIS 优先级[Router-GigabitEthernet0/0/0] isis dis-priority 100 level-1[Router-GigabitEthernet0/0/0] isis dis-priority 100 level-210.7 完整配置示例
# === R1 配置(L1-2 路由器)===[Router] isis 1[Router-isis-1] network-entity 49.0001.0000.0000.0001.00[Router-isis-1] is-level level-1-2[Router-isis-1] cost-style wide[Router-isis-1] quit
[Router] interface GigabitEthernet0/0/0[Router-GigabitEthernet0/0/0] isis enable 1[Router-GigabitEthernet0/0/0] isis circuit-level level-1-2[Router-GigabitEthernet0/0/0] isis cost 10[Router-GigabitEthernet0/0/0] quit
# === R2 配置(L1 路由器)===[Router] isis 1[Router-isis-1] network-entity 49.0001.0000.0000.0002.00[Router-isis-1] is-level level-1[Router-isis-1] cost-style wide[Router-isis-1] quit
[Router] interface GigabitEthernet0/0/0[Router-GigabitEthernet0/0/0] isis enable 1[Router-GigabitEthernet0/0/0] isis circuit-level level-1[Router-GigabitEthernet0/0/0] quit十一、IS-IS 与 OSPF 对比
| 对比项 | IS-IS | OSPF |
|---|---|---|
| 协议层级 | 数据链路层 | 网络层(IP) |
| 封装 | 直接封装在数据链路层帧 | IP 报文(协议号 89) |
| 区域划分 | 路由器属于区域(整体) | 接口属于区域(可分属多区域) |
| 骨干区域 | Level-2 连续骨干 | Area 0 |
| 路由器角色 | L1、L2、L1-2 | IR、BR、ABR、ASBR |
| DR/DIS 选举 | DIS(可抢占,无 BDIS) | DR(不可抢占,有 BDR) |
| 优先级为 0 | 仍参与 DIS 选举 | 不参与 DR 选举 |
| 报文类型 | 4 种 PDU(Hello、LSP、CSNP、PSNP) | 5 种(Hello、DD、LSR、LSU、LSAck) |
| 邻居状态 | 3 个状态(Down、Init、Up) | 7 个状态(Down→…→Full) |
| 特殊区域 | L1 区域(类似 Totally Stub) | Stub、Totally Stub、NSSA、Totally NSSA |
| 默认路由 | ATT 位自动下发 | Stub/Totally Stub 自动下发,NSSA 需手动 |
| 开销范围 | Narrow 1-63 / Wide 1-16777215 | 依赖参考带宽计算 |
| LSA/LSP 刷新 | 15 分钟 | 30 分钟 |
| LSA/LSP 老化 | 20 分钟 | 60 分钟 |
| 外部路由 | 支持(import-route) | 支持(Type 5/7 LSA) |
| 路由汇总 | 支持 | 支持(ABR/ASBR 汇总) |
十二、IS-IS 常见故障排查
12.1 邻居无法建立
| 排查项 | 说明 | 诊断方法 |
|---|---|---|
| Level 不匹配 | 两端 Level 级别不兼容(如 L1 和 L2 无法建立邻接) | display isis peer |
| 网络类型不一致 | 一端广播、一端 P2P | display isis interface |
| System ID 冲突 | 全网 System ID 必须唯一 | display isis lsdb |
| 认证配置 | 两端认证模式和密钥必须一致 | display current-configuration |
| Area ID 不匹配 | L1 邻接要求两端 Area ID 相同;L2 邻接不要求 | display isis interface |
| 接口未使能 IS-IS | 检查接口是否 isis enable | display isis interface |
12.2 路由学习异常
| 排查项 | 说明 |
|---|---|
| Level 配置 | L1 路由器只能学习区域内路由,需通过 L1-2 路由器访问其他区域 |
| 路由渗透 | L2 路由默认不渗透到 L1,需手动配置 |
| 开销类型不匹配 | Narrow 和 Wide 不兼容,导致路由无法正确计算 |
| ATT 位 | L1-2 路由器 ATT 位未置 1,L1 路由器无法生成默认路由 |
| 引入策略 | 检查 import-route 配置和过滤策略 |
12.3 常用诊断命令
# 查看 IS-IS 邻居关系display isis peer
# 查看 IS-IS 链路状态数据库display isis lsdb
# 查看 IS-IS 路由表display isis route
# 查看 IS-IS 接口信息display isis interface
# 查看 IS-IS 进程概要display isis brief
# 查看 IS-IS 报文统计display isis packet
# 查看 IS-IS 错误信息display isis error
# 查看 IS-IS LSDB 详细信息display isis lsdb verbose总结:IS-IS 是 HCIP-Datacom 考试的重要协议,重点掌握 NET 地址结构、Level 层级、DIS 选举(与 DR 的区别)、四种 PDU、路由渗透及 LSP 生成条件。IS-IS 与 OSPF 的对比是高频考题,需牢记两者在协议层级、区域划分、DR/DIS 选举等方面的差异。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!



