摘要
draft-ietf-netconf-yang-notifications-versioning-16允许订阅以精确修订日期或兼容语义版本约束一个具名模块,并在订阅状态变化时报告与路径相关的模块坐标。- YANG Library 的
content-id覆盖整台服务器更宽的模型状态:它能在直接模块未变时暴露导入依赖的变化,却不会指出变化源,也不能证明不兼容。 - 安全继续需要把状态通知、库快照、依赖闭包和解码器批准串成证据链;任何一个字段都不能单独充当兼容证明。
一条遥测消息可以格式完整、传输无损、签名正确,却仍被错误解释。问题不在字节,而在接收端用的是哪一版模型。
YANG-Push Notification Versioning 第 16 版要补的正是这张收据。既有 YANG-Push 可以建立订阅并持续推送数据,却没有在订阅机制中携带被订阅模块的修订版本。设备升级后,模型可能变化,接收端仍沿用旧解码器,而且没有直接信号告诉它假设已经过期。
第 16 版定义 ietf-yang-push-revision。请求方可对具名模块指定精确 YANG 修订日期,也可请求与某一语义版本兼容的最新版本。服务器无法满足时,需返回 invalid-value,并进一步给出 revision-unsupported、version-unsupported 或 incompatible-revision-and-version。这让“拒绝”本身也成为可分类的证据。
状态通知则构成第一张、较窄的收据。草案为 subscription-started 与 subscription-modified 增加模块名、修订日期、可选版本和 yang-library-content-id。受跟踪模块的修订或版本在订阅生命周期内变化时,属于策略变化,必须触发 subscription-modified。若设备重启后,Publisher 的 YANG Library 已不再满足持久订阅要求的修订或版本,它必须发出 subscription-terminated。
但直接模块并不是全部模型。草案的关键例子订阅 /ietf-interfaces:interfaces。通知会报告 ietf-interfaces 的坐标。如果这个模块自身变化,模块坐标与 content ID 都可能变化。若只改了它导入的 ietf-yang-types,ietf-interfaces 的修订可以完全不动。接收端只能从更宽范围的 content ID 看出设备模型集合发生了变化。
这里不能把 content ID 神化。RFC 8525 中的 YANG Library 用它表示某一服务器当前的库信息;其值由实现定义。它不是可以跨设备比较的通用内容摘要,也不是语义差异报告。数值变化只说明这台服务器所代表的库状态变了,不会指出哪个依赖变化,不会说明变化是否位于订阅路径之下,更不会证明旧解码器一定失败。
它也可能因为与当前订阅毫无关系的模块而变化。若企业把每一次变化都当作不兼容,整库中的无关更新就能频繁暂停业务;若因为直接修订没变而忽略它,又可能让旧依赖图解释新数据。两个极端都把一张收据越权使用了。
因此,模块坐标与 content ID 的管辖范围必须分开。前者说明 Publisher 对选定路径报告的直接模块血缘;后者说明更宽的库状态收据是否仍一致。两者都不能替消费者证明某条查询、数据库模式或自动化动作仍然正确。
可复盘的流程应从能力声明开始:记录 Publisher 身份、是否支持修订模块、订阅本地 ID、过滤器或路径、被接受的模块约束、起始模块坐标及起始 content ID。收到状态变化后,接收端同时比较两个范围。content ID 一旦移动,就重新取得 YANG Library,计算与路径相关的 import/include 依赖闭包,选择或验证解码器,再决定是否向下游放行。
缓冲中的旧消息也要保留其生产时的模型收据,不能用后来取得的新模型静默重解。解码器测试、存储结构兼容、消费者确认和自动化策略各自还需要后续收据;传输层信号不会自动替它们背书。
订阅约束本身是一块敏感控制面。草案允许创建、修改和删除这些约束,并要求只有获授权的主体才能访问或改动;RFC 8341 给出了 NACM 标准模型。能放宽版本条件的人,实际上能改变接收端同意消费哪一种模型状态。这不是普通遥测配置权限。
第 16 版日期为 2026 年 9 月 17 日。Datatracker 历史显示它处于 IETF Last Call,截止 9 月 29 日,冻结记录中没有电话会议日期。Datatracker 还报告 9 月 27 日的 YANG 验证为零错误、零警告;这只说明提交模块通过当时工具检查,不证明实现行为、部署范围或运维正确性。纯文本草案仍是可变更的工作文件,并非 RFC。
RFC 8639定义订阅通知,RFC 8641承载 YANG-Push,RFC 7950规定 YANG 的修订与导入规则。当前的 YANG 模块版本草案和 YANG 语义版本草案本身也尚未成为 RFC;RFC 9196提供了更广的版本选择背景。任何“兼容”标签都不能替一个具体消费者提供存活证明。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

