摘要

  • RFC 9826 定义 ietf-pcep 与 ietf-pcep-stats,让不同实现能以共同结构展示 PCEP 配置、状态、会话、通知、RPC 和计数器。
  • <operational> 中有值只证明某个管理端点在某个时刻给出该投影;必须连同 origin、读取时间、计数器 discontinuity 和管理权限理解。
  • 领导层要把模型符合性、管理来源、PCEP 会话、控制器决定、PCC 接受、设备应用、转发状态和业务结果拆成独立收据。

最容易误导决策的,不是一棵残缺的数据树,而是一棵看起来无所不包的数据树。实体为 up,对端地址存在,会话已建立,LSP 数据库有版本号,PCReq 与 PCRep 计数同时增长。屏幕上的每个值都可能是真的;整张屏幕却仍回答不了对端是谁、数据有多新、谁有权修改、PCC 是否接受、设备是否应用、包是否转发以及业务是否达到目标。

RFC 9826 的贡献是建立共同的 YANG 1.1 管理表达。ietf-pcep 组织本地实体、对端、会话、通知和 RPC,ietf-pcep-stats 增加响应时间、消息计数与遥测。RFC Editor 记录、Datatracker 记录、勘误查询和 IANA YANG 登记确认文档与命名空间身份,不确认任何具体厂商已经正确实现,更不确认线上结果。

同一棵树里的“想要”与“做到”

实体分支同时提供可写的 admin-status 和只读的 oper-status。前者是操作者或实现默认值设定的目标,后者是系统尝试抵达该目标的当前状态。把 admin-status=true 当成服务已启动,就是把意图冒充结果。

NMDA 进一步区分 <intended> 与 <operational>。后者不只含 config false 状态,还含实际应用的意图配置、动态配置、学习值、系统值、默认值与系统状态。origin 可以标明 intended、dynamic、learned、system、default 或 unknown。它解释值从哪里来,却不认证远端 PCEP 对端、不标记某次协议报文时间,也不观察数据面。

YANG 1.1 规定模型如何表达;NACM 决定管理用户能读写哪些节点、能否接收通知或调用操作。语法有效、会话认证、权限允许与操作正确是四件事。RFC 9826 要求 NETCONF/RESTCONF 等管理协议使用安全传输和双向认证,但通过认证的管理主体仍可能被赋予过宽权限。

对端行是本地索引,会话行是时间切片

模型以 IP 地址为 peer 键,可保存角色、能力、委托偏好与认证配置。地址有利于运维索引,不是对远端机构的持久身份证明。基础 PCEP 要求双方都收到 Keepalive 后才算会话建立;建连碰撞窗口内,同一实体对可短暂出现一条本地发起和一条远端发起的候选会话。RFC 9826 因此用 initiator 区分,随后淘汰其中一条。

所以 session-up 必须带上读取时刻、state-last-change、传输连接和对端认证证据。本地与远端 session ID 用于排障,不是全球身份。会话协商出的 keepalive/dead timer 只属于这一会话 epoch。

通知覆盖 session up/down 与本地/对端 overload 及其清除。NACM 可能因订阅读权限不足而丢弃通知;收集器断连也会形成空窗。没有收到事件,不能推出事件没有发生。可靠做法是记录订阅世代与缺口,再用状态读取对账。

计数器先要说明从何时开始数

统计模块记录 PCReq、PCRep、PCErr、PCNtf、Keepalive,以及 stateful 报告、更新与初始化报文,还给出响应时间平均值和高低水位。discontinuity-time 划定计数 epoch;会话统计在会话断开时丢失。局部 action 可以清空容器统计,可选全局 RPC 可以清空所有对端和会话统计。

因此,“今天 900、昨天 1000”不能直接解释为负载下降。它可能意味着 reset、重启或会话更换。reset-at 与 reset-finished-at 也不是同一时刻。pcupd-sent 增长只说明实现统计了该类报文,不说明路径计算正确、远端接受或硬件已经下装。

trigger-resync 可以要求 PCE 对特定 PCC 发起状态重同步,用于 sanity check。RPC 被接受只是操作回执,不是同步完成或状态一致。RFC 9826 明确警告,未授权调用可能让 PCEP 会话陷入持续同步;未授权全局 reset 会破坏监控。因此必须分别保存管理主体、NACM 决定、RPC 输入、服务器回执、PCEP 交换与最终对账。

LSP-DB 的可见性止于控制器

stateful PCE 的 operational datastore 可维护以 PLSP-ID、PCC 地址和 LSP-ID 为键的 LSP-DB,并链接通用 TE 状态。RFC 8231 拥有同步、委托、PCRpt 与 PCUpd 的协议语义。数据库已填充是重要控制器证据,却不是线卡或 FIB 的直接读数。

相邻机制也不能被这篇文章吞并。RFC 9504 保留 GMPLS 有限委托边界;RFC 9830 保留 BGP/SR Policy candidate path 到 headend 的接受边界;RFC 9863 保留 PCEP Color 语义;RFC 9916 保留 PCEPS TLS 版本与 early data 禁令。RFC 9826 只把相关能力与状态投影到管理面,不替它们证明成功。

它还把 YANG 节点与旧 PCEP MIB 的实体、对端、会话、统计和通知对象逐项对应。这有利于迁移;如果两种视图都来自同一内部计数器,它们相符也不是两个独立见证。

Heng Lu 的 Running-Code Primacy 提供本文的纪律:协调文档不能凌驾于运行事实。Minimum Initial Specification 把共同结构与后续本地决定分开。Reality, Not Advocacy 要求在证据终点停笔。这是作者采用的分析方法,不是给 IETF 追加的设计意图。

一条可辩护的链至少包括:模块与 feature 身份、datastore、origin、读取时间与 epoch、管理认证与授权、PCEP 传输与对端身份、协商会话、控制器请求、PCC 回执、设备应用、转发观察和业务结果。RFC 9826 让前半段更统一。它没有让后半段自动发生。