文章总结: RFC9972定义了新的BGP监控协议(BMP)统计类型,用于监控Adj-RIB-In和Adj-RIB-Out路由信息库。文档新增了策略前/后路由计数、入站/出站策略拒绝路由数、RPKI验证状态等64位计量表,并明确了全局与每AFI/SAFI两种粒度。建议BMP实现者同时支持新旧统计类型以保证兼容性,并注意GR/LLGR事件期间资源消耗。 综合评分: 85 文章分类: 技术标准
高级BGP监控协议(BMP)统计类型
衡水石头哥 衡水石头哥
铁军哥
2026年7月14日 07:42 北京
在小说阅读器读本章
去阅读
RFC9972:Advanced BGP Monitoring Protocol (BMP) Statistics Types,May 2026
梗概
RFC 7854中描述的BGP监控协议(BGP Monitoring Protocol,BMP)定义了统计消息类型以观察受监控路由器上发生的事件。本文档定义了新的统计类型来监视BMP Adj-RIB-In和Adj-RIB-Out路由信息库(Routing Information Bases,RIB)。
本备忘录的状态
这是一份互联网标准跟踪文档。
本文档是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已接受公众审查,并已被互联网工程指导小组(IESG)批准发布。有关互联网标准的更多信息,请参阅RFC 7841第2节。
有关本文档当前状态、任何勘误表以及如何提供反馈的信息,请访问https://www.rfc-editor.org/info/rfc9972。
版权声明
版权所有(c)2026 IETF Trust和文档作者。版权所有。
本文件受本文件发布之日生效的BCP 78和IETF信托与IETF文件相关的法律规定(https://trustee.ietf.org/license-info)的约束。请仔细阅读这些文件,因为它们描述了您与本文件相关的权利和限制。从本文档中提取的代码组件必须包括《信托法律条款》第4.e节中所述的修订版BSD许可证文本,并且不提供修订版BSD许可证中所述的保证。
1、简介
[RFC7854] 的第4.8节定义了许多不同的BGP监控协议(BGP Monitoring Protocol,BMP)统计类型,以观察受监控路由器上发生的主要事件。计量表要么是计量表,要么是仪表。 [RFC8671]的第6.2节还为受监控路由器的Adj-RIB-Out定义了几种BMP统计类型。
需要新的BMP统计类型来实现更精细的BGP路由监控和分析,以提高运行维护和故障排除能力。
本文档定义了新BMP计量表的仪表。这些新规范(Adj-RIB-In、Adj-RIB-Out、Loc-RIB)的适用范围在第4节中提供。BMP统计报告消息的格式与 [RFC7854] 中定义的保持相同。
1.1、要求语言
本文档中的关键字“必须”、“不得”、“必需”、“应”、“不应”、“应该”、“不应该”、“推荐”、“不推荐”、“可以”和“可选”当且仅当它们出现在所有内容中时,应按照BCP 14 [RFC2119] [RFC8174] 中的描述进行解释。
请注意,关键词的使用是为了强调其对操作的重要性;它们并非正式的实现要求。
2、术语
本文档使用以下术语:
Adj-RIB-In:如 [RFC4271] 1.1节中定义:
Adj-RIBs-In 包含未经处理的路由信息,这些信息已由其对等体通告给本地 BGP 发言者。
策略前Adj-RIB-In:将入站策略应用于Adj-RIB-In之前的结果。请注意,这是一个明确的定义,与 [RFC7854] 第2节中指定的策略前Adj-RIB-In概念一致。
策略后Adj-RIB-In:如 [RFC7854] 第2节中定义:
将入站策略应用于 Adj-RIB-In,但在应用路由选择形成 Loc-RIB 之前。
Adj-RIB-Out:如 [RFC4271] 1.1节中定义:
Adj-RIBs-Out 包含通过本地发言者的 UPDATE 消息向特定对等体发布通告的路径。
Pre-policy Adj-RIB-Out: As defined in Section 3 of [RFC8671]:
策略前Adj-RIB-Out:如 [RFC8671] 第3节中定义:
这是将出站策略应用于 Adj-RIB-Out 之前的结果。通常情况下,这与本地 RIB 中的内容一致。
策略后Adj-RIB-Out:如 [RFC8671] 第3节中定义:
将出站策略应用于 Adj-RIB-Out 的结果。这必须向 BMP 接收方传达实际发送给对等体的内容。
Loc-RIB:如 [RFC4271] 1.1节中定义:
本地路由信息库 (Loc-RIB) 包含本地 BGP 发言者决策过程选择的路由。
请注意,通过BMP监控的Loc-RIB状态还可能包含从其他路由协议(例如IGP或本地静态路由)导入的路由。
Route:如[RFC4271]第1.1节中定义:
将一组目的地与到达这些目的地的路径属性配对的信息单元。
术语“生产者”和“收集器”分别相当于“受监控路由器”和“监控站”。此外,“实现”遵循与[RFC7854]中相同的用法。
3、RIB监控统计
本节定义了 Adj-RIB-In 和 Adj-RIB-Out 监控类型的不同统计类型。其中一些统计类型也适用于 Loc-RIB;更多详情请参阅第 4 节。
3.1、统计格式
BMP统计报告消息携带类型-长度-值(Type-Length-Value,TLV)格式的统计信息。每个计量表都被编码为TLV(统计类型、统计长度、计量表)(请参阅 [RFC7854] 的第4.8节)。在定义各种RIB监控计量表时,“计量表”被称为“值”。
本文档中定义的计量表可以分为两种粒度:全局计量表和Per-AFI/SAFI(参见 [RFC4760])计量表。使用Per-AFI/SAFI描述定义的计量表属于Per-AFI/SAFI计量表,而其他计量表属于全局计量表。全球计量表及其相应的每AFI/SAFI计量表可以同时报告。
Per-AFI/SAFI统计信息仅适用于BGP发言者支持并与其对等体协商的AFI/SAFI。AFI/SAFI值的权威注册表由IANA维护(请参阅 [IANA-AFI] 和 [IANA-SAFI])。
对于全局统计,“计量表”(值)字段是单个64位无符号整数计量表,其中“统计长度”字段必须设置为8。每个全局统计必须在BMP统计报告消息中仅出现一次。
对于Per-AFI/SAFI统计,“计量表”(值)字段是一个11字节结构化值,格式为2字节AFI、1字节SAFI和64位计量表。 “Stat Len”必须设置为11。对于任何给定的每AFI/SAFI统计,重复的(AFI、SAFI)对不得出现在同一BMP统计报告消息中。如果没有要报告该AFI/SAFI的数据,则每个AFI/SAFI计量表不得包含在BMP统计报告消息中。
如果统计信息适用于本地 RIB,则相应 BMP 统计报告消息的 PerPeer 标头中的“对等类型”字段必须设置为 3(本地 RIB 实例对等体)[RFC9069]。否则,“对等类型”字段必须按照 [RFC7854] 第 4.2 节中的定义进行设置。
BMP实现必须在收到时忽略无法识别的统计类型。
3.2、Adj-RIB-In RIB监控统计定义
类型 = 18:(64位计量)策略前Adj-RIB-In中的当前路由数量。该量表类似于 [RFC7854] 中定义的统计类型7,并明确针对策略前Adj-RIB-In。
类型 = 19:(64位计量)每AFI/SAFI策略前Adj-RIB-In中的当前路由数量。该量表类似于 [RFC7854] 第4.8节中定义的Stat Type 9,并明确针对prepolicy Adj-RIB-In。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 20:(64位计量)策略后Adj-RIB-In中的当前路由数量。
类型 = 21:(64位计量)每个AFI/SAFI策略后Adj-RIB-In中的当前路由数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 22:(64位计量)入站策略拒绝的每AFI/SAFI策略前Adj-RIB-In中的当前路由数。该量表与 [RFC7854] 第4.8节中定义的统计类型0不同。Stat Type 0是一个32位计量表,是一个单调递增的数字;统计类型22是一个64位计量表,表示由于持续的策略配置更改而被入站策略拒绝的当前路由数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 23:(64位计量)入站策略接受的每AFI/SAFI策略后Adj-RIB-In中的当前路由数。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 26:(64位计量)由配置的路由抑制策略抑制的每AFI/SAFI策略后Adj-RIB-In或Loc-RIB中的当前路由数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
“抑制”是指已被BGP路由振荡抑制机制声明为抑制的路由,如 [RFC2439] 的2.2节中所述。
类型 = 27:(64位计量)每个AFI/SAFI策略后Adj-RIB-In或Loc-RIB中被平滑重启(Graceful Restart,GR)事件标记为过时的路由的当前数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
“过时”是指已被BGP GR机制声明为过时的路由,如 [RFC4724] 的4.1节中所述。
类型 = 28:(64位计量)每个AFI/SAFI策略后Adj-RIB-In或Loc-RIB中被长期平稳重启(LLGR)标记为过时的路由的当前数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
“过时”是指已被BGP LLGR机制声明为过时的路由,如 [RFC9494] 的4.3节中所述。
类型 = 29:(64位计量)在超过 [RFC4271] 第6.7节中定义的接收路由阈值之前,策略后Adj-RIB-In中剩余的当前路由数量。
类型 = 30:(64位计量)在超过接收路由阈值之前,策略后Adj-RIB-In中剩余的每AFI/SAFI中的当前路由数,该阈值对应于遵循 [RFC4271] 第6.7节中定义的模型的每AFI/SAFI接受路由的上限。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 31:(64位计量)在超过许可证自定义路由阈值之前,策略后Adj-RIB-In或Loc-RIB中剩余的当前路由数量。如果没有配置此类许可证,或者许可证没有施加硬限制,则不得报告此值。
类型 = 32:(64位计量)在超过许可证自定义路由阈值之前留下的每AFI/SAFI策略后Adj-RIB-In或Loc-RIB中的当前路由数量。如果没有配置此类许可证,或者许可证没有施加硬限制,则不得报告此值。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 33:(64位计量)由于超出本地配置支持的最大AS_PATH长度而被拒绝的策略前Adj-RIB-In中的当前路由数。
类型 = 34:(64位计量)由于超出本地配置支持的最大AS_PATH长度,策略前Adj-RIB-In中每AFI/SAFI中的当前路由数被拒绝。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 35:(64位计量)通过资源公钥基础设施(Resource Public Key Infrastructure,RPKI) [RFC6811] 的路由源授权(Route Origin Authorization,ROA)验证路由源自治系统编号(Autonomous System Number,ASN)后,每个AFI/SAFI策略后Adj-RIB-In中的当前路由数无效。这是由于原始ASN不匹配和前缀长度不匹配而失效的路由总数。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 36:(64位计量)在通过RPKI [RFC6811] 的ROA验证路由源ASN后,验证每个AFI/SAFI策略后Adj-RIB-In中的当前路由数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 37:(64位计量)每AFI/SAFI策略后Adj-RIB-In中的当前路由数量,由于缺少RPKI [RFC6811] 的匹配ROA,其RPKI路由源验证状态为NotFound。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
3.3、Adj-RIB-Out RIB监控统计定义
类型 = 38:(64位计量)出站策略拒绝的每AFI/SAFI策略前Adj-RIB-Out中的当前路由数。这些路由是活动路由,如果没有拒绝它们的出站策略,这些路由就会被通告。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
Type = 39:(64位Gauge)当前策略前Adj-RIB-Out中由于AS_PATH长度超过本地配置的最大值而被过滤的路由数量。
类型 = 40:(64位计量)由于AS_PATH长度超过本地配置的最大值而过滤的每AFI/SAFI策略前Adj-RIB-Out中的当前路由数。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 41:(64位计量)通过RPKI [RFC6811] 的ROA验证路由源ASN后,每AFI/SAFI策略后Adj-RIB-Out中的当前路由数无效。这是由于原始ASN不匹配和前缀长度不匹配而失效的路由总数。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 42:(64位计量)在通过RPKI [RFC6811] 的ROA验证路由源ASN后,验证每个AFI/SAFI策略后Adj-RIB-Out中的当前路由数量。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
类型 = 43:(64位计量)每个AFI/SAFI策略后Adj-RIB-Out中的当前路由数量,由于缺少RPKI [RFC6811] 的匹配ROA,其RPKI路由源验证状态为NotFound。
该值的结构为2字节AFI、1字节SAFI和64位计量表。
4、统计适用范围
表1简要列出了本文件中定义的计量表并概述了它们的应用范围。
表1:适用范围
5、实施注意事项
本文档指定了新BMP计量表的计量表。BMP统计报告消息的格式与 [RFC7854] 保持不变。本节概述了新BMP计量表的实施注意事项。
为了向后兼容,并且没有任何其他策略,建议能够生成(类型7和18)和(类型9和19)BMP计量表的BMP生产者同时传输两种相应类型。这允许BMP收集器根据需要处理任一格式,而不会破坏依赖类型7或9的现有实现。在每对中生成哪些统计类型的选择应该被
一些统计信息取决于功能配置,例如GR、LLGR和RPKI;因此,只有在BMP生成器上启用这些功能时,才应生成并发送相应的统计信息。这些计量表包括以下类型:26、27、28、29、30、31、32、33、34、35、36、37、39、40、41、42和43。
一些计量表也与Loc-RIB视图相关 [RFC9069];因此,它们可以在最佳路径选择完成后应用于Loc-RIB视图。这些统计包括类型26、27、28、31和32。当这些统计应用于Loc-RIB视图时,相应BMP统计报告消息的Per-Peer头中的“Peer Type”字段必须设置为3。
某些计量表可能具有逻辑关系(例如,每个AFI/SAFI计数求和到全局总数)。BMP计量表生成器和收集器可以执行一致性检查,但不得假设严格的依赖关系(由于潜在的竞争条件或部分故障)。差异(例如,sum(per-AFI/SAFI) != 全局计数)应记录为警告,但不得中断协议操作。
在活动GR/LLGR事件期间类型27和28的生成和传输会消耗额外的控制平面资源(例如CPU)。BMP计量表生成者应该优先考虑核心GR/LLGR收敛过程。为了避免对重新启动过程产生不利影响,BMP计量表生成器可以选择以较低频率对该值进行采样、缓冲更新或在切换的最关键阶段暂时暂停此类类型的报告。
这些仪表可能会由于手动清除或溢出而重置。BMP计量表生成器和收集器必须跟踪不连续性并记录此异常情况。
6、操作注意事项
本节概述了BMP运算符的新BMP计量表的一些操作注意事项。
新仪表的传输调度和触发机制取决于实现。BMP操作员应确定适当的报告生成和交付策略,包括可配置的时间间隔和阈值。控制新仪表报告的机制应该与现有类型的报告一致。
BMP操作员应该限制统计更新的速率,以尽量减少对控制平面进程的性能影响。BMP运算符应该仅启用必要的统计信息以减少内存和CPU开销。实现还应该支持每个路由器配置统计子集以进行收集和报告。
某些BMP统计生成器或BMP统计生成器中的配置可以丢弃与策略不匹配的路由;因此,在这种情况下,接受的计数(类型23)和Adj-RIB-In计数(类型21)将相同。BMP操作员在解释这些仪表时应该注意这种行为。BMP操作员应该注意,BMP计量表生成器和收集器可以将计量表之间的不一致记录为警告。
7、安全考虑
本文档中定义的过程和协议扩展不影响BMP安全模型。 [RFC7854] 第11节、[RFC8671] 第8节和 [RFC9069] 第7节要求的所有安全和身份验证机制也适用于本文档中定义的仪表。本文档没有添加任何额外的安全注意事项。
受监控设备应配置为实施新仪表的速率限制报告。
8、IANA考虑因素
IANA已在“BMP统计类型”注册表中分配了以下新参数,该注册表是“BGP监控协议(BMP)参数”注册表组 https://www.iana.org/assignments/bmpparameters/ 的一部分。
IANA已将这些条目列出如下。本文档可作为每个条目的参考。
表2:BMP统计类型
9、规范性引用文件
[IANA-AFI] IANA, "Address Family Numbers", <https://www.iana.org/assignments/address-family-numbers>.[IANA-SAFI] IANA, "Subsequent Address Family Identifiers (SAFI) Parameters", <https://www.iana.org/assignments/safi-namespace>.[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.[RFC2439] Villamizar, C., Chandra, R., and R. Govindan, "BGP Route Flap Damping", RFC 2439, DOI 10.17487/RFC2439, November 1998, <https://www.rfc-editor.org/info/rfc2439>.[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <https://www.rfc-editor.org/info/rfc4271>.[RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, DOI 10.17487/RFC4724, January 2007, <https://www.rfc-editor.org/info/rfc4724>.[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, DOI 10.17487/RFC4760, January 2007, <https://www.rfc-editor.org/info/rfc4760>.[RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. Austein, "BGP Prefix Origin Validation", RFC 6811, DOI 10.17487/RFC6811, January 2013, <https://www.rfc-editor.org/info/rfc6811>.[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, June 2016, <https://www.rfc-editor.org/info/rfc7854>.[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.[RFC8671] Evens, T., Bayraktar, S., Lucente, P., Mi, P., and S. Zhuang, "Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)", RFC 8671, DOI 10.17487/RFC8671, November 2019, <https://www.rfc-editor.org/info/rfc8671>.[RFC9069] Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente, "Support for Local RIB in the BGP Monitoring Protocol (BMP)", RFC 9069, DOI 10.17487/RFC9069, February 2022, <https://www.rfc-editor.org/info/rfc9069>.[RFC9494] Uttaro, J., Chen, E., Decraene, B., and J. Scudder, "LongLived Graceful Restart for BGP", RFC 9494, DOI 10.17487/RFC9494, November 2023, <https://www.rfc-editor.org/info/rfc9494>.
致谢
作者要感谢Jeff Haas、Mohamed Boucadair、Thomas Graf和Prasad S. Narasimha提供的宝贵意见。
感谢Giuseppe Fioccola的OPSDIR、Jouni Korhonen的GENART以及Bruno Decraene的RTGDIR审核。
感谢Gunter van de Velde、Éric Vyncke和Ketan Talaulikar的IESG审核。
***推荐阅读***
我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定
保姆级教程:一条命令部署OpenVPN管理系统V4版,支持Win/Mac/安卓/iOS全平台接入
成本省下99.7%!用40元的腾讯云服务器自建IPsecVPN,成功对接企业级飞塔防火墙
别再乱选VPN了!实测数据告诉你:为什么L2TP是个“坑”
别再为授权发愁!手把手教你用免费方案白嫖SRv6实验环境
嫌一键部署不过瘾?带你手搓Hermes智能体,主打一个通透
Hyper-V别开!VMware 25H2安装避坑指南,附Hermes新动向
H3C CAS实战:CVM纳管CVK的相爱相杀,这波操作太秀了!
VPP转发性能从10G暴增至24G?揭秘OpenEuler虚拟机的极限压榨术
NVUE不支持OSPFv3?别慌!教你一招搞定SRv6地基
手机也能跑DeepSeek-R1/Qwen3了:零成本搭建AI推理平台
2048卡昇腾910C集群算力集群交付工程手册
2048卡H100算力中心100G无阻塞存储网建设方案
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:铁军哥 衡水石头哥 衡水石头哥《高级BGP监控协议(BMP)统计类型》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论