第79篇:IS-IS 开销类型——narrow 与 wide 模式
关键词
IS-IS、开销、narrow、wide、Metric、TLV 128、TLV 135
一、两种开销类型
IS-IS 支持两种开销类型,兼容不同时代的网络需求:
| 开销类型 | 最大 Metric | Metric 字段 | 适用场景 |
|---|---|---|---|
| narrow | 63(接口)/ 1023(路由) | TLV 128/130 | 传统小型网络 |
| wide | 16,777,215(24 位) | TLV 135/140 | 大型网络、TE、SR |
二、narrow 模式(传统模式)
2.1 Metric 限制
narrow 模式是 IS-IS 最初的定义,遵循 ISO 10589 标准:
| 度量 | 最大值 | 说明 |
|---|---|---|
| 接口 Metric | 0~63 | 每个接口分配的 Metric |
| 路由 Metric | 0~1023 | 路径总 Metric(6 位接口 Metric 累加) |
2.2 实际限制
narrow 模式下:
最大接口 Metric = 63
最大路径长度 = 63 × 跳数 ... 但路径总 Metric 不能超过 1023
这意味着:
如果所有接口 Metric=63,最多允许 16 跳(63 × 16 = 1008 < 1023)
第 17 跳:63 × 17 = 1071 > 1023 ❌ 不可达
2.3 兼容性
narrow 是默认兼容模式,确保与旧设备互通。
# 查看当前开销类型
display isis
Metric Style: Narrow ← 当前为 narrow 模式
三、wide 模式(扩展模式)
3.1 解决 narrow 的局限性
随着网络规模扩大,narrow 的 63/1023 限制成为瓶颈。IETF 在 RFC 3784/3787 中定义了 wide Metric。
3.2 Wide Metric 特性
| 度量 | 最大值 | 字段长度 |
|---|---|---|
| 接口 Metric | 0~16,777,215 | 24 位(约 1677 万) |
| 路由 Metric | 0~4,294,967,295 | 32 位 |
3.3 Wide 的优势
- 支持高速链路:10GE/40GE/100GE 可以分配合理的 Metric
- 支持 TE:TE 扩展依赖 wide Metric
- 支持 SR:Segment Routing 需要 wide Metric
- 更大的路径多样性:不再受 1023 总和限制
四、配置开销类型
4.1 华为设备配置
# 配置为 wide 模式
isis 1
cost-style wide
# 配置为 narrow 模式(默认)
isis 1
cost-style narrow
# 配置为兼容模式(同时支持 narrow 和 wide)
isis 1
cost-style wide-compatible # 双方兼容
4.2 不同开销类型的兼容性
| 模式 | 只发 narrow | 只发 wide | 双方兼容 |
|---|---|---|---|
| narrow | ✅ | ❌ | ✅ |
| wide | ❌ | ✅ | ✅ |
| narrow-compatible | ✅ | 收 wide 但不发 | ✅ |
| wide-compatible | 收 narrow 但不发 | ✅ | ✅ |
4.3 检查兼容性
# 查看邻居的开销类型兼容状态
display isis peer verbose
Peer: 2222.2222.2222
Adj Protocol: IP
Metric Style: Wide ← 双方都在使用 wide 模式
五、接口 Metric 配置
5.1 自动计算
与 OSPF 不同,IS-IS 默认所有接口的 Metric 都是 10,不根据带宽自动计算。
# 查看接口 Metric
display isis interface GigabitEthernet0/0/0
Interface: GE0/0/0
Cost: 10 ← 默认值,无论接口带宽是多少
5.2 手动配置
# 手动设置接口 Metric(wide 模式可以设置更大的值)
interface GigabitEthernet0/0/0
isis cost 100 # narrow: 0~63, wide: 0~16777215
# 按级别设置 Metric
interface GigabitEthernet0/0/0
isis cost 100 level-1 # 仅 L1 的 Metric
isis cost 200 level-2 # 仅 L2 的 Metric
5.3 自动计算(需要额外配置)
# 使 IS-IS 根据接口带宽自动计算 Metric(类似 OSPF)
isis 1
auto-cost # 启用自动计算
reference-bandwidth 100000 # 参考带宽 100Gbps
# 自动计算后的结果
# 10GE: 100000/10000 = 10
# 1GE: 100000/1000 = 100
# 100M: 100000/100 = 1000
六、wide 与 TE 的关系
6.1 TE Sub-TLV
wide Metric 是 MPLS-TE 的基础。TE 扩展在 wide 模式下使用额外的 Sub-TLV:
| Sub-TLV | 内容 | 作用 |
|---|---|---|
| 3 | 管理组(Admin Group) | 链路颜色标记 |
| 6 | IPv4 接口地址 | TE 隧道端点 |
| 9 | 最大带宽 | TE 带宽预留 |
| 10 | 最大可预留带宽 | TE 带宽预留 |
| 11 | 未预留带宽 | TE 带宽状态 |
6.2 启用 TE
isis 1
cost-style wide # 必须先启用 wide
traffic-engineering level-2 # 启用 TE 扩展
七、narrow 与 wide 共存的问题
7.1 不匹配的影响
如果两端路由器使用不同的开销类型:
RouterA (Wide) ──── RouterB (Narrow)
结果:
- 无法正确理解对方的 Metric
- LSDB 同步可能失败
- 路由计算错误
7.2 过渡方案
# 过渡期使用兼容模式
# RouterA:
isis 1
cost-style wide-compatible # 发 wide,收 narrow
# RouterB:
isis 1
cost-style narrow-compatible # 发 narrow,收 wide
八、总结
| 对比项 | narrow | wide |
|---|---|---|
| 接口 Metric 范围 | 0~63 | 0~16,777,215 |
| 路径 Metric 范围 | 0~1023 | 0~4,294,967,295 |
| TE 支持 | ❌ | ✅ |
| SR 支持 | ❌ | ✅ |
| 默认 | IS-IS 默认 | 需显式配置 |
| 适用场景 | 小型传统网络 | 大型网络/运营商/DC |
现实选项:新建网络一律选择 wide 模式。
九、思考
- narrow 模式下接口 Metric 和路由 Metric 的最大值分别是多少?
- wide 模式相比 narrow 模式解决了什么核心问题?
- 为什么 IS-IS 默认所有接口的 Metric 都是 10,而不是像 OSPF 那样按带宽自动计算?
- 如果两端路由器分别配置了 narrow 和 wide,会发生什么?如何解决?
- TE 和 SR 功能为什么依赖 wide 模式?
下篇预告:第80篇《IS-IS over SR-MPLS 的部署演进》——从传统 IS-IS 到 Segment Routing 的演进之路。