Summary

  • 一份 ONSEN 问题陈述个人草案指出,即使 API 来自相似 YANG 模型,它们对生命周期、有效性、时长与反馈的解释仍可能不同。-01 版已于 2026 年 8 月 19 日到期,不是 WG 采纳文档或 IETF 共识。
  • 订单受理、目标配置、实际应用、观测健康和商业关闭是不同命题。某一层亮绿灯,不能替其余层证明“活跃”“到期”“回滚”或“关闭”的含义。
  • Daniel Kade 建议为重要状态跃迁建立“服务语义凭据”,绑定精确意图、状态词汇、时间基准、分解关系、转换、执行证据、决定权限和关闭证明。这是编辑性建议,不是 ONSEN 要求。

同一种结构可以承载多种终点

这个场景不需要攻击者,也不需要错误解析器。一位客户购买一段有明确起止时间的高带宽连接。商业系统保存订单,服务编排器把目标分解为网络服务,控制器再把它变成多个网段与设备配置,遥测和保障系统观察网络行为。

到点以后,商业系统的“完成”可能只表示停止计费;编排器的“过期”可能表示不得续期;控制器的“正在撤销”可能只证明删除请求已经发出;设备的“活跃”则可能说明配置仍在运行。健康评分如果依赖旧一轮观测,也可能暂时保持绿色。

这些描述各自在本地都可以正确。政策镜像藏在它们之间的连接处:总览页面把不同权限范围内的事实压成一个状态,让最容易展示的那一层不经决定便替整个服务发言。

YANG 能精确定义节点、类型、约束、操作与通知,却不会自动指定谁拥有最终解释权。两套系统完全可以接受相同结构,同时对跃迁生效点、时钟、部分失败、回滚和闭环责任作出不同判断。

ONSEN 草案的真实边界

draft-xie-onsen-problem-statement-01 把“服务语义”定义为 YANG API 暴露的运行含义,包括生命周期行为、有效性、时长和反馈,而不是 YANG 语法。它指出,相似模型生成的 API 在厂商、系统和部署之间仍会分化,迫使运营者在标准抽象之外建设专用适配。

文中的 DTS-I 示例是一种面向大规模数据传输的临时服务,需要高带宽、可预测时段和跨异构甚至跨运营者域的协调。订单示例含起始时间、结束时间和带宽。实现链条穿过 BSS、网络编排器、控制器、接入段、VPN 段与数据中心出口。一份意图因此成为多个由不同系统管理的对象。

草案进一步列出实例化、监控、排障、修改和退役流程的碎片化。不同层往往缺少一致的生命周期假设,现有抽象也常缺少激活、时长、到期和回滚构件。看似相同的指标可能采用不同定义、单位、范围与更新频率。偏重配置的抽象通常不能充分证明所求行为已经落实且持续有效。

制度状态不能夸大。-01 版发布于 2026 年 2 月 15 日,文本写明 8 月 19 日到期。本文截点访问的 Datatracker 页面仍将它标为活跃个人草案,但它没有 IETF 标准流程中的正式地位;运行考虑与安全考虑两节仍未完成,而且草案明确不提出具体解决方案、协议或数据模型。

ONSEN 本身是已有批准章程的活跃工作组,范围包括维护抽象模型以及界定 YANG 服务 API 与 OSS/BSS 的接口。章程赋予工作组未来工作的边界,不会倒推个人草案已经获得采纳或共识。

模型不是跨层状态条约

RFC 8969 将模型分成面向客户的服务层、网络层和设备层,并描述意图下行与运行信息上行。它是代表 IETF 共识的信息类 RFC,但没有承诺所有实现共享一套状态机。

RFC 8342 区分目标配置、已应用配置和系统状态。转换、缺失资源、传播延迟及协议交互都可能让数值与生命周期出现差别。因此,“提交成功”不能被提升为“服务承诺已经兑现”。

RFC 9417 对保障问题说得更直接:已应用配置并不意味着已开通服务正按预期运行。它以保障图连接服务实例、子服务、健康度和症状;RFC 9418 提供相应 YANG 模块。这些机制能暴露差异,但若没有外部连接,仍不能恢复客户购买的时段和谁有权宣布结束。

RFC 8299 描述客户视角的 L3VPN 服务模型,RFC 9182 描述运营者视角的 L3VPN 网络模型。字段映射是必要条件,却不能单独证明底层哪一个跃迁满足上层哪一项义务。RFC 9834 又把承载与接入电路的管理状态和运行状态分开,明确目标不应被观测结果改写。

六盏绿灯是六种命题

受理只证明边界接受请求;校验只覆盖该边界已知的约束;提交证明一次事务;目标状态说明系统打算应用什么;已应用状态说明实际在用什么;观测健康则依赖指标、规则、范围和时间。

商业关闭可能停止计费或客户义务。资源关闭还须确认隧道、地址、凭据和监控订阅已经释放。“订单已关”不会自动完成这些动作。可靠自动化首先要保留这些动词的区别。

服务语义凭据

Daniel Kade 建议为每次实质跃迁建立服务语义凭据。它不是新的 YANG 标准,也不要求所有域采用同一状态词典;它记录词典之间的翻译。

第一部分固定订单与意图摘要、模型及模块修订、启用特性、偏差、扩展和所请求的精确跃迁。第二部分记录激活目标、时长、到期、时区、时钟来源、宽限期,以及事件发生时间和观测时间的差别。

分解部分用稳定标识连接客户服务、网络服务和设备实例,并给每个适配器和转换标版本。把“18 时前完成传输”转换成“保留带宽至 18 时”,不再是隐形实现细节,而是需要承担责任的政策选择。

证据部分并列受理、校验、提交、目标、应用与观测时间,保留管理状态、运行状态、指标单位、范围、新鲜度和保障症状。若它们冲突,凭据展示冲突而不是平均成绿色。

权限部分明确每层谁可激活、修改、取消、重试、补偿、回滚和关闭。批准者可以是角色或有边界的自动化,不一定公开个人姓名,但其授权必须能独立核验。

最后,关闭部分列出已释放资源、残留配置、迟到证据、计费终止和无法证明的事项。凭据自身也有期限;昨天对齐的证据不能证明今天已修改的服务。

RFC 9968 保存了 IAB NEMOPS 研讨会记录,其中涉及生态碎片化、服务级模型、观测、映射和可验证配置。它是信息类研讨会报告,明确说明参与者观点不一定代表 IAB,叙述也不一定形成共识。它能证明问题讨论存在,不能替本文建议授予权威。

时间字段必须携带制度含义

很多生命周期错误不会表现成格式错误。两个系统都能正确解析同一时间戳,却仍可能对它作出相反动作。一个系统把结束时刻视为最后可用瞬间,另一个把它视为撤销动作最早开始的时刻;一个按客户所在地计时,另一个按控制器时区执行;一个允许完成在途传输,另一个在边界到来时立即拆除。

因此,单列 start 与 end 并不足够。凭据需要说明边界是否包含、宽限是否适用于新流还是全部流、时钟偏差如何处理、错过激活窗口是否自动取消,以及重试会继承旧期限还是创建新时期。否则,精确的时间值反而会掩盖不精确的决定。

这也是为何状态更新不能脱离证据时期。观测时间说明何时看见事实,事件时间说明事实何时发生,处理时间说明系统何时将它纳入决定。三者相等是一种便利,不是可预设的保证。跨域服务中,迟到消息、重放、批处理和断链恢复都会打乱顺序。

组合服务不能只保存总状态

DTS-I 示例由多个网段构成。若总状态只有 active 或 failed,系统就无法表达“接入已拆除、VPN 仍保留、数据中心出口等待确认”这类关键中间态。将其硬压成失败会丢失已完成工作;压成活跃则会隐去残留资源。

服务语义凭据应保存组件状态与聚合规则。聚合规则必须说明:全部组件成功才算建立,还是关键路径可用即可;某个冗余组件降级是否改变客户义务;哪个症状触发自动补偿;哪个残留项阻止关闭。规则本身有版本,因为修改聚合逻辑会改变相同遥测对应的结论。

对于跨运营者边界,不能要求公开内部拓扑或商业条款。外部证明可以只暴露承诺、状态摘要、证据时期和责任接口,同时用受保护引用保留详细记录。隐私并不要求把“未知”伪装成“成功”。

回滚不是一个方向相反的提交

把新配置撤掉,未必恢复旧服务。资源可能已经重新分配,旧凭据可能已经吊销,数据可能已转移,外部系统可能已根据成功通知采取动作。某个控制器能回到旧配置,不代表商业订单、保障基线和相邻域也同时回到旧时期。

所以回滚部分需要区分技术还原、业务补偿和证据更正。技术还原说明哪些状态可恢复;业务补偿说明无法恢复时由谁承担影响;证据更正保留原决定并追加新判断,而不是覆盖历史。只有这样,自动化才不会把“最后写入成功”误报成“先前影响不存在”。

冻结来源没有证明任何具名运营者发生过开篇情形,也没有给出通用状态机、超时或治理方案。可证结论更窄:兼容结构可以传递不同制度含义。自动化要可治理,就必须保留各层真实状态,并证明它们之间的转换和关闭。

来源

  1. https://heng.lu/the-policy-mirror/
  2. https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
  3. https://heng.lu/on-why-btw-media-exists-and-why-reality-not-advocacy-is-the-product/
  4. https://datatracker.ietf.org/doc/html/draft-xie-onsen-problem-statement-01
  5. https://datatracker.ietf.org/doc/draft-xie-onsen-problem-statement/
  6. https://datatracker.ietf.org/doc/draft-xie-onsen-problem-statement/history/
  7. https://datatracker.ietf.org/group/onsen/about/
  8. https://www.rfc-editor.org/info/rfc9968/
  9. https://www.rfc-editor.org/rfc/rfc8969.html
  10. https://www.rfc-editor.org/rfc/rfc8342.html
  11. https://www.rfc-editor.org/rfc/rfc9417.html
  12. https://www.rfc-editor.org/rfc/rfc9418.html
  13. https://www.rfc-editor.org/rfc/rfc8299.html
  14. https://www.rfc-editor.org/rfc/rfc9182.html
  15. https://www.rfc-editor.org/rfc/rfc9834.html