目录
[一、IS-IS 协议概述](#一、IS-IS 协议概述)
[1. 定义与起源](#1. 定义与起源)
[2. 核心特征](#2. 核心特征)
[二、关键术语(含与 OSPF 对应关系)](#二、关键术语(含与 OSPF 对应关系))
[三、网络类型与 DIS 选举](#三、网络类型与 DIS 选举)
[1. 支持的网络类型](#1. 支持的网络类型)
[2. DIS 选举规则(与 DR 核心差异)](#2. DIS 选举规则(与 DR 核心差异))
[1. 三大类核心报文](#1. 三大类核心报文)
[2. 报文核心字段](#2. 报文核心字段)
[1. 建立条件](#1. 建立条件)
[2. 建立过程](#2. 建立过程)
[3. 邻居类型组合(仅以下组合可建立邻接)](#3. 邻居类型组合(仅以下组合可建立邻接))
[六、LSP 泛洪与 LSDB 同步](#六、LSP 泛洪与 LSDB 同步)
[1. LSP 泛洪机制](#1. LSP 泛洪机制)
[2. LSDB 同步过程](#2. LSDB 同步过程)
[1. 区域结构](#1. 区域结构)
[2. 路由器类型](#2. 路由器类型)
[八、核心特性(验证、路由渗透、IPv6 支持)](#八、核心特性(验证、路由渗透、IPv6 支持))
[1. 验证机制(三级验证)](#1. 验证机制(三级验证))
[2. 路由渗透(解决 L1 路由器次优路径)](#2. 路由渗透(解决 L1 路由器次优路径))
[3. IPv6 IS-IS 支持](#3. IPv6 IS-IS 支持)
[九、IS-IS 与 OSPF 核心对比](#九、IS-IS 与 OSPF 核心对比)
[十、配置任务(华为 VRP 系统)](#十、配置任务(华为 VRP 系统))
[1. 基本配置步骤](#1. 基本配置步骤)
[2. 验证命令](#2. 验证命令)
一、IS-IS 协议概述
1. 定义与起源
- 中间系统到中间系统(IS-IS),链路状态路由协议,ISO 为 CLNP 设计。
- 集成化 IS-IS(RFC 1195)支持 TCP/IP 和 OSI 双环境,适配 IP 路由需求。
2. 核心特征
- 应用场景:骨干网(扁平结构、收敛快、承载量大)、园区网(策略灵活)。
- 分层结构:骨干区域 + 非骨干区域,支持路由汇总,减小路由表规模。
- 网络类型:仅支持广播和点到点两种。
- 度量值:支持窄度量(默认)和宽度量,接口默认开销为 10,优先级为 15。
- 收敛快速:支持触发更新和部分路由计算(PRC),适配大规模网络。
- 验证机制:支持接口、区域、路由域三级验证(明文、MD5、Keychain)。
二、关键术语(含与 OSPF 对应关系)
| 术语 | 核心定义 | OSPF 对应概念 |
|---|---|---|
| IS(Intermediate System) | 中间系统,即路由器 | Router |
| ES(End System) | 终端系统,即主机 | Host |
| DIS(Designated IS) | 广播网络中选举的指定中间系统 | DR |
| SysID(System ID) | 路由器唯一标识(6 字节) | Router ID |
| LSP(Link State PDU) | 链路状态数据包,描述链路状态 | LSA |
| IIH(IS-IS Hello PDU) | Hello 报文,建立 / 维护邻居 | Hello 报文 |
| SNP(Sequence Number PDU) | 序列号 PDU,分 CSNP/PSNP | DD/LSAck/LSR |
| CSNP(Complete SNP) | 完整 LSP 列表,同步 LSDB | DD 报文 |
| PSNP(Partial SNP) | 部分 LSP 摘要,确认 / 请求 LSP | LSAck/LSR 报文 |
| NET(Network Entity Title) | 特殊 NSAP(SEL=00),IS-IS 地址标识 | Area ID+Router ID |
| NSAP(Network Service Access Point) | OSI 网络层地址(8-20 字节) | IP 地址 |
三、网络类型与 DIS 选举
1. 支持的网络类型
- 广播网络:以太网等,需选举 DIS,使用 LAN IIH 报文(L1 组播 MAC:0180-c200-0014;L2 组播 MAC:0180-c200-0015)。
- 点到点网络:PPP/HDLC 等,无需选举 DIS,使用 P2P IIH 报文。
2. DIS 选举规则(与 DR 核心差异)
- 优先级(0-127):优先级高者优先,0 也参与选举。
- 优先级相同:SNPA(MAC/DLCI)大的优先,再比较 SysID。
- 抢占性:支持抢占(DR 不支持)。
- 无备份:无 BDR 角色,DIS 失效直接重新选举。
- 分级选举:L1 和 L2 的 DIS 独立选举。
四、报文类型(封装在数据链路层)
1. 三大类核心报文
- Hello 报文(IIH):
- LAN IIH:广播网络使用,分 L1 和 L2 类型。
- P2P IIH:点到点网络使用,建立邻居关系。
- LSP 报文:
- 传递链路状态信息,分实节点 LSP(路由器生成)和伪节点 LSP(DIS 生成)。
- 标识:LSP ID = 源 SysID + 伪节点 ID(00 为实节点) + LSP 分片号。
- SNP 报文:
- CSNP:周期发送(广播网络 10 秒,点到点无周期),同步完整 LSDB。
- PSNP:确认收到的 LSP,或请求缺失的 LSP。
2. 报文核心字段
- TLV 结构:所有报文的变长部分采用 TLV(Type-Length-Value),如认证 TLV(类型 10)、IP 可达性 TLV(类型 128)。
五、邻居关系建立
1. 建立条件
- 同一层次(L1/L2 需匹配):L1 邻居要求区域 ID 一致,L2 邻居无区域限制。
- 网络类型一致:链路两端接口的 IS-IS 网络类型必须相同。
- 地址在同一网段:链路两端 IP 需处于同一子网。
- 认证参数匹配(若配置)。
- 最大区域地址数一致(默认支持 3 个)。
2. 建立过程
- 广播网络:通过 LAN IIH 报文双向确认,直接建立邻接关系(所有同层次路由器互成邻接,含非 DIS)。
- 点到点网络:支持两次握手(简单)或三次握手(可靠,华为默认),双向交互 IIH 后建立邻接。
3. 邻居类型组合(仅以下组合可建立邻接)
| 本地路由器 | 对端路由器 | 区域一致性 | 邻接层次 |
|---|---|---|---|
| L1 | L1 | 是 | L1 |
| L2 | L2 | 否 | L2 |
| L1-2 | L1-2 | 是 | L1+L2 |
| L1-2 | L1 | 是 | L1 |
| L1-2 | L2 | 否 | L2 |
六、LSP 泛洪与 LSDB 同步
1. LSP 泛洪机制
- 触发事件:邻居 Up/Down、接口状态变化、路由变化、周期性更新(默认 15 分钟)。
- 泛洪规则:收到新 LSP 后,存入 LSDB 并标记为 "待泛洪",转发至除接收接口外的所有同层次接口。
- 序列号:新 LSP 序列号 = 旧序列号 + 1,高序列号表示更新。
2. LSDB 同步过程
- 广播网络(DIS 主导):
- 新路由器加入,DIS 发送 CSNP(完整 LSP 列表)。
- 新路由器对比本地 LSDB,用 PSNP 请求缺失 LSP。
- 收到 LSP 后,用 PSNP 确认,完成同步。
- 点到点网络:
- 邻居建立后,互发 CSNP 同步 LSDB。
- 用 PSNP 请求缺失 LSP,收到后用 PSNP 确认。
七、区域划分与路由器类型
1. 区域结构
- 分层设计:骨干区域(由 L2 和 L1-2 路由器组成)+ 非骨干区域(L1 路由器)。
- 区域标识:NET 中的 Area ID(1-13 字节),格式如 49.0001.0000.0000.0001.00(Area ID=49.0001,SysID=0000.0000.0001)。
2. 路由器类型
| 类型 | 核心特性 | LSDB 维护 | 适用场景 |
|---|---|---|---|
| L1(Level-1) | 仅在本区域内路由,依赖 L1-2 路由器访问外部 | 仅 L1 LSDB | 非骨干区域 |
| L2(Level-2) | 骨干区域路由,区域间转发 | 仅 L2 LSDB | 骨干区域 |
| L1-2(Level-1-2) | 默认类型,同时维护 L1 和 L2 LSDB | L1+L2 LSDB | 区域边界(连接非骨干与骨干) |
八、核心特性(验证、路由渗透、IPv6 支持)
1. 验证机制(三级验证)
- 接口验证:验证 Level-1/2 的 Hello 报文(接口视图配置)。
- 区域验证:验证 Level-1 的 SNP 和 LSP 报文(IS-IS 视图配置)。
- 路由域验证:验证 Level-2 的 SNP 和 LSP 报文(IS-IS 视图配置)。
- 验证方式:明文、MD5、HMAC-SHA256、Keychain。
2. 路由渗透(解决 L1 路由器次优路径)
- 问题:默认 L1-2 路由器不向 L1 区域通告其他区域路由,L1 路由器仅通过默认路由访问外部(可能次优)。
- 配置:
import-route isis level-2 into level-1(在 L1-2 路由器上配置,将 L2 路由渗透到 L1 区域)。
3. IPv6 IS-IS 支持
- 新增 TLV:IPv6 接口地址 TLV(类型 232)、IPv6 可达性 TLV(类型 236)。
- NLPID:IPv6 的网络层协议标识为 0x8E(142)。
- 核心:基于原有框架扩展,保持分层和泛洪机制不变。
九、IS-IS 与 OSPF 核心对比
| 对比项 | IS-IS | OSPF |
|---|---|---|
| 适用环境 | 支持 CLNP+IP | 仅支持 IP |
| 封装层次 | 数据链路层 | IP 层(协议号 89) |
| 区域划分 | 基于路由器(整台路由器属于一个区域) | 基于接口(一台路由器可跨多个区域) |
| 网络类型 | 仅广播、点到点 | 广播、点到点、点到多点、NBMA |
| 邻居关系 | 同层次互成邻接(广播网络) | DR/BDR 与其他路由器成邻接,DRother 为 2-way |
| 链路状态载体 | LSP(TLV 结构,扩展性强) | LSA(多种类型,结构复杂) |
| 路由计算 | 前缀作为叶子,支持 PRC(部分更新) | 前缀作为节点,需全局 SPF |
| 抢占性(DIS/DR) | 支持抢占 | 不支持抢占 |
| 备份角色 | 无 BDR | 有 BDR 备份 DR |
| 扩展性 | 强(TLV 结构) | 一般(LSA 类型固定) |
| 适用场景 | 大型 ISP 骨干网 | 企业园区网、中小型网络 |
十、配置任务(华为 VRP 系统)
1. 基本配置步骤
- 启动 IS-IS 进程:
isis process-id(进程号 1-65535)。 - 配置 NET 地址:
network-entity net(最多 3 个,SysID 需唯一)。 - 设置路由器级别:
is-level { level-1 | level-2 | level-1-2 }(默认 L1-2)。 - 接口使能 IS-IS:
interface 接口名→isis enable process-id。 - 可选配置:
- DIS 优先级:
isis dis-priority priority [ level-1 | level-2 ]。 - Hello 间隔:
isis timer hello interval [ level-1 | level-2 ](默认 10 秒)。 - 路由渗透:
import-route isis level-2 into level-1(L1-2 路由器)。 - 路由聚合:
summary ip-address mask [ level-1 | level-2 ]。
- DIS 优先级:
2. 验证命令
- 查看邻居:
display isis peer。 - 查看 LSDB:
display isis lsdb。 - 查看路由:
display isis route。 - 查看接口信息:
display isis interface。
十一、补充知识点(课件延伸)
- LSP 分片机制:单条 LSP 长度有限,超过 MTU 时会分片(LSP 分片号递增),接收方自动重组。
- ATT 位作用:L1-2 路由器生成的 L1 LSP 中 ATT 位置 1,表示可通往其他区域,L1 路由器会生成默认路由指向该 L1-2 路由器。
- PRC 部分路由计算:当仅前缀信息变化时,IS-IS 无需重新运行全局 SPF,仅更新叶子节点,收敛更快。
- 最大老化时间(Maxage):LSP 默认老化时间为 900 秒(15 分钟),超时后删除。
- 部署建议:骨干网用 L2 路由器,非骨干网用 L1 路由器,L1-2 路由器作为区域边界,减少 LSP 泛洪范围。