IS-IS 是一种链路状态路由协议,最早源于 OSI 模型,现在广泛用于 IP 网络,尤其是运营商骨干网。相比 OSPF,IS-IS 更加简洁、稳定、收敛更快,属于网络工程师必须掌握的核心协议。
了解 IS-IS,首先要搞懂OSI 地址体系,这是它和其他协议最大的不同。
一、OSI 地址与 NSAP 格式
OSI 地址是网络层公共地址,不同于 IP 地址,采用NSAP格式。
NSAP 全称:Network Service Access Point,网络服务访问点标识符,用来区分不同的网络层协议。
NSAP 地址分为两大部分:IDP和DSP。
IDP 类似网络位,代表区域
DSP 类似主机位,代表具体设备
IDP 组成:
AFI:企业标识,由地址委员会分配
IDI:子网划分位,代表分公司等层级
DSP 组成:
HOD:部门细分标识
System ID:主机唯一标识
判断规则:
IDP 一致,表示在同一个区域
DSP 不同,表示不同主机
NSAP 地址主要用于IS-IS 协议,格式看起来复杂,实际是按区域、部门、主机来分层规划。
企业地址分配可以这样理解:
AFI:代表企业
IDI:代表分公司
HOD:代表部门
System ID:代表路由器 / 主机
NSAP 还有一个重要字段:NSEL
NSEL 用来标识网络服务类型
00 表示 IP 网络
其他值对应其他协议
整个地址结构:区域地址 + System ID + NSEL
区域地址:第一段,标识区域
System ID:唯一标识路由器
NSEL:1 字节,标识网络类型
特点:
区域自动识别,不需要手动指定接口区域
同一台路由器所有接口属于同一个区域
二、区域地址
区域地址是 NSAP 中代表区域的部分,长度1~13 字节可变。
完整 NSAP 地址结构:区域地址(1-13 字节) + System ID(6 字节) + NSEL(1 字节)
关键点:
System ID 固定 6 字节,唯一标识一台路由器
NSEL 固定 1 字节,00 代表 IP 网络
地址解析:从后往前解析
先取 1 字节 NSEL
再取 6 字节 System ID
剩下全部是区域地址
长度范围:
最短:8 字节(1 字节区域 + 6 字节 System ID+1 字节 NSEL)
最长:20 字节(13 字节区域 + 6 字节 System ID+1 字节 NSEL)
书写格式:十六进制我们在配置中使用的NET 地址,就是优化后的 NSAP 地址格式。
三、NET 地址
NET:Network Entity Title,网络实体名称。
作用:在 IS-IS 中相当于 OSPF 的Router ID,用来唯一标识一台设备。
规则:
一台路由器最多可以配置3 个 NET同时生效
多个 NET 必须System ID 相同,区域地址可以不同
49 开头的 NET 属于私有地址范围
设计目的:
区域合并、分割时,不需要重启设备
只需修改区域地址,保持 System ID 不变即可
建议:
同一个 AS 内,所有路由器 System ID 保持唯一
避免区域合并时产生冲突
四、IS-IS 协议报文类型
IS-IS 报文直接封装在数据链路层,一共有四种核心报文:
IIH建立和维护邻居关系,类似 OSPF 的 Hello 报文。
LSP传递链路状态信息,类似 OSPF 的 LSU。
CSNP完全时序报文,通告 LSDB 中所有摘要,类似 OSPF 的 DD 报文。
PSNP部分时序报文,用于请求和确认 LSP,相当于 OSPF 的 LSR + LS ACK 合并。
报文结构:
通用报文头
专用 PDU 头
学习时可以和 OSPF 对比记忆,更容易理解。
五、IS-IS 报文中的 CLV
IS-IS 所有报文都使用CLV格式:Code-Length-Value。
作用:标识字段功能,扩展性极强。
常用 Code:
Code=1:区域地址
Code=2:邻居信息
Code=6:MAC 地址
Code=128:IP 可达路由信息
Code=132:接口 IP 地址描述
优点:
功能扩展灵活
不影响原有报文结构
目前主要用于 IP 网络集成部署。
六、IS-IS 网络类型
IS-IS 只支持两种网络类型,比 OSPF 简化很多:
广播(broadcast)以太网等多路访问网络
点对点(p2p)PPP、HDLC 等
注意:
原生 NBMA(如帧中继)不支持
必须改成子接口 PPP 模式才能运行
PPP/HDLC 默认识别为 p2p
以太网默认广播
七、邻居关系的建立
邻居建立流程:建邻居 → 同步数据库 → 计算路由
邻居分为两个级别:
Level-1:区域内邻居
Level-2:区域间 / 骨干邻居
建立条件:
P2P 网络:收到 Hello 报文,邻居直接 UP
广播网络:需要三次 Hello 握手,类似 OSPF
与 OSPF 区别:
IS-IS 严格区分 L1 和 L2 邻居
OSPF 不按区域类型区分邻居级别
邻接规则:
L1 和 L1 只能建立 L1 邻接
L2 和 L2 只能建立 L2 邻接
L1-2 之间会同时建立 L1 和 L2 邻接
L1 无法和 L2 建立跨区域邻接
数据库同步:
L1 邻居只同步 L1 的 LSDB
L2 邻居只同步 L2 的 LSDB
八、DIS 的作用及选举
DIS:指定中间系统,只在广播网络选举。
作用:
创建伪节点
统一负责 LSDB 同步,减少 LSP 泛洪
特点:
没有备份 DIS
故障或优先级变化,立刻重新选举
切换比 OSPF 的 DR 更快
机制:
非 DIS 设备统一和伪节点同步
伪节点不影响真实邻居关系
只用于数据库同步
九、两种网络上邻居建立过程比较
P2P 网络:
Hello 单播发送
Hello 时间 10 秒
收到 Hello 立即建立邻接
不需要选举 DIS
广播网络:
Hello 组播发送,L1、L2 分开发
Hello 时间 3.3 秒
需要三次握手建立邻接
必须选举 DIS
重要区别:
IS-IS 在广播网中所有路由器之间都会建立邻接,不是只和 DIS 建邻接
十、LSDB 的同步
IS-IS 同步策略:速度优先,先发送后修补。
广播网络同步
所有设备直接发送全部 LSP
DIS 周期性发送 CSNP 泛洪摘要
缺失 LSP 用 PSNP 请求
收到 LSP 用 PSNP 确认
优点:收敛极快
P2P 网络同步
初始直接发送完整 LSP
缺失时发送 CSNP 请求
对端回复 LSP
PSNP 确认完成同步
LSDB 更新机制
广播网:变化 LSP 发给 DIS,CSNP 泛洪同步
P2P 网络:直接发送变化 LSP,PSNP 确认
核心加速:PRC(部分路由计算)
只对变化的 LSP 重计算
不刷新整个数据库
所有场景都支持
→ 收敛速度明显优于 OSPF
十一、IS-IS 的拓扑计算
IS-IS 采用层级完全隔离:
Level-1 数据库独立
Level-2 数据库独立
规则:
L1 路由器:只维护 L1 库,只计算 L1 路由
L2 路由器:只维护 L2 库,只计算 L2 路由
L1-2:同时维护两个数据库
display 查看邻居时,开销值显示为 0,这是正常现象。
十二、IP 路由的形成
路由发布规则:
L1 路由可以自动转为 L2 发布
L2 路由不会转为 L1 发布
区域间访问:
L1 区域没有域外路由
靠 ATT 比特生成缺省路由指向 L1-2 设备
L1-2 作为区域出口
设计核心:
严格隔离路由传播
用缺省路由简化计算
→ 设备负载低、收敛速度极快
因此,运营商骨干网大量使用 IS-IS,稳定性和扩展性都非常强。
喜欢这篇分享的话,求求点个关注~欢迎交流指正,请勿恶意吐槽,感谢!