2. OSPF MPLS 段路由 YANG 模块设计
OSPF MPLS 段路由 YANG 模块是对 OSPF YANG 模型 [RFC9129] 的增广.
模块结构概述 (Module Structure Overview)
该 YANG 模块定义了用于配置和管理 OSPF 段路由扩展的数据模型, 包括:
核心配置元素 (Core Configuration Elements)
段路由全局块 (Segment Routing Global Block, SRGB):
- OSPFv2/OSPFv3 实例的全局配置
- 定义全局段标识符 (Segment Identifier, SID) 范围
- 包括起始标签值和范围大小
- 示例: SRGB [16000-23999] 表示 8000 个可用全局 SID
段路由本地块 (Segment Routing Local Block, SRLB):
- 定义本地段标识符范围
- 用于节点特定的本地 SID 分配
- 不在自治系统 (AS) 内传播
最大 SID 深度 (Maximum SID Depth, MSD):
- 表示节点可以处理的最大 SID 栈深度
- 通过 OSPF LSA 通告给其他节点
- 用于路径计算和流量工程
段路由算法支持 (Segment Routing Algorithm Support)
该模块支持以下配置:
- 前缀段标识符 (Prefix Segment Identifier, Prefix-SID): 与前缀关联的 SID
- 邻接段标识符 (Adjacency Segment Identifier, Adjacency-SID): 与链路关联的 SID
- 算法类型 (Algorithm Types): 最短路径优先 (Shortest Path First, SPF)、Strict SPF 等
OSPFv2 和 OSPFv3 支持
该模块同时支持:
- OSPFv2 [RFC2328] [RFC8665]: IPv4 网络
- OSPFv3 [RFC5340] [RFC8666]: IPv6 网络
两个协议版本共享相同的段路由配置模型结构.
配置层级 (Configuration Hierarchy)
routing-instance
└── routing-protocol (OSPF)
└── ospf
├── segment-routing
│ ├── enabled (true/false)
│ ├── srgb
│ │ ├── lower-bound
│ │ └── upper-bound
│ ├── srlb
│ │ ├── lower-bound
│ │ └── upper-bound
│ └── msd
└── areas
└── area
└── interfaces
└── interface
└── segment-routing
└── adjacency-sid
状态数据 (State Data)
该模块还提供运行状态数据, 包括:
- 当前活动的 SRGB/SRLB 范围
- 已分配的 Prefix SID
- Adjacency SID 状态
- MSD 能力
与 OSPF 基础模型集成 (Integration with OSPF Base Model)
该模块通过 "augment" 语句扩展 OSPF 基础 YANG 模型 [RFC9129]:
- 添加段路由专用配置节点
- 扩展接口配置以支持 Adjacency SID
- 添加与段路由相关的 LSA 状态信息
兼容性考虑 (Compatibility Considerations)
该模块设计确保:
- 与不支持段路由的 OSPF 实现保持向后兼容
- 段路由功能可以作为可选项配置
- 可与传统 OSPF 流量工程共存