第73篇:IS-IS 与 OSPF 的异同对比

关键词

IS-IS、OSPF、IGP 对比、协议设计、链路状态、SPF


一、同一类,不同路

IS-IS 和 OSPF 都是链路状态 IGP 路由协议,都使用 SPF 算法计算最短路径。但由于历史起源不同,两者在设计哲学上有显著差异。


二、总体对比

对比维度 OSPF IS-IS
标准化组织 IETF(RFC 2328) ISO(OSI)+ IETF
起源时间 1980s 末 1980s 初(早于 OSPF)
网络层依赖 必须基于 IP(协议 89) 直接基于二层(不依赖 IP)
寻址方式 Router ID (IPv4) NET (NSAP 地址)
区域设计 基于接口 基于路由器
可靠性机制 可靠泛洪(ACK) 可靠泛洪(PSNP)
扩展机制 新增 LSA 类型 新增 TLV

三、核心差异详解

3.1 区域设计

对比项 OSPF IS-IS
区域粒度 每个接口可属于不同区域 整台路由器属于一个区域
ABR/L1/L2 ABR 连接多个区域 L1/L2 路由器连接 L1 和 L2
区域 0 Area 0(骨干,固定编号) Level-2(逻辑骨干,无编号)
区域间选路 Type 3 LSA(距离矢量) L1→L2 路由泄露
Virtual Link 支持 不支持(但可配置 L2 隧道)

3.2 路由计算

对比项 OSPF IS-IS
区域内 SPF SPF(每个级别分别计算)
区域间 距离矢量(Type 3) L2 路由跨区域传播
SPF 运行次数 每个区域一次 SPF L1 一次 + L2 一次
增量 SPF 标准 SPF(可优化) 部分 SPF(PRC)更高效

IS-IS 的优势:由于只有 L1 和 L2 两个"SPF 域",无论有多少个区域,每台路由器最多运行两次 SPF。OSPF 每个区域各运行一次 SPF。

3.3 报文封装

OSPF:IP 封装 | MAC 头 | IP 头 | OSPF 头 | Payload | | --- | --- | --- | --- | IP 协议号: 89

IS-IS:直接二层封装 | MAC 头 | IS-IS 头 | Payload | | --- | --- | --- | LLC: 0xFEFE

IS-IS 的优势:不依赖 IP 层,可以运行在没有配置 IP 的链路上。

3.4 邻居建立

对比项 OSPF IS-IS
邻居发现 Hello 组播 224.0.0.5 Hello 组播 01-80-C2-00-00-15
邻居状态 8 个状态(Down→Full) 3 个状态(Down→Init→Up)
邻接建立 不需要先建立邻居(有状态机) 先建立邻居,再同步 LSDB
3 路握手 通过邻居状态机 通过 IIH 中的邻居列表

3.5 LSDB 同步

对比项 OSPF IS-IS
LSA/LSP 名称 LSA(链路状态通告) LSP(链路状态 PDU)
LSA/LSP 刷新 每 30 分钟刷新(周期) 默认每 15 分钟刷新
老化时间 MaxAge = 3600s MaxAge = 1200s(20 分钟)
确认机制 隐式确认 + 显式确认 PSNP 确认
序列号空间 线性(0x80000001~0x7FFFFFFF) 线性 + 剩余寿命

四、扩展性对比

4.1 协议扩展方式

OSPF 扩展方式:
  定义新 LSA 类型(如 Type 10 Opaque LSA 用于 TE)
  优点:结构清晰
  缺点:新增功能需要协议标准更新

IS-IS 扩展方式:
  定义新 TLV 类型(如 TLV 135 用于 TE Metric)
  优点:向后兼容,自由灵活
  缺点:不同厂商可能定义不同 TLV

4.2 IPv6 支持

对比项 OSPF IS-IS
IPv6 协议 OSPFv3(完全新协议) IS-IS(新增 TLV 232/236)
是否独立进程 是,需要单独运行 OSPFv3 否,同一进程同时支持 IPv4/IPv6
双栈部署 需要两套配置 一套配置

4.3 Segment Routing 支持

对比项 OSPF IS-IS
SR 扩展 LSA/TLV Opaque LSA TLV 扩展
SR-MPLS Prefix-SID
SRv6

五、性能对比

5.1 收敛速度

场景 OSPF IS-IS
链路故障检测 依赖物理层/BFD 依赖物理层/BFD(类似)
SPF 计算 每个区域独立 SPF L1/L2 独立 SPF
LSA/LSP 泛洪 可靠泛洪(逐跳 ACK) 可靠泛洪(PSNP 确认)
典型收敛时间 <1s(配合 BFD) <1s(配合 BFD)

5.2 资源占用

对比项 OSPF IS-IS
CPU 占用 区域越多 SPF 计算越多 固定 2 次 SPF
内存占用 LSDB 大小 = 区域内 LSA LSP 总数通常更少
大型网络 300+ 路由器可能压力大 可支持 1000+ 路由器

六、运维与排错对比

运维项 OSPF IS-IS
配置复杂度 略复杂(需要宣告网段) 简单(接口使能即可)
排查命令 display ospf xxx display isis xxx
隧道兼容性 需要 OSPF 网络类型调整 天然支持隧道
故障定位 邻居状态机详细 状态少,更容易定位

七、选择建议

7.1 什么时候选择 OSPF?

  • 企业园区网(90% 以上的企业用 OSPF)
  • 中小型网络(几十台到几百台路由器)
  • 团队更熟悉 OSPF
  • 与其他 OSPF 网络互联

7.2 什么时候选择 IS-IS?

  • 运营商骨干网(电信级网络)
  • 大型网络(上千台路由器)
  • 需要运行 MPLS/SR-MPLS/SRv6
  • 需要同时支持 IPv4/IPv6 双栈
  • 需要一个极稳定、扩展性强的 IGP

八、总结

对比维度 OSPF 优势 IS-IS 优势
易用性 ✅ 更直观易懂 ❌ 概念较多
扩展性 ❌ 需要新增 LSA 类型 ✅ TLV 机制灵活
IPv6 支持 ❌ 需要独立 OSPFv3 ✅ 同一进程
大规模网络 ❌ 区域越多 SPF 越多 ✅ 固定 2 次 SPF
运营商网络 ❌ 较少使用 ✅ 主流选择
企业网络 ✅ 主流选择 ❌ 较少使用

九、思考

  1. IS-IS 和 OSPF 在区域划分粒度上有什么本质区别?
  2. 为什么 IS-IS 在大规模网络中 SPF 计算的 CPU 开销比 OSPF 更可控?
  3. IS-IS 为什么可以直接封装在二层,而 OSPF 必须封装在 IP 之上?
  4. 如果一个网络需要同时支持 IPv4 和 IPv6,IS-IS 和 OSPF 哪个部署更简单?
  5. 在什么场景下应该优先选择 OSPF,什么场景下应该优先选择 IS-IS?

下篇预告:第74篇《IS-IS 网络类型与 DIS 选举》——了解 IS-IS 的 DIS 与 OSPF 的 DR 有什么不同。