摘要

  • OPSAWG 于 9 月 28 日更新的 QUIC/IPFIX 第01版仍是工作组 Internet-Draft,不是 RFC,也没有完成新字段编号分配。
  • 草案给数据报边界、单包处理、字段存在和本地导出各留一项状态;把它们压成一个“没有”,会制造错误的否定证据。

“空白”是运维看板里最容易被过度解释的符号。它可能意味着观察点确实没有得到某个值,也可能意味着软件看到了包却无法识别后续边界。若采集策略把已得到的值从出口删掉,结果同样可能显示为空。最终读者若只见到一个空格,无法判断究竟是哪一层断了。

draft-ietf-opsawg-ipfix-quic-header-01 把这一问题写进了记录结构。与第00版提出的七个 QUIC 信息元素相比,新稿提出 24 个,并组织为四种导出方案:线路上的数据报观测、端点单包观测、流汇总,以及可选的连接状态。最值得注意的是第一种方案的计数单位。它对一个完整 UDP 数据报生成一条顶层记录;一个数据报内若封装多个可界定的 QUIC 包,这些包按顺序成为子记录,并保留相对偏移。不能把每个子包任意提升为互不相关的顶层记录,再以数量相加代替原始数据报。

新稿没有用一个总分概括观测质量。quicDatagramParseStatus 说明数据报中的包边界是否全部被枚举;quicProcessingStatus 说明具体包处理到了哪一步、为何停止;quicExportFlags 则专门标出本地策略抑制或资源、大小限制导致的导出缺口。三者可以同时给出不同答案。即使某个包内容因截断无法完成处理,外层边界仍可能已识别;即使边界和处理都成功,本地导出规则也可能省略字段。

固定 IPFIX 模板还有另一种陷阱:模板列出的字段每条记录都要有编码位置。quicFieldPresence 用位标记告诉接收端,零值或空字节串究竟是有意义的实值,还是必须忽略的占位符。没有这一步,真实的零长度字段与“此处无可用值”很容易混成同一种空白。字段存在标记解决的是记录解释,不是身份认证,更不能把 IPFIX 的空位直接当成原始 QUIC 流量不存在该字段的证据。

遇到不支持的 QUIC 版本,通用不变字段也未必足以继续找出后续包边界。草案允许保留之前已完整界定的包,并标出终止处的部分观测;它明确不允许因此断言后面没有合并的包。线路观测方案本来就不导出包序号、帧类型和流 ID;这些值未出现在该方案里,不等于它们未出现在通信中。

这是一套提议中的记录语义,不是实际部署调查。IANA 编号仍为待定,Datatracker 仍把文档列为 I-D Exists。第01版改变了可以如何表达未知,却尚未证明真实出口已按其表达。

来源