1. IS-IS协议的基本概念
IS-IS(Intermediate System to Intermediate System)是一种链路状态路由协议,最初由ISO(国际标准化组织)设计用于OSI(开放系统互连)网络环境中的路由选择。后来经过扩展,被广泛应用于TCP/IP网络环境,成为现代运营商级网络的核心路由协议之一。
与OSPF类似,IS-IS也属于IGP(内部网关协议)范畴,用于在单一自治系统内部进行路由信息的交换和计算。但IS-IS在设计理念和实现细节上有其独特之处:
- 采用分层设计(Level 1和Level 2)
- 使用TLV(Type-Length-Value)结构进行信息编码
- 支持多拓扑路由
- 具有高度可扩展性
在实际网络部署中,IS-IS因其稳定性和扩展性优势,常被大型ISP(互联网服务提供商)和数据中心网络采用。根据统计,全球超过60%的Tier-1运营商网络使用IS-IS作为主要IGP协议。
2. IS-IS协议的核心工作原理
2.1 邻居发现与邻接关系建立
IS-IS路由器通过发送IIH(IS-IS Hello)报文来发现邻居并建立邻接关系。这个过程有几个关键点:
- 接口必须配置相同的网络类型(广播或点对点)
- 认证信息(如果配置)必须匹配
- 必须属于相同的区域(对于Level-1邻接)
- System ID必须唯一
在广播网络中,IS-IS会选举DIS(Designated IS),类似于OSPF中的DR(Designated Router)。但与OSPF不同的是,IS-IS中不存在BDR(备份指定路由器)的概念。
2.2 链路状态数据库同步
IS-IS使用两种主要的链路状态PDU(LSP):
- 非伪节点LSP:描述路由器自身的链路状态
- 伪节点LSP:在广播网络中由DIS生成,描述该广播网段的所有路由器
LSP的泛洪过程遵循以下原则:
- 新收到的LSP如果比本地存储的更新,则接受并继续泛洪
- 每个LSP都有生存时间(默认1200秒),需要定期刷新
- 使用序列号来标识LSP的新旧程度
2.3 SPF计算与路由生成
IS-IS使用Dijkstra算法(SPF算法)计算最短路径树。计算过程分为几个阶段:
- 构建拓扑图:基于链路状态数据库中的信息
- 运行SPF算法:从自身节点出发计算到所有其他节点的最短路径
- 生成路由表:将最短路径转换为具体的路由条目
在大型网络中,IS-IS通常会进行分层路由(Level-1和Level-2),以优化SPF计算的范围和频率。
3. IS-IS与OSPF的对比分析
虽然IS-IS和OSPF都是链路状态协议,但它们在设计和实现上有显著差异:
| 特性 | IS-IS | OSPF |
|---|---|---|
| 协议起源 | ISO/OSI | IETF/TCP/IP |
| 分层结构 | 两级(L1/L2) | 多区域(骨干+常规) |
| 地址结构 | NSAP地址 | IP地址 |
| 信息编码 | TLV格式 | 固定格式 |
| 网络类型 | 广播/点对点 | 广播/NBMA/点对点/点对多点 |
| 扩展性 | 更优 | 良好 |
| 部署复杂度 | 较高 | 较低 |
从实际部署角度看,IS-IS更适合大规模网络环境,特别是在需要支持多种协议(如同时支持IPv4和IPv6)的场景下。而OSPF则在中小型网络和纯IP环境中更易于配置和管理。
4. IS-IS的现代应用场景
4.1 运营商骨干网络
在运营商网络中,IS-IS通常用于:
- 承载核心流量的路由计算
- 支持MPLS流量工程
- 实现快速收敛(通常能在亚秒级完成)
一个典型的部署案例是:在骨干网中使用Level-2 IS-IS,在接入层使用Level-1 IS-IS,通过路由泄漏(route leaking)实现层次化路由。
4.2 数据中心网络
现代数据中心网络(特别是超大规模数据中心)常采用IS-IS作为底层路由协议,原因包括:
- 支持ECMP(等价多路径路由)
- 易于实现Clos架构
- 良好的扩展性(支持数千台设备)
例如,Facebook的Fabric网络就采用了IS-IS作为其控制平面协议。
4.3 5G移动核心网
在5G架构中,IS-IS被用于:
- 连接UPF(用户平面功能)节点
- 实现SBA(基于服务的架构)中的服务发现
- 支持网络切片间的路由隔离
5. IS-IS的配置与优化实践
5.1 基础配置示例(以Cisco IOS为例)
code复制router isis
net 49.0001.0000.0000.0001.00
is-type level-2-only
metric-style wide
!
interface GigabitEthernet0/0
ip router isis
isis circuit-type level-2
isis metric 10
关键配置说明:
net定义了NSAP地址,其中49是私有AFI,0001是区域IDis-type指定路由器级别metric-style wide启用扩展度量值(支持更大度量范围)
5.2 性能优化建议
-
调整计时器:
- 缩短Hello间隔可以加快故障检测
- 但过于激进会导致协议开销增加
-
合理设计区域:
- 控制Level-1区域规模(建议不超过100台路由器)
- 在骨干网使用纯Level-2设计
-
度量值规划:
- 使用接口带宽作为度量基准
- 保持度量值一致性(避免路由环路)
-
安全配置:
- 启用MD5认证
- 限制LSP生成速率
5.3 常见问题排查
问题1:邻接关系无法建立
排查步骤:
- 检查接口是否启用IS-IS
- 验证网络类型是否匹配
- 检查认证配置
- 确认区域配置一致
- 检查MTU是否匹配
问题2:路由缺失或不完整
排查步骤:
- 检查链路状态数据库是否完整
- 验证SPF计算是否成功
- 检查路由泄漏配置(如果是跨Level路由)
- 确认没有路由策略过滤
6. IS-IS协议的未来发展
随着网络技术的演进,IS-IS协议也在不断扩展:
-
支持新地址族:
- 原生支持IPv6(RFC 5308)
- 支持SRv6(Segment Routing over IPv6)
-
增强流量工程能力:
- 支持Flex-Algo(灵活算法)
- 增强的TE扩展(RFC 8919)
-
自动化集成:
- YANG模型支持(RFC 9130)
- 与SDN控制器集成
在实际网络演进中,IS-IS因其TLV-based的灵活架构,往往比OSPF更容易扩展支持新功能。这也是为什么许多运营商在向SR(Segment Routing)迁移时,倾向于保持IS-IS作为底层IGP协议。
