摘要
draft-ietf-opsawg-collected-data-manifest-14为遥测数据保存平台、订阅与实际采集周期等上下文,解决“已收到的数字应如何解释”的问题。它仍是处于审议中的 Internet-Draft,不是 RFC 或部署证明。- 草案明确承认一个边界:Data Manifest 本身也是数据,它的采集可靠性与遥测采集相同。因此,存活的清单可以解释存活的数据点,却不能证明预期的数据点或中间清单版本都曾抵达。
- 对容量、故障、安全或自动化决策,运营者应在这条共同采集路径之外保存精简的采集连续性回执,连接订阅意图、实际周期、序列或到达节奏、清单版本、会话边界、重建来源、缺口处置与责任人,而不复制原始遥测。
空白最容易被误写成一个值。折线从 42 降到没有点,图表库可能把线断开,也可能补零,也可能延续上一个值。三种画法会给人三种因果感受,但数据库里真正存在的事实只有一句:在预期窗口内,没有可用数据点。
如果分析者随后找到空白前后的 Data Manifest,他能回答不少问题:数据来自哪个平台,平台运行什么版本,订阅使用什么过滤条件,实际采集周期是否与配置值不同。仍然回答不了的是:空白期间应该有几个点、它们是在设备端没有生成,还是在传输、收集或存储环节消失,以及解释这些点的清单更新是否也一同丢失。
这正是治理边界。上下文让证据更可读;连续性回执让“没有证据”不被悄悄改写成“证据为零”。
先肯定清单解决的问题
网络遥测常把计数器与来源环境拆开。几个月后,分析者还能看到接口字节数,却不知道设备型号、操作系统、软件变体、YANG 模型或订阅选择是否已经改变。同一个数,在十秒采样和六十秒采样中代表的观察能力不同;在不同软件版本中也可能受已知行为或缺陷影响。
第 14 版草案把 Data Manifest 分为两部分。规范性的 Platform Manifest 描述产生遥测的平台。Data Collection Manifest 描述数据怎样、何时被度量;由于设计时的 YANG Schema Mount 能力尚不具备,它被放在附录中作为非规范性示例。两者合起来,目标不是暴露新的业务数据,而是让已经采集的数据保持可解释。
草案还为 YANG-Push 增加只读的 current-period。平台可能因负载提高而自动拉长采集周期,不一定直接拒绝原请求。若系统只保存配置周期,分析者会误以为缺点来自丢包或错误;若能看到平台当时报告的实际周期,至少可以排除一种混淆。
清单需要随数据一起传输、一起进入数据库,并在路由器升级、新建订阅或订阅参数变化时更新。草案把清单本身视作时间序列。这一点很重要:今天的设备清单不能自然覆盖昨天的测量。
current-period 说明当前状态,不自动生成完整历史
假设订阅配置为每十秒一次,平台在 12:00 因过载将实际周期调整为六十秒。如果 current-period 更新先于稀疏数据抵达,空白有了清晰解释。如果更新在 12:03 才被收集,分析者只能知道 12:03 时的状态,不能倒推出调整究竟从哪一秒开始。如果更新与遥测一起丢失,后来看到六十秒也不能证明中间没有出现过别的周期。
只读并不等于自动归档。字段的历史取决于它的变化能否被采集、传送和保存。Data Manifest 可以作为时间序列,但展示两个存活版本并不能证明序列中没有第三个版本。
草案在这一点上非常坦率:清单采集的可靠性与数据采集相同,因为清单也只是数据。复用同一套遥测系统降低了实现成本,也让上下文紧贴数据;代价是二者共享故障域。解释渠道失效时,用来解释渠道的记录也可能失效。
因此要把两个问题分开。Data Manifest 回答“收到的点是什么意思”。运营治理还要回答“为什么当时预期有点、缺点由什么证据发现、原因最终如何判定”。
三个坐标能找到最近版本,却不能证明版本链无缺口
草案用三个坐标把数据点关联到清单:设备发送时间、源平台标识与订阅标识。查询时,系统找到时间戳之前最新的 Platform Manifest,再找到同一平台和订阅下最新的 Data Collection Manifest。
这个规则务实而清楚,但它只在数据库已知记录上运算。若 M1 在 12:00 入库、M3 在 12:10 入库,那么 12:07 的数据会关联到 M1。若 M2 在 12:05 改过过滤条件,却在途中丢失,“最新已知版本”仍会给出形式正确、实质不完整的答案。
平台标识也有边界。草案指出,当前用 hostname 标识的往往是角色,不一定是一块特定硬件。另一处更能说明“验证通过”与“信息充分”的距离:实现被要求至少支持 yang-catalog 或 ietf-system 中的一项功能,但 YANG 模式无法表达或检查“至少一项”。两项都不开启的模块仍可能通过模式验证,却只提供一个平台标识。
模式有效、上下文有用、历史完整,是三个不同判定。把它们合并,就会让工具的成功承担它没有接受的责任。
会话终止是边界证据,但前提是它被收到
Platform Manifest 在一次流式会话内通常较稳定。设备重启时,subscription-terminated 可以标记订阅终止;重新建立订阅后,收集器必须获取可能变化的平台清单。若终止通知、重连与新清单都保留下来,一个新采集时期的边界就很清楚。
若只剩重连,故事仍有多个版本。终止通知可能发出后丢失,传输可能在通知抵达前中断,收集器自己也可能重启。恢复后的第一个点证明恢复后的状态,不证明此前的完整过程。
RFC 8641 为 on-change 更新提供了一个有用线索:当 patch-id 被用作递增计数器时,跳号或乱序能帮助识别丢失记录;重新同步或计数回绕时需要归零。“当它被用作计数器”是必要限定。这个机制不是所有实现与所有流的完整性保证;发现断点也不等于已经知道断点发生在哪一层。
签名保护存在的对象,不能替不存在的邻居签字
Data Manifest 草案把完整性与来源问题交给 YANG provenance 草案。后者以 COSE 对 YANG 数据签名,并可通过会签记录多个主体对同一对象的保管。这能帮助分析者确认一份清单由谁签署、内容是否改变。
签名的结论必须停在对象边界内。M1 的有效签名支持 M1 的来源与完整性,不证明 M2 从未存在。一个数据点的签名能保护这个点,不证明预期的相邻点全部抵达。对不完整集合签名,得到的是“这份集合未被改动”,不是“世界上没有遗漏”。
当设备尚不支持清单模块时,第 14 版允许收集器从标准或厂商特定的多个 YANG 模块中组装清单。这是合理的过渡办法。回执需要诚实标记它是平台直接产生还是收集器组装,并保存组装时间、使用的观察、未知字段与责任人。两种来源是 provenance 状态,不应被偷换成好坏判断。
为负空间保存一张采集连续性回执
回执不应成为第二套原始遥测库。它只保存对重要结论不可缺少的连接关系:
- 申请了什么订阅、过滤条件和周期,以及平台接受、调整或拒绝的证据;
- 平台报告的
current-period,以及该报告实际被观察到的时间窗; - 序列号、预期到达窗口或其他节奏证据,并注明检测能力边界;
- 实际收到的清单版本标识或哈希,及平台生成、收集器组装或混合来源;
- 订阅终止、设备重启、重新同步与重建订阅等时期边界;
- 设备发送、传输接收、收集器入站与数据库落盘的不同时间;
- 每个缺口仍然成立的解释、调查进度、最终处置与置信度;
- 决策责任人、申诉路径、纠正记录,以及因证据不足而撤回的自动化动作。
回执必须允许结论为“尚无法区分”。on-change 流没有点,可能只是没有状态变化;周期流变稀,可能来自已报告的周期调整;订阅明确终止后,本来就不应继续期待数据。控制的目的不是把每个空白都升级为事故,而是先记录什么期待在何时有效。
这张回执应处在不同故障域,却不能脱离安全约束。平台版本和能力信息可能帮助攻击者,草案因此要求访问控制。回执可以使用假名化标识、哈希与时间窗,避免复制接口内容或完整平台明细;运营访问与审计访问也可以分离。
不要把窄范围误解为标准遗漏
草案明确把采集后的数据 lineage 排除在范围外。这个界线合理。若一份标准同时承担平台目录、采集配置、传输完整性、存储保管、每次分析变换、模型训练和最终授权,它会失去可实施性。
第 14 版已经做了多项克制而重要的工作:实际周期而非只有配置周期;可随时间变化的清单;以时间、平台和订阅完成回溯关联;会话重建后的刷新;敏感信息访问控制;以及签名来源路径。最关键的是,它没有掩饰共同可靠性边界。
采集连续性回执因而是运营者在标准旁边承担的本地控制,不是本文替 IETF 写入的新规范。它只应用于空白会影响容量、安全、客户或自动化决定的场景。
截至研究截止时间,第 14 版仍是目标为 Proposed Standard 的活跃 Internet-Draft,当前页面显示 AD Evaluation 的后续处理,未安排 telechat。评审历史是仍在推进的过程,不代表拒绝、批准或已有命名部署。
清单让到达的数据点可以被正确解释。回执让未到达的数据点不能被随意解释。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

