摘要

  • RFC 9968 记录 NEMOPS 研讨会对工具、服务建模、验证和可观测性的讨论。它是 IAB 的信息性研讨报告,不是标准轨道规范,也没有把运营决策权交给任何模型、控制器或自动化平台。
  • 意图配置、已应用配置、运行状态和通知到的变化是不同的记录。它们可以提高判断质量,却不能单独证明覆盖完整、客户接受、因果关系或谁有权承担一次变更的后果。
  • 可解释的自动化必须保留四个层次:服务承诺、带边界的观测证据、精确变更提案和可撤销的本地授权。把它们合并成“单一事实源”,常常把可见性误写成控制权。

控制器成功,不等于服务成功

网络管理系统最容易产生的一种错觉,是把一个内部成功码当成外部结果。控制器把数据写入设备,设备返回成功,流程图变绿。可客户的路径可能仍然异常,保护策略可能没有命中,某个未建模的供应商功能可能改变了行为,或者一次回滚已在依赖链中失去原来意义。成功码是证据,但它回答的是很窄的问题:请求在一个实现范围内是否被接受。

RFC 9968 的价值在于没有回避这种现实。它回顾 2002 年 RFC 3535 所记录的网络管理讨论,并指出今天仍有碎片化的协议、模型与工具:SNMP 和 CLI 依然被广泛使用;许多设备上的 NETCONF 与 YANG 覆盖并不完整;多厂商环境不得不并存多种模型;文档、开源工具和迁移路径仍是阻碍。研讨会强调验证、可观测性、服务层模型和更可部署的工程实践。

这不是对自动化的否定,而是对自动化证据链的抬高。能够验证设备会接受配置,显然优于盲目下发。能够把单台设备对象上升到服务模型,显然更接近真实影响。能够用机箱外适配器连接不同供应商模型,也能减少重复手工劳动。但这些能力都没有回答:哪个承诺允许这次影响、哪些客户在范围内、谁可接受损失、谁能要求停止。

RFC 9968 对自身定位也很明确:它属于 IAB 文档流,状态为 Informational,而不是 Internet Standards Track;它记录参与者展示和讨论笔记,未加解释或验证,除非特别说明并不代表共识,参与者的意见也不一定代表 IAB。这一限制不是需要绕开的附注。它规定了报告可承担的证据角色:保存问题、经验和建议,而不是为一条生产变更制造授权。

RFC 3535 的运营者要求已经给出实用的分界线:区分配置数据、运行状态和统计数据;从配置 A 到配置 B 时尽量减少影响;坚持最小权限;并把配置的分发和激活区分开来。文件送达、模型通过校验、API 账户有权限,都不能替代“是否应该在此时对这些用户激活”的决定。

不应被合并的四本账

第一本是服务承诺账。它写明组织要守住什么:可达性、时延边界、客户交接、关键流量、维护窗口或恢复目标,并写明承诺的责任人。设备配置通常只是实现该结果的一种局部方式。

第二本是观测证据账。它包括遥测、日志、探针、计数器、路由视图、告警和现场判断。证据应带着来源、时间、范围、丢失情况和已知盲区。一个正确格式化的流只能说明发布方报告了什么,不能自动说明世界上没有其他状态;沉默可能是健康,也可能是订阅中断、采集器故障、过滤或模型没有描述该条件。

第三本是变更提案账。它应显示精确差异、设备、服务、客户、时间窗、依赖、预期结果和回退方法。若服务模型通过适配器变为厂商特定命令,必须保存输入、输出和适配器版本。否则事后无法区分:是意图错了、翻译错了,还是设备执行与预期不同。

第四本是授权账。它写下谁可批准什么范围、依据哪些证据、有效到何时、谁可暂停和回滚。这不是要求每个命令都由人手动点击,而是要求自动化规则也有本地所有者、限定作用域、到期条件和撤销路径。没有这本账,速度会逐步伪装成权力。

RFC 8342 的 NMDA 架构区分预期配置、已应用配置和运行状态。这是技术上的分类,不是商业责任或法律授权。它不能裁定一个已应用状态是否履行了客户承诺,也不能判断控制器能否改变它。但它迫使运营者先问:这条记录究竟是哪一种状态,再问它可以支持什么结论。

RFC 6241 提供 NETCONF 的配置管理机制,包括候选、运行配置和 confirmed commit 等表面;RFC 8040 定义 RESTCONF。它们可以让操作结构化、认证化,并在各自范围内支持恢复。它们不知道某家转接客户能否承受中断,不知道某项业务优先级,也不知道谁承担一次错误自动化的经济后果。可写入的能力不是决定后果的权利。

有更多遥测,不代表知道得足够多

RFC 8639 定义 YANG 通知订阅框架;RFC 8641 处理数据存储更新通知;RFC 9196 描述系统能力和数据存储更新通知模块。这些机制使接收方可以获得按约定模式表达的信号,却不保证所有关键条件均被建模、模型映射没有信息损失、流从未缺口,或一次相关性已经证明因果。

危险的推理只有三步:模型显示变更可行;模型于是被当成决定者;变更于是被当成已获授权。第一步可用测试和金丝雀验证。第二步必须有独立来源:运营者的委托、合同、适用的法律边界,以及最终承担客户影响和损失的人。数据树的路径不能产生这些来源。

Heng Lu 关于运行代码优先、最小初始规范与本地化未来决策和现实层次的论述提供了编辑方法:共同表述应促进互操作而非吞没后续选择;应以正在运行的服务结果检验主张;符号层的整洁记录不能取代运行事实。

用故障检验观察与行动的接缝

演练不应止于一笔成功事务。把服务承诺、模型版本、库存、设备能力、证据时效、通知缺口、提案差异、授权记录和独立探针结果连起来。然后故意制造反例:少一个遥测源但服务仍健康;延迟一条通知;让设备拒绝一个模型叶;遇到适配器不支持的功能;引入带外 CLI 改动;在分发和激活之间重启控制器;在批准后扩大目标范围。每一种失败都揭示“看见”为什么不等于“可以无人值守地行动”。

Sources