3. IS-IS段路由MPLS数据平面YANG模块 (IS-IS Segment Routing over MPLS YANG Module)
本节介绍用于MPLS数据平面上IS-IS段路由扩展的完整YANG模块。
模块结构 (Module Structure)
ietf-isis-sr-mpls YANG模块扩展了IS-IS基础YANG模型 [RFC9130],并与段路由基础模块 [RFC9020] 集成。
模块头部 (Module Header)
module ietf-isis-sr-mpls {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-sr-mpls";
prefix isis-sr-mpls;
import ietf-routing {
prefix rt;
reference
"RFC 8349: A YANG Data Model for Routing Management
(NMDA Version)";
}
import ietf-segment-routing-mpls {
prefix sr-mpls;
reference
"RFC 9020: YANG Data Model for Segment Routing";
}
import ietf-isis {
prefix isis;
reference
"RFC 9130: YANG Data Model for the IS-IS Protocol";
}
organization
"IETF LSR - Link State Routing Working Group";
contact
"WG Web: `https://datatracker.ietf.org/wg/lsr/`
WG List: <mailto:[email protected]>
Editor: Stephane Litkowski
<mailto:[email protected]>
Editor: Yingzhen Qu
<mailto:[email protected]>
Editor: Acee Lindem
<mailto:[email protected]>
Editor: Ing-Wher Chen
<mailto:[email protected]>
Editor: Jeff Tantsura
<mailto:[email protected]>";
description
"此YANG模块定义了用于MPLS数据平面上IS-IS段路由(SR)扩展的
配置和运行状态。
此YANG模块符合RFC 8342中描述的网络管理数据存储架构(NMDA)。
版权所有 (c) 2025 IETF Trust及代码作者。保留所有权利。
允许以源代码和二进制形式进行再分发和使用,无论是否修改,
前提是遵守IETF Trust关于IETF文档的法律规定中规定的修订版BSD许可证
(https://trustee.ietf.org/license-info)。
此YANG模块版本是RFC 9902的一部分;
完整法律声明请参见RFC本身。";
revision 2025-12 {
description
"初始版本。";
reference
"RFC 9902: A YANG Data Model for IS-IS Segment Routing
over the MPLS Data Plane";
}
}
关键数据节点 (Key Data Nodes)
段路由激活 (Segment Routing Activation)
模块提供enable叶节点来激活IS-IS SR MPLS功能:
路径 (Path): /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/segment-routing/enabled
类型 (Type): boolean
默认值 (Default): false
启用后,路由器根据基础SR模块中的SRGB/SRLB配置广播SR能力。
映射服务器配置 (Mapping Server Configuration)
广播策略 (Advertise Policies):
- 路径:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/segment-routing/bindings/advertise/policies - 类型: 映射服务器策略名称的leafref
- 描述: 控制在IS-IS中广播哪些映射服务器策略
接收绑定 (Receive Bindings):
- 路径:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/segment-routing/bindings/receive - 类型: boolean
- 描述: 控制是否接收和处理映射服务器条目
TI-LFA配置 (TI-LFA Configuration)
模块扩展IS-IS接口快速重路由配置以支持拓扑独立环回自由备选 (Topology Independent Loop-Free Alternate, TI-LFA):
路径: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/interfaces/interface/fast-reroute/ti-lfa
配置选项:
- enable: 启用/禁用TI-LFA
- level: 应用于level-1、level-2或两者
- node-protection: 启用节点保护
运行状态数据 (Operational State Data)
路由器能力 (Router Capabilities)
模块扩展IS-IS路由器能力以包括:
SR能力 (SR Capability):
- 路径:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/router-capabilities/sr-capability - 内容:
- SRGB范围
- 支持的SR算法
- MPLS封装能力
SR算法 (SR Algorithms):
- 路径:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/router-capabilities/sr-algorithms - 类型: 算法标识符列表
- 常见值:
- 0: 最短路径优先 (Shortest Path First, SPF)
- 1: 严格最短路径优先 (Strict Shortest Path First)
本地块 (Local Blocks):
- 路径:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis/router-capabilities/local-blocks - 内容: SRLB范围信息
LSP数据库扩展 (LSP Database Augmentations)
模块向IS-IS LSP数据库条目添加SR特定的TLV:
前缀段标识符子TLV (Prefix-SID Sub-TLV):
- 算法标识符
- SID/索引/标签值
- 标志位 (R标志, N标志, P标志, E标志, V标志, L标志)
邻接段标识符子TLV (Adjacency-SID Sub-TLV):
- 标志位 (F标志, B标志, V标志, L标志, S标志, P标志)
- 权重
- SID/标签/索引
SID/标签绑定TLV (SID/Label Binding TLV):
- 前缀
- 范围
- SID/标签映射
核心术语 (Core Terminology)
Prefix-SID (前缀段标识符)
与IP前缀关联的段标识符。Prefix-SID在SR域内是全局唯一的,代表到达前缀的ECMP感知最短路径。
关键属性:
- 全局范围 (Global Scope): 使用SRGB标签范围
- 算法 (Algorithm): 与特定算法关联 (例如SPF)
- 节点SID (Node-SID): 当前缀是路由器环回地址时
Adjacency-SID (邻接段标识符)
表示到相邻路由器的特定邻接的段标识符。
关键属性:
- 本地范围 (Local Scope): 使用SRLB或动态标签范围
- 严格转发 (Strict Forwarding): 流量专门通过该邻接转发
- 保护 (Protection): 可由备份路径保护
SRGB (段路由全局块)
SR域内为全局段保留的标签范围。所有节点应具有一致的SRGB配置以确保SR正常运行。
SRLB (段路由本地块)
为本地段保留的标签范围。SRLB标签仅具有本地意义,不在域范围内传播。
MSD (最大SID深度)
节点可以在数据包上施加的最大SID数量。此值被广播以帮助路径计算引擎确定可行的SR路径。
使用示例 (Usage Example)
完整配置示例请参见 附录A。
完整模块定义 (Complete Module Definition)
完整的YANG模块定义 (包括所有数据节点、扩展和通知) 请参考:
- 官方RFC文本: RFC 9902
- YANG模块仓库: IANA YANG Parameters
注意: 完整的YANG模块代码 (约500多行) 包括每个数据节点的详细描述、约束和参考。网络运营商应使用YANG验证工具确保配置符合模块的约束。