关键词:IS-IS、Level-1、Level-2、Level-1-2、区域划分、Tier 区域、ATT 位
第72篇:IS-IS 区域与路由等级:Level-1、Level-2、Level-1-2
一、引言
IS-IS 的层次化设计与 OSPF 类似,都通过将网络划分为不同层级来限制路由信息传播范围,降低 LSDB 规模和 SPF 计算复杂度。但 IS-IS 的区域模型与 OSPF 有显著差异:IS-IS 不使用"骨干区域"概念,而是通过 Level-1 和 Level-2 两个独立的层级来构建层次化路由。
IS-IS 的路由器可以分为三种类型:Level-1、Level-2 和 Level-1-2。理解这三种类型的职责和交互方式,是掌握 IS-IS 网络设计的基础。
二、核心概念
2.1 IS-IS 三级路由模型
IS-IS 将网络抽象为两层结构:
| 层级 | 名称 | 职责 | 类比 OSPF |
|---|---|---|---|
| Level-1 | 区域内路由 | 负责同一 Area 内的路由 | 普通区域(Non-Backbone Area)内的路由器 |
| Level-2 | 区域间路由 | 负责不同 Area 之间的路由 | 骨干区域(Area 0) |
| Level-1-2 | 混合路由器 | 同时参与 Level-1 和 Level-2 | ABR(区域边界路由器) |
2.2 Level-1 路由器
Level-1 路由器只维护本区域的 LSDB(Level-1 LSDB),其特点:
- 只与同一 Area 内的 Level-1 或 Level-1-2 路由器建立 Level-1 邻居关系
- 只知晓本区域内的详细拓扑
- 区域间流量依赖默认路由(由 Level-1-2 路由器注入)
- 适合部署在接入层或分支节点
2.3 Level-2 路由器
Level-2 路由器构建区域间骨干网络,其特点:
- 只维护 Level-2 LSDB(跨区域共享)
- 与任何 Area 的 Level-2 或 Level-1-2 路由器建立 Level-2 邻居(无视 Area ID)
- 知晓全网 Level-2 拓扑和所有 Area 的汇总信息
- 适合部署在汇聚层或核心层
2.4 Level-1-2 路由器
Level-1-2 路由器是 IS-IS 层次化设计的关键枢纽:
- 同时维护 Level-1 LSDB 和 Level-2 LSDB(两套独立 LSDB)
- 在本区域内作为 Level-1 路由器与邻居通信
- 跨区域作为 Level-2 路由器与邻居通信
- 负责向 Level-1 路由器注入默认路由(通过设置 ATT 位)
- 默认情况下,Level-1-2 路由器不会将 Level-2 路由泄漏到 Level-1
2.5 Area ID 的作用
在 IS-IS 中,Area ID 是 NET 地址的一部分,不像 OSPF 那样通过接口配置:
| 对比维度 | IS-IS | OSPF |
|---|---|---|
| Area ID 长度 | 可变(1~13 字节) | 固定 4 字节 |
| 配置方式 | 通过 NET 隐含指定 | 通过接口命令显式指定 |
| 邻居判定 | Level-1 邻居要求 Area ID 相同 | 要求接口在同一个 Area |
| 层级判定 | 通过路由器 Level 类型决定 | 通过 Area ID 是否为 0 决定 |
三、技术细节
3.1 IS-IS 分层网络拓扑

拓扑说明: - R1、R2、R4、R5、R7 为纯 Level-1 路由器,仅知晓本区域拓扑 - R3、R6、R8 为 Level-1-2 路由器,构建 Level-2 骨干 - R3、R6、R8 之间的 Level-2 邻居不受 Area ID 限制 - 所有 Level-1 路由器通过默认路由访问其他区域
3.2 ATT 位机制
Level-1-2 路由器通过在 Level-1 Hello(L1 IIH)报文中设置 ATT(Attached)位,告知本区域 Level-1 路由器"我能够到达 Level-2 网络":
- ATT = 1:Level-1-2 路由器拥有 Level-2 邻居,可以到达其他区域
- ATT = 0:Level-1-2 路由器没有 Level-2 邻居,或 Level-2 被禁用
当 Level-1 路由器收到 ATT = 1 的 IIH 报文时,会自动生成一条指向该 Level-1-2 路由器的默认路由(0.0.0.0/0)。

3.3 Level-1 和 Level-2 LSDB 独立维护
Level-1-2 路由器维护两套完全独立的 LSDB:
| LSDB 类型 | 包含内容 | 传播范围 |
|---|---|---|
| Level-1 LSDB | 本区域内所有路由器的 LSP | 仅本区域 |
| Level-2 LSDB | 全网 Level-2 路由器的 LSP | 跨越所有 Area |
关键特性: - 两套 LSDB 分别运行 SPF 算法 - Level-1 LSDB 中的路由不会自动泄漏到 Level-2 - Level-2 路由也不会自动泄漏到 Level-1(需要手动配置路由泄露) - 只有 Level-1-2 路由器能看到两套完整 LSDB
3.4 路由选择规则
IS-IS 在 Level-1 路由器上进行路由选择时遵循以下规则:
- 优先匹配 Level-1 路由(区域内直连路由最优)
- 如果没有匹配的 Level-1 路由,使用默认路由(0.0.0.0/0)指向最近的 Level-1-2 路由器
- 默认路由的度量值 = 到达 Level-1-2 路由器的度量值
四、实战配置/案例分析
4.1 配置不同 Level 的路由器
# R1:Level-1 路由器(接入层)
sysname R1
isis 1
net 49.0001.0000.0000.0001.00
#
interface GigabitEthernet0/0/0
ip address 10.1.1.1 30
isis enable 1
isis circuit-level level-1 # 仅参与 Level-1
# R3:Level-1-2 路由器(边界/汇聚)
sysname R3
isis 1
net 49.0001.0000.0000.0003.00
#
interface GigabitEthernet0/0/0
ip address 10.1.1.5 30
isis enable 1
isis circuit-level level-1-2 # 同时参与 L1 和 L2
#
interface GigabitEthernet0/0/1
ip address 10.1.2.1 30
isis enable 1
isis circuit-level level-2 # 此接口仅参与 Level-2
# R6:Level-1-2 路由器(另一区域边界)
sysname R6
isis 1
net 49.0002.0000.0000.0006.00
#
interface GigabitEthernet0/0/0
ip address 10.1.2.2 30
isis enable 1
isis circuit-level level-2 # 面向 L2 骨干的接口
#
interface GigabitEthernet0/0/1
ip address 10.1.3.1 30
isis enable 1
isis circuit-level level-1-2 # 面向本区域
4.2 验证 Level 邻居
# 查看邻居状态
<Huawei> display isis peer
Total Peer Count : 2
Peer Information:
-------------------------------------------------------------------
System-id : 0000.0000.0002
Interface : GigabitEthernet0/0/0
State : Up
HoldTime : 25s
Level : Level-1
AuthState : Not Required
-------------------------------------------------------------------
System-id : 0000.0000.0006
Interface : GigabitEthernet0/0/1
State : Up
HoldTime : 25s
Level : Level-2
AuthState : Not Required
# 分别查看 L1 和 L2 LSDB
<Huawei> display isis lsdb level-1
<Huawei> display isis lsdb level-2
4.3 案例分析:Level-1 路由器无法访问其他区域
故障背景:某运营商 IPRAN 网络中,接入层的 Level-1 路由器 R1 无法 ping 通其他 Area 的设备。
排查过程:
# R1 路由表检查
<R1> display ip routing-table 0.0.0.0
# 结果:没有默认路由
# R3 上检查 ATT 位
<R3> display isis peer
# R3 与 R6 的 L2 邻居状态为 Down
# 原因:R3 的 L2 接口配置错误
根因:R3 的 Level-2 接口未正确使能 IS-IS,导致 R3 与 R6 之间的 Level-2 邻居未建立。由于 R3 没有有效的 Level-2 邻居,ATT 位始终为 0,Level-1 路由器 R1 不会生成默认路由。
修复:
# 修复 R3 的 Level-2 接口
interface GigabitEthernet0/0/1
isis enable 1
isis circuit-level level-2
修复后验证:
# R3 确认 L2 邻居 UP
<R3> display isis peer
System-id : 0000.0000.0006
Level : Level-2
State : Up
# R1 确认默认路由生成
<R1> display ip routing-table 0.0.0.0 0
Routes : 1
Destination/Mask : 0.0.0.0/0 <--- 默认路由已生成
Protocol : IS-IS
PrePreference : 15
Cost : 20
Nexthop : 10.1.1.5 <--- 指向 R3
Interface : GigabitEthernet0/0/0
4.4 案例分析:Level-2 跨 Area 邻居建立
故障背景:R3(Area 49.0001)与 R6(Area 49.0002)之间 Level-2 邻居无法建立。
排查:
# R3 接口配置
interface GigabitEthernet0/0/1
ip address 10.1.2.1 30
isis enable 1
isis circuit-level level-2
# R6 接口配置
interface GigabitEthernet0/0/0
ip address 10.1.2.2 30
isis enable 1
isis circuit-level level-2
根因排查:Level-2 邻居建立不检查 Area ID 是否一致(这与 Level-1 不同)。检查发现两侧 IS-IS 全局 MTU 不一致:
# R3
isis 1
iso-ignore-mtu-mismatch # 未配置
# R6
isis 1
iso-ignore-mtu-mismatch # 未配置
# 但 R3 接口 MTU = 1500, R6 接口 MTU = 9000
修复:
# 统一接口 MTU 或忽略 MTU 检查
# R6
interface GigabitEthernet0/0/0
mtu 1500
五、总结
| 路由器类型 | LSDB 维护 | 邻居范围 | 典型部署位置 |
|---|---|---|---|
| Level-1 | 仅 L1 LSDB | 同 Area 内 | 接入层、用户侧 |
| Level-2 | 仅 L2 LSDB | 全网(跨 Area) | 核心层 |
| Level-1-2 | L1 + L2 两套 | 同 Area(L1) + 全网(L2) | 汇聚层、区域边界 |
| 设计要点 | 说明 |
|---|---|
| ATT 位 | Level-1-2 通过 ATT 位通知 L1 路由器存在出口 |
| 默认路由 | L1 路由器通过 ATT 位自动生成默认路由 |
| L2 跨 Area | Level-2 邻居建立不检查 Area ID |
| 双 LSDB | Level-1-2 维护两套完全独立的 LSDB |
| 路由隔离 | L1 和 L2 路由默认不相互泄漏 |
思考
- IS-IS 不需要 OSPF 那样的 Area 0 骨干区域,为什么?Level-2 的设计如何避免了 OSPF "所有区域必须直连 Area 0"的限制?
- 如果一个 Level-1-2 路由器的 Level-2 邻居全部 Down 掉,对本区域的 Level-1 路由器会产生什么影响?
- 在实际网络中,为什么接入层路由器通常配置为 Level-1 而不是 Level-1-2?
下篇预告:第73篇:IS-IS 与 OSPF 的异同对比