首页/网络/BGP 与广域网速查/aggregate-address:聚合通告的默认行为
路由过滤与重分发66 条

aggregate-address:聚合通告的默认行为

Cisco BGP 聚合命令默认同时通告聚合前缀与全部明细前缀;聚合产生的前提是本地 BGP 表中存在至少一条被聚合的明细路由。

BGP 与广域网速查网络更新于 2026-10-13

聚合的默认行为容易被误解

Cisco 的 aggregate-address 默认会同时通告聚合前缀与全部明细前缀——它的作用只是额外增加一条更粗的路由,并没有把明细藏起来。另一个前提是本地 BGP 表中必须存在至少一条被聚合的明细路由,否则聚合根本不会产生。想让明细不外发,需要配 summary-only 或 suppress-map;聚合路由会携带 ATOMIC_AGGREGATE 属性,提示下游这条路由由聚合产生、不可分解。

基本信息

命令aggregate-address <前缀> <掩码>
产生前提BGP 表中存在匹配的明细路由,否则聚合不产生
默认行为聚合前缀与全部明细前缀同时通告
附加属性聚合路由自动携带 ATOMIC_AGGREGATE
明细控制summary-only 只发聚合,suppress-map 选择性抑制明细
验收方式advertised-routes 核对实际发布的前缀集合

典型使用场景

  • 对外只发汇总:配合 summary-only 控制可见前缀粒度
  • 逐条抑制明细:用 suppress-map 按条件决定哪些明细不外发
  • 排查「明细还是发出去了」:确认是否漏配 summary-only
  • 排查「聚合不产生」:确认 BGP 表中是否真有匹配的明细路由
  • 与 as-set 配合:需要保留来源 AS 信息时按需配置

配置与验证

配置与验证
router bgp 65001
 aggregate-address 10.0.0.0 255.0.0.0 summary-only   # 只发聚合,不发明细
! 若只想抑制部分明细,改用 suppress-map:
! aggregate-address 10.0.0.0 255.0.0.0 suppress-map SM
!
show ip bgp 10.0.0.0/8                     # 看聚合路由与其属性
show ip bgp 10.0.0.0/8 longer-prefixes     # 看参与聚合的明细前缀
show ip bgp neighbors 10.0.0.2 advertised-routes   # 核对实际发布的前缀

选项与效果

配置聚合是否通告明细是否通告
只配 aggregate-address通告全部明细仍然通告
加 summary-only通告明细被抑制
加 suppress-map通告按 map 条件选择性抑制
明细不在 BGP 表不产生不适用
加 as-set通告并保留来源 AS 信息按配置处理
ATOMIC_AGGREGATE 表示这条路由由聚合产生、下游不要把它拆回明细,这与「明细是否同时通告」是两件事,不要混为一谈。
聚合依赖明细存在:明细全部消失(接口 Down、重分发撤销)时聚合也会消失,对端表现为前缀突然不见。排查时先看 BGP 表里的明细是否还在,再谈聚合配置。

易错点

  • 无明细时聚合不产生:先确认被聚合前缀已在 BGP 表中,否则会误以为是命令没生效
  • 忽略默认行为:不配 summary-only 或 suppress-map,明细仍会对外通告
  • 聚合掩盖明细差异:汇总前缀把各明细的可达性差异抹平,可能形成黑洞且下游无法感知
  • 忘记核对发布结果:只看配置不看 advertised-routes,实际发布集合可能与设计不符
  • 聚合与明细来源不唯一:同一前缀被多处引入时聚合结果不稳定,需要先统一来源

数据来源与参考

  • Cisco: aggregate-address 命令参考
  • RFC 4271: ATOMIC_AGGREGATE
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌