摘要

  • GROW 工作组当前草案拟为 BMP 的仪表型统计增加测量窗口、样本数、极值、平均值、中位数以及 P5、P95 等分布信息。
  • 草案同时允许周期、事件驱动和混合采集,也没有规定唯一的百分位算法;产生数值的配置不会随 TLV 一起发送。
  • 因此,一个编码完全合法的 P95 可以在本机上很有用,却不能仅凭同名字段就在不同路由器、软件版本或采样策略之间比较。
  • 实际所缺的是由管理面保存的方法谱系回执:对象、窗口、采样触发、缺失处理、算法、时钟质量、版本、责任人和使用该结果的决定。
  • 这份回执是 Daniel Kade 的治理建议,不是 BMP、GROW 或 IETF 的规范要求。

平静快照没有记录窗口里的波动

设想一个收集器每十五分钟收到一次路由数量:十万、十万,仍是十万。三个点连成一条平线,但第一个间隔里,数量可能先降到九万五千,再升到十万五千,最后回到熟悉的位置。每一次快照都正确,图表却没有保存真正需要调查的运动。

GROW 工作组正在推进的 BMP Statistics Information TLV 草案正面处理了这个缺口。01 版发布于 2026 年 9 月 11 日,提议让仪表型 BMP 统计不再只有一个瞬时值:发送者还可附带测量窗口时长、样本数、最小值、最大值、平均值、中位数、P5 与 P95;最小值和最大值另带观测时刻。

这项扩展值得关注,是因为 RFC 7854把 BMP 定位为观察 BGP 会话和路由视图的监测接口,而不是影响选路的路由协议。数值离开设备后会被拿去解释故障、比较容量、调整告警、判断策略变化,甚至支撑采购或预算。传输正确只保证收集器收到发送者所说的内容,并不自动保证这个内容适合所有后续决定。

当前文本仍是 Internet-Draft。Datatracker 历史记录了工作组文档的演进,当前页面没有 shepherd、负责的 Area Director 或 telechat 日期,IESG 状态为 I-D Exists。草案页眉写着 Standards Track,Datatracker 的 intended RFC status 字段却没有给出状态。应保留这个公开记录中的差异,而不是把它改写成已经确定的标准结论。

01 版最有价值的地方并非单纯增加几个统计名词。它一面提高了区间内部的可见度,一面明确承认这些汇总主要具有报告路由器本地意义。新的字段能揭开一部分黑箱,但并没有把本地生成的分布量变成全球通用的事实。

窗口与样本数回答的是最低限度问题

草案区分内部采样间隔和 Statistics Report 的发送间隔。设备可以每六十秒观察一次,却每十五分钟才发送报告。较慢的发送频率降低报文与处理开销,而较快的内部采样仍可能捕获终点快照遗漏的波动。

01 版把测量窗口和样本数放进 TLV,两者都必须大于零。窗口不一定等于相邻两次报告的时间差:会话刚建立、对等体重新进入 Established,或者事件触发了额外报告时,计算区间可能更短。若同一统计值采用不同窗口计算,就必须分开发送相应的 Statistics Information TLV。

样本数为读者提供了必要但有限的分母。一个 900 秒窗口里有十五个观测,和同一窗口里只有两个观测,不能承担同样的解释。样本很少时,平均值、中位数和百分位数的代表性都会减弱;最小值与最大值也只能证明“在被观察的时刻”出现过什么,不能证明两个采样点之间没有更深的下跌或更高的峰值。

这一 TLV 还是可选项。路由器可以完全不发、只为部分对等体启用,或者只为若干统计类型实现。会话建立后的第一份报告可以没有分布信息,也可以基于尚未填满的局部窗口。缺失可能表示未支持、未启用、选择性配置或数据尚未形成,不能反向证明指标一直稳定。

机制只适用于 gauge。单调递增的 counter 具有不同语义,发送者不得为其附加这类分布 TLV;收集器遇到这种引用应忽略,并可记录异常。协议由此约束“什么数可以被这样汇总”,却仍没有回答“这些样本怎样进入汇总”。

同一个 P95 可能有不同的父母

治理边界从报文停止的地方开始。01 版允许周期采集、事件驱动采集、混合采集或其他实现策略。策略改变时,条目仍叫 P95,但构成第 95 百分位的总体可能已经不是同一个总体。

周期采样器只在时钟到点时观察。两次时刻之间的一次短促抖动可能从未成为样本。事件驱动实现则在路由增加或撤回时记录,动荡的一分钟可能贡献大量观测,平静的一小时却几乎没有。混合策略把固定时刻与事件合在一起。这些方法都可能遵循草案,却回答不同问题:前者近似描述“时间上的典型状态”,后者更接近描述“发生变化时的状态”。

即便样本集合完全一致,百分位数也未必一致。草案明确把计算方法留给实现。最近秩法与线性插值法对小样本的 P95 可能给出不同结果。名称越熟悉,读者越容易忽略它背后的选择;熟悉的标签不等于方法等价。

窗口策略又是独立变量。文档说期间由实现决定,通常可以覆盖上次报告以来的时间,但并非必须如此。滑动窗口、互不重叠的固定窗口、事件边界窗口和重启后的局部窗口,即使声称时长相同,也可能选择出不同总体。

最小值与最大值所带的时间戳不能补齐全部谱系。快照、平均值、中位数、P5 和 P95 没有各自的时间位置,时钟精度与准确度也由实现决定。收集器得到的是设备声称看到极值的时刻,不是完整轨迹,更不是时钟质量证明。

所以草案的 Operational Considerations 把结果称为主要具有报告路由器的本地意义。跨路由器汇总需要兼容的窗口和采集配置,而这些配置必须通过管理或配置渠道建立;TLV 本身不输出内部方法。这个限制不是本文猜出的漏洞,而是 01 版主动写明的边界。

注册表能统一名称,不能认证观察实践

草案请求建立 Statistics Information entry type 与 Statistics Information TLV type 的 IANA 注册表,并为最小值、最大值、快照、平均值、中位数、P5、P95 提供稳定代码点。它还请求在现有 BMP Parameters 注册表中标明:这里记录的是关于另一个统计值的元信息。

这解决了词义和代码点协调,却不认证路由器如何取样。注册表可以规定某个条目代表 P95、字段多长、是否带时间戳;若协议没有携带更多信息,它无法告诉分析人员总体来自固定时钟还是事件触发、遗漏样本怎样处理、使用了哪种百分位约定。

RFC 8126给出了 Standards Action、First Come First Served 等注册政策语言。这些程序决定谁有权分配或改变参数,不会把不可见的测量做法变成可互换对象。一个名词可以被全球标准化,它指向的观测仍按本地规则形成。

当前 IANA 页面反映的是已发布分配和临时注册。活跃草案中的新注册表请求表明作者希望协调,并不证明分配已经完成,也不证明文档已经走完标准流程。

01 版同时加强了数值和警告

对照 00 版可以看出修订方向。早期文本已经解释周期报告与内部观测的差别;01 版把窗口时长和样本数加入线路格式,新增 P5 与 P95,使用 BMP 的秒与微秒时间格式,并明确警告百分位算法可能不同,还新设一节讨论本地意义与可比性。

9 月 11 日的 I-D 公告证明新版本的发布事件,不证明每一句新增文字已经形成共识,也不证明存在部署。GROW 章程解释了工作范围:工作组处理全球路由的运营测量与监测,并维护 BMP。

这次修订因此提供了一个更诚实的证据边界。收集器已经可以拒绝若干草率比较,例如窗口不同、样本数悬殊或会话后的首个区间不完整。但若要把两台设备画成同一条可比曲线,仍需从报文之外取得方法说明。

方法谱系回执

实际回应不必把所有分析政策塞进 BMP。更小的做法,是让草案所指向的管理面留下可随测量进入运营证据系统的方法回执。

每条受治理的序列至少应记录:路由器、对等体和被引用的统计值;适用时的 AFI/SAFI;窗口起止与时长;报告和会话边界;采样触发条件或节奏;预期、实际与排除的样本数;缺口与重复值的处理;百分位算法和舍入;时钟来源、分辨率及已知不确定性;软件与配置版本;下游聚合;负责角色;以及何种条件会取代这份记录。

回执不是原始数据的替身,也不要求公开私有配置。它保存的是“允许怎样比较”的最小规则。两台设备方法不同,分析者便可分开序列、带明确警告地归一化,或拒绝比较;软件升级改变算法时,也能形成可见断点,而不是悄悄让历史曲线换了含义。

这是 Daniel Kade 提出的治理工件,并非草案规范、IETF 要求,也不是要求 BMP 传送私密配置。它沿用了 Heng Lu 的两个判断:最小初始规范不必强迫全球采用一种测量方法,但本地未来决定应能被识别;《The Policy Mirror》要求制度描述能照见真正运行的规则与激励,而不是让统一标签掩盖不同做法。

来源