0. 课件来源
本节聚焦 IS-IS 最核心也最常考的进阶主题:Level-1 与 Level-2 之间的路由交互。理解路由泄露方向、ATT 位默认路由、Down/Up bit 防环机制,是掌握 IS-IS 选路与优化的关键。
1. Level-1 与 Level-2 的本质差异
虽然 Level-1 和 Level-2 使用的 TLV 完全一样(窄带 TLV 2/128/130,宽带 TLV 22/135),但它们承载的路由范围不同:
| 层级 | 路由范围 | 对应 OSPF |
|---|---|---|
| Level-1 | 仅本区域域内路由 | 普通区域域内 |
| Level-2 | 所有区域的内部路由 + 外部路由 | 骨干(Area 0)+ 域间 + 域外 |
💡 为什么有了 Level-2 还需要 Level-1?
Level-1 相当于 OSPF 的 Totally NSSA:只保留本区域明细,拒绝其他区域的 L2 路由,靠默认路由出区域,从而减小 LSDB、节省设备资源。
2. Level-1 与 Level-2 的交互规则
2.1 两条核心规则
| 方向 | 是否自动 | 说明 |
|---|---|---|
| L1 → L2(自动泄露) | ✅ 自动 | L1-2 IS 把本区域 L1 域内路由自动注入 L2 |
| L2 → L1(默认不泄露) | ❌ 不自动 | 防止路由回灌环路,L2 路由默认不下发到 L1 |
2.2 L1 → L2 自动泄露(验证)
L1-2 IS(如 AR4)学到本区域 L1 路由(如 10.1.5.0/24)后,会自动在 L2 LSP 中以"叶子"形式(TLV 135)通告:
[AR4] dis ip routing-table 10.1.5.5
Destination/Mask Proto Pre Cost NextHop Interface
10.1.5.0/24 ISIS-L1 15 10 10.1.45.5 Serial1/0/1
[AR4] dis isis lsdb level-2 verbose
SOURCE AR4.00
+IP-Extended 10.1.5.0 255.255.255.0 COST: 10 Tag: 5 ← L1 路由已泄露到 L22.3 L2 → L1 默认不下发
[AR4] dis isis lsdb level-1 verbose # 查看 L1 LSDB
SOURCE AR4.00
+NBR ID AR5.00 COST: 10
+IP-Extended 10.1.4.0/24 COST: 0
+IP-Extended 10.1.45.0/24 COST: 10
(没有发现 10.1.1.0/24 等 L2 路由的 TLV 135 信息)⚠️ 为什么 L2 不能自动下发到 L1?
若 L2 路由无条件下发到 L1,再由其他 L1-2 IS 把它当作 L1 路由泄露回 L2 → 形成路由回灌环路。所以 L2→L1 必须受控。
3. ATT 位与默认路由
既然 L2 路由不下发到 L1,那 L1 设备如何访问其他区域?答案在 ATT 位(Attached)。
3.1 ATT 位工作机制
→ 证明该 IS 是「区域边界(ABR)」
→ 自动生成默认路由 指向最近的 L1-2 IS
3.2 默认路由验证
<AR5> dis ip routing-table 10.1.1.1 # L1 设备访问其他区域
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 ISIS-L1 15 10 10.1.45.4 Serial1/0/0 ← 自动生成的默认路由
<AR5> dis isis lsdb level-1 verbose
0000.0000.0004.00-00 ATT/P/OL = 1/0/0 ← 注意 ATT=1💡 IS-IS 默认路由与 OSPF 的区别
- OSPF:默认路由通过 LSA 显式携带
0.0.0.0信息 - IS-IS:L1 LSDB 中没有 0.0.0.0 的 TLV,而是靠 ATT 位隐式触发生成
4. Level-1 ≈ OSPF Totally NSSA
| 特性 | IS-IS Level-1 | OSPF Totally NSSA |
|---|---|---|
| 本区域明细 | ✅ 保留 | ✅ 保留 |
| 其他区域域间路由 | ❌ 拒绝(靠默认路由出区域) | ❌ 拒绝 |
| 引入外部路由 | ✅ 允许(默认进 L2) | ✅ 允许(Type 7 LSA) |
| 默认路由来源 | ATT 位隐式生成 | ABR 下发 Type 3 默认 |
⚠️ 引入外部路由默认进 Level-2
使用 import-route 引入外部路由时,默认只进 Level-2。若需引入到 Level-1,需显式指定:
isis 1
is-level level-1
import-route direct route-policy loopback level-1 # 显式注入 L15. 路由渗透(Route Leaking):L2 → L1 强制泄露
5.1 为什么要做路由渗透?
默认情况下 L1 设备只有一条默认路由指向最近的 L1-2 IS。若区域有多个 L1-2 IS,可能出现次优路径:
┌── AR2(L1-2) ──┐
AR1(L1) ─────────┤ ├── 骨干 ── 目标 10.1.5.5
└── AR3(L1-2) ──┘──→ 这条更优!
AR1 去往 10.1.5.5:
默认行为 → 走 AR2、AR3 等价负载(次优,实际走 AR3 更近)
期望 → 走 AR3 明细路由(最优)5.2 配置:强制把 L2 泄露到 L1
在 AR3 上将特定 L2 路由强制泄露到 L1:
# AR3
isis 1
import-route isis level-2 into level-1 filter-policy 2000
#
ip ip-prefix 2000 index 10 permit 10.1.5.0 24 # 只泄露 10.1.5.0/24验证:
<AR1> dis ip routing-table 10.1.5.5
Destination/Mask Proto Pre Cost NextHop Interface
10.1.5.0/24 ISIS-L1 15 30 10.1.123.3 GE0/0/0 ← 走 AR3 明细,最优!
<AR1> dis ip routing-table 10.1.4.4 # 其他目标仍走默认路由
0.0.0.0/0 ISIS-L1 15 10 10.1.123.2 GE0/0/0 ← AR2
0.0.0.0/0 ISIS-L1 15 10 10.1.123.3 GE0/0/0 ← AR3 负载6. Down/Up Bit:路由渗透的防环机制
L2 强制泄露到 L1 后,如何防止该路由被其他 L1-2 IS 当作 L1 路由再泄露回 L2(回灌环路)?
6.1 防环原理
→ 不会泄露回 L2 ✅ 防回灌
→ 可泄露到 L2 ↔ 正常传播
| 路由来源 | Bit 标记 | 能否计算为 L1 路由 | 能否泄露到 L2 |
|---|---|---|---|
| 正常 L1 域内路由 | Up bit | ✅ | ✅ |
| L2 强制泄露到 L1 | Down bit | ✅(L1 可用) | ❌(防回灌) |
💡 类比 OSPF 的 Forwarding Address / Tag
Down bit 的作用类似 OSPF NSSA 中通过 FA 或 Tag 防止外部路由回灌。本质都是给路由打上"来源标记"以阻断环路。
7. IS-IS 与 OSPF 角色触发的差异
⚠️ 为什么 IS-IS 扩展性优于 OSPF?
OSPF 的角色需要条件触发:
| 角色 | 触发条件 |
|---|---|
| ABR | 接口属于多个区域 且 与骨干有邻接关系 |
| ASBR | 必须具备引入外部路由的能力 |
不满足条件 → 不能成为 ABR/ASBR → 不产生对应 LSA。
IS-IS 的角色纯靠配置,无需任何条件:
isis 1
is-level level-1 # 配置即为 L1 IS
is-level level-2 # 配置即为 L2 IS
is-level level-1-2 # 默认,配置即为 L1-2 IS(= ABR)这意味着 IS-IS 在网络扩展、区域调整时更灵活(无需满足邻接条件即可调整角色)。
8. 骨干断裂与 Partition Repair
OSPF 存在"被分割的区域""不连续的区域 0"问题,IS-IS 同样存在 Level-2 骨干断裂问题。
| 方案 | 说明 |
|---|---|
| Partition Repair | 在 L1-2 间配置修复机制(思科/华为不支持) |
| 推荐方案 | 将断裂处的 L1 IS 升级为 L1-2 或 L2,重建骨干连通 |
9. IS-IS 最佳实践
💡 现网两种典型部署
方案一:全网 Level-2(推荐,扁平化)
- 每台路由器单独一个区域,全网运行 L2
- 全网链路状态,最短无环路径
- 维护简单,扩展性好
方案二:Level-1 + Level-2 分层
- L1 视为"特殊区域",仅在设备性能不足时使用
- ⚠️ 若区域有多个 L1-2 边界,可能出现次优路径 → 需配合路由渗透
10. 常用配置速查
# 1. 设置路由器级别
isis 1
is-level level-1 # 仅 L1
is-level level-2 # 仅 L2
is-level level-1-2 # L1-2(默认)
# 2. 接口级别(精细化控制)
interface GigabitEthernet0/0/0
isis circuit-level level-1 # 该接口只建 L1 邻居
# 3. 强制路由渗透(L2 → L1)
isis 1
import-route isis level-2 into level-1 filter-policy 2000
# 4. 引入外部路由到指定层级
isis 1
import-route direct route-policy RP level-1 # 默认进 L2,显式指定 L1
# 5. 宽带开销
isis 1
cost-style wide11. 易混淆点与考前速记
| 对比项 | 结论 |
|---|---|
| L1→L2 泄露 | 自动(L1-2 IS 把本区域 L1 路由注入 L2) |
| L2→L1 泄露 | 默认不泄露,需 import-route isis level-2 into level-1 强制 |
| L1 如何出区域 | 靠 L1-2 IS 的 L1 LSP 中 ATT=1,L1 自动生成默认路由 |
| L1 默认路由来源 | ATT 位隐式生成(LSDB 中无 0.0.0.0 TLV) |
| L1 ≈ OSPF | Totally NSSA(保本区域明细,拒域间,靠默认出区域,允许引入外部) |
| 引入外部默认层级 | 默认进 Level-2,需显式 level-1 才进 L1 |
| 路由渗透防环 | Down bit(D bit):L2 泄露到 L1 标记 Down,不可再泄露回 L2 |
| 正常 L1 路由标记 | Up bit(U bit),可泄露到 L2 |
| 多边界次优 | L1 有多个 L1-2 边界时,默认路由可能次优 → 用路由渗透优化 |
| 角色触发 | IS-IS 靠配置(无需邻接条件);OSPF 需满足邻接条件 |
| 骨干断裂修复 | Partition Repair 华为/思科不支持,推荐升级 L1 为 L1-2/L2 |
| 最佳实践 | 全网 L2 扁平化最简单;L1 仅在性能不足时用 |
考前速记 8 条:
L1→L2 自动泄露;L2→L1 默认不泄露L1 出区域靠 ATT=1 自动生成默认路由(LSDB 无 0.0.0.0)L1 本质 = OSPF Totally NSSAimport-route 引入外部默认进 L2,显式 level-1 才进 L1L2 强制泄露到 L1 用 import-route isis level-2 into level-1防回灌靠 Down bit:标记 Down 的 L1 路由不可再泄露到 L2多边界次优 → 路由渗透(只泄露特定明细到 L1)IS-IS 角色靠配置(无邻接条件),OSPF 角色需满足条件
🤖 AI 伴学
想彻底搞懂 Level 间路由交互?让 AI 用"水库调度"类比帮你建立直觉:
"请把 IS-IS 的 Level-1 和 Level-2 想象成两级水库:Level-1 是'地方小水库'(只存本区域的水),Level-2 是'主干渠'(汇总所有区域的水)。默认规则是:小水库的水(L1 路由)会自动流入主干渠(L1→L2 自动泄露),但主干渠的水不会自动倒灌回小水库(L2→L1 默认不下发,防回灌)。那小水库怎么取主干渠的水?靠一个'闸门标志'——ATT 位:当 L1-2 IS 发现主干渠有其他区域的水,就在自己的 L1 通告里挂一个'此处通主干'的牌子(ATT=1),L1 设备看到牌子就自动修一条默认管道指向它。如果想让 L1 精确取某条主干的水(避免走错闸门次优),就用'路由渗透'强行把那条水引下来,但要在水上贴'Down 标签'防止它被当成 L1 的水再次倒灌回主干(Down bit 防环)。"
