摘要

  • draft-geng-grow-bmp-monitor-options-00 提议用带内 Enable/Disable 消息声明 BMP 的 RIB 视图或统计项是否仍在监控。00 版只是个人互联网草案,消息类型仍是尚未分配的 TBD2。
  • RIB Disable 会改变数据库:收集器被要求立即清除相应 <Peer, AFI, SAFI> 视图。双向认证保护传输通道,却不能代替操作者授权、精确范围、可审计删除回执和重新启用后的完整性证明。

某个路由收集器四十分钟没有收到更新。它可能正在观察一张稳定的表,也可能早已失去某个地址族的输入。TCP 会话可以在两种情况下都保持正常,而旧数据仍被下游系统当作当前状态。

2026 年 9 月 30 日发布的 BMP Extension for Monitoring Options (MO) Notification 正面处理了这个问题。草案让 BMP 发送方明确列出哪些监控处于启用或停用状态。这是对可观测性缺口的合理修补,但同时改变了消息的权力属性:Disable 不只解释沉默,它还要求收集器删除数据。

必须先把文件地位说清楚。00 版是拟定 Standards Track 的个人工作草案,2027 年 4 月 3 日到期。它不是 RFC,不代表工作组共识,也不能证明已有产品部署。TBD2 只是待分配位置,不是 IANA 已登记编号。

沉默本身没有原因

RFC 7854 用结构化方式输出 BGP 邻居状态、路由与统计信息;RFC 8671 和 RFC 9069 又扩展到 Adj-RIB-Out 与 Local RIB。然而,基础协议没有带内方式说明运营人员刚刚改变了发送方的监控配置。

没有这层声明,收集器无法从“没有新消息”推断原因。也许没有路由变化,也许过滤器改变了,也许某个 AFI/SAFI 被停用。把沉默直接解释成稳定,会让陈旧视图继续冒充现场状态。

拟议的 RIB Options PDU 细分了范围:RIB 类型可以是 Adj-RIB-In、Adj-RIB-Out 或 Loc-RIB;策略阶段可以是 Pre-Policy 或 Post-Policy;标志位表示 Enable 或 Disable;随后列出一个或多个 AFI/SAFI。消息在 BMP Common Header 之后,还可能带 Per-Peer Header。统计项另有一种 PDU。

这些字段共同决定删除半径。“BMP 已停用”不足以成为审计记录。必须保留发送方、邻居、RIB 表面、策略阶段、AFI、SAFI 与时间,才能回答究竟删了什么。

一条通知触发一次破坏性变更

草案给出的流程很直接:当运营人员停用某一地址族的监控,发送方必须立即发出 MO Disable;收集器收到后,必须立即清除属于该 <Peer, AFI, SAFI> 视图的全部已存 RIB 条目。

这可以防止失去观测的数据继续被标成“当前”。但从安全角度看,它已不再是无害的状态通知。展示标签只改变界面;purge 会改变事实库。即使协议称之为“选项”,也应当用破坏性管理操作的标准来治理。

风险不仅留在收集器内部。拓扑分析、路由泄漏检测、策略核查和事后取证都可能依赖这张表。正确范围的清除会阻止它们使用陈旧数据;错误范围的清除会让它们失明。而 BMP 会话的绿色指示灯在两种情况下都可能继续亮着。

草案的安全章节已指出,未授权 MO 消息可以用伪造 Disable 欺骗收集器,甚至清空整个受监控数据库,因此要求双向认证与 TLS 等传输保护。

TLS 很重要,但它证明的是更窄的一件事:受保护会话连接到了经过认证的对端,普通中间人没有改写消息。它不能证明哪位人员批准了变更,不能验证自动化是否选对 AFI/SAFI,也不能让一台已被攻陷但证书仍有效的路由器自动获得无限删除权。信使身份不等于每一项删除都获授权。

当前视图与历史证据必须分开

“立即清除”不应被误读成“抹掉所有历史痕迹”。00 版规定的是收集器当前 RIB 的行为,没有制定完整的档案保存制度,也没有禁止独立的不可变历史记录。

因此可以同时满足两项需求:立即把已失去观测的视图从当前状态中移除;另行保存带明确历史标签的变更前摘要、哈希或档案。历史副本不能继续冒充 live view,而一条只写“删除成功”的日志也不够,因为它无法证明哪个范围、多少条目发生了变化。

可靠回执应把获批工单、认证会话与线上的范围元组绑定起来,记录被清除和刻意保留的条目、事务结果及异常。还应在修改状态之前拒绝格式错误或超出权限的请求。即使发送方身份真实,也只应拥有完成职责所需的最小删除范围。

Enable 是恢复起点,不是完成证书

重新启用时,草案要求先发送 Enable,再恢复 Route Monitoring 消息。示例称收集器会随消息到达重新存储 RIB 视图。

问题在于,00 版没有规定快照开始标记、预期路由数、结束标记或“此刻已经完整”的判断。收到第一条新路由只能证明输入重新开始,不能证明全部当前路由已经到达,也不能排除删除与重建之间的缺口。

一个部分重建的新视图,可能比一个明确标注 disabled 的视图更容易误导。若下游告警在收到 Enable 时立即恢复,它们会在一张仍在装载的表上推理。运营系统需要至少区分 disabled、rebuilding 与 current,并让最后一次状态转换由证据而不是时间猜测触发。

另一份个人草案 draft-geng-grow-bmp-rr-sync-00 为独立的 BMP Route-Refresh 机制提出 BoRR/EoRR 边界,用于包围某个视图的完整当前路由流。这恰好说明同步是另一个协议问题。它不是 MO 的一部分,也不是已批准或可默认存在的修复。

删除权限需要一条完整证据链

可操作的证据链应依次记录:准确草案与实现行为;双向认证的发送方和收集器;获批操作者变更;Per-Peer、RIB 类型、策略阶段及 AFI/SAFI;发送方对该范围的权限;实际清除与保留的条目;独立历史证据;匹配的 Enable;重建期间的丢失与完成条件;最后才是下游系统恢复信赖。

每一层都不能替代下一层。有效证书不证明 AFI 正确;格式正确的 Disable 不证明有人批准;删除成功不证明证据仍在;Enable 更不证明表已完整。

这正符合 Lu Heng 关于“最小初始规范、本地化未来决策与自愿采用”的区分。公共协议只需定义互操作所需的确定性字段和状态转换。保留期限、审批链、删除半径及重新信赖的门槛,应留给承担风险的运营者。发布不会让机制自动成为现实;只有运行代码、精确回执和完成的重建证据才能证明采用。

这份草案带来的关键提醒是:一旦遥测消息能够删除观察结果,它就已进入证据系统的控制面。

来源