摘要

  • RFC 9972 为 BMP 增加 64 位 Gauge,用于报告 pre-policy 与 post-policy Adj-RIB-In、特定 Adj-RIB-Out 视图,以及部分类型的 Loc-RIB 中的当前路由数量。计数所处的阶段是事实的一部分。
  • 一个 Gauge 只能证明一个限定范围内的总数;它不能指出哪条路由、解释策略、证明 UPDATE 已到达对端、FIB 已安装,或证明数据包已转发。

先问这个数站在哪一层

“路由器有九十万条路由”听起来像完整结论,实际上首先缺少位置。Adj-RIB-In 保存从对等体收到而尚未处理的路由信息。pre-policy 视图在入站策略之前;post-policy 视图已经经过入站策略,却仍在形成 Loc-RIB 的最佳路径选择之前。Loc-RIB 是本地 BGP 决策过程选出的结果,也可能包含 IGP 或本地静态路由导入的内容。Adj-RIB-Out 则是为特定对等体准备广告的视图。

这些不是同一张表的不同叫法。一条信息可以在其中一层被接受、改写、压制、选择或排除。把某一层的总数搬到另一层去叙述,会把有限测量误写成全链路事实。

RFC 9972《Advanced BGP Monitoring Protocol (BMP) Statistics Types》发布于 IETF 标准轨道。Mukul Srivastava 与 Changwang Lin 是编辑,Yisong Liu 与 Jinming Li 是共同作者。该文在保留 RFC 7854 Statistics Report 格式的前提下新增 Gauge,目的是让运维和排障能得到更细的路由观测,而不是承诺一个数字会包含所有控制面与数据面的因果关系。

类型 18、19 分别报告全局及每个 AFI/SAFI 的 pre-policy Adj-RIB-In 当前数量;20、21 报告 post-policy 数量。类型 22 的含义尤其值得保留:它是策略配置正在改变时,被入站策略拒绝的当前每 AFI/SAFI 路由数量,并非旧式单调递增事件计数器。类型 23 则报告 post-policy 中当前被接受的数量。每一个值都在回答“此时、此处、有多少”,而不是“哪一条路由经历了什么”。

总数不是路由的履历

post-policy 数量增加,不能告诉我们新增的是哪个前缀、来自哪个 peer、带着怎样的 AS_PATH 或 community、被哪一版策略接受。它也不能证明该路由进入 Loc-RIB、为某个 peer 形成出站视图、实际发出了 UPDATE、被编程进 FIB,或者承载了任何用户流量。

被拒绝的总数同样不能代替逐路由证据。它可提示策略变化正在影响一个路由群体;要解释具体拒绝,仍需前缀、属性、peer、策略版本、匹配规则、时间和结果。若要声称“已选择”“已通告”“已装入 FIB”或“已送达”,则必须把相应层真正观测到的记录接进来。

这不是贬低遥测。恰恰相反,Gauge 可以把调查带到正确的 AFI/SAFI 或策略阶段。只是仪表盘不能替它补写它从未看见的字段。把全局、分区和单路由追踪并列,才会形成可核验的运行视图。

不相等也可能是诚实的观测

RFC 9972 允许全局统计与其 AFI/SAFI 分项同时报告,却明确不允许把它们强行当作严格相等。生产者和收集器可以做一致性检查,但不能假定严格依赖;竞态或部分失败会造成各分项之和不同于全局值。规范要求把差异记录为告警,而不能让它中断协议运行。

这个保留很重要。差异可能来自不同采样时间、异步更新、不完整报告或实现缺陷。它应当触发带时间戳的核验,而不是立刻被定性为路由表损坏、恶意行为或服务故障。把“看起来不整齐”的证据抹平,反而会丢掉最有价值的排障线索。

Gauge 也有连续性问题。手动清零或溢出都可能令其重置;RFC 9972 要求生产者与收集器跟踪并记录这种不连续。没有这条记录,曲线突然下降很容易被虚构为路由撤回,或突然恢复。

共同格式不替运营者作决定

规范的共同层很窄:全局值是一个 64 位 Gauge;AFI/SAFI 视图携带 AFI、SAFI 和 64 位 Gauge;未知 Type 必须忽略。若某些统计依赖 GR、LLGR、RPKI 或其他功能,只有功能启用时才应生成。Type 被标准化,不等于观察到的路由器启用了该功能。

报告间隔、限速、启用哪些子集、告警阈值以及如何解释分项差异,仍由当地运行者决定。RFC 9972 建议限速并只启用必要统计,以免额外压迫控制平面。这种本地责任并不是空白,而是最低共同规范之后应保留的选择。

这正符合 Heng Lu 的 Running-Code Primacy:标准使观测名称和范围可互认;运行中的系统仍需给出生产者、时间、配置、重置状态以及支撑更大结论的其他记录。Gauge 因为不越界,才真正可用。

Sources