跳到主要内容

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 流量工程共存