当前位置: 首页 > news >正文

小结:BGP 的自动聚合与手动聚合

BGP 的自动聚合与手动聚合

BGP 在大规模网络中,通常会进行路由聚合(Route Aggregation),即将多个更具体(更小)的路由前缀合并成一个更大(更粗略)的前缀,以减少 BGP 路由表的大小,提高路由收敛速度,优化网络资源。

BGP 提供两种方式进行路由聚合:

  1. 自动聚合(Auto-Summary)
  2. 手动聚合(Manual Summary)

1. BGP 自动聚合(Auto-Summary)

🔹 原理

  • 自动聚合会将所有子网归并到主类网络(Classful Network),即 B 类地址会聚合到 B 类网络,C 类地址会聚合到 C 类网络
  • 仅在**CIDR 关闭(Classful Routing)**的情况下生效。
  • 适用于早期网络(基于类的路由),但现代 BGP 网络多采用CIDR(无类别路由),因此自动聚合通常不使用。

🔹 自动聚合的默认行为

  • 只有当 BGP 学到的所有更具体的子网都在同一大网段内时,才会自动汇总成主网段。
  • eBGP(外部 BGP)场景下,自动聚合不会影响 BGP 的正常传播。
  • iBGP(内部 BGP)场景下,可能会导致部分路由信息丢失。

🔹 华为 BGP 配置自动聚合

bgp 65001
 auto-summary

示例
如果 BGP 学到了以下路由:

192.168.1.0/24
192.168.2.0/24
192.168.3.0/24

auto-summary 开启的情况下,BGP 会自动汇总为:

192.168.0.0/16

但会导致网络信息丢失,比如 192.168.4.0/24 不属于当前汇总范围时可能无法正确转发。

🔹 自动聚合的缺点

  • 只支持基于类的聚合,不适用于 CIDR(无类别域间路由)。
  • 可能导致部分更具体的路由丢失,影响流量转发。
  • 现代 BGP 网络一般不推荐使用自动聚合,而是采用手动聚合。

2. BGP 手动聚合(Manual Summary)

🔹 原理

  • 手动聚合允许灵活地控制 BGP 路由聚合,并支持 CIDR。
  • 需要手动指定汇总的前缀,可以精确控制汇总范围
  • 更推荐使用手动聚合,而不是自动聚合

🔹 手动聚合配置

bgp 65001
 aggregate 192.168.0.0 255.255.252.0

此配置会将以下网络汇总为 192.168.0.0/22

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24

这样,BGP 只公布 192.168.0.0/22,减少 BGP 表项,提高网络效率。


3. BGP 聚合进阶配置

🔹 3.1 允许更具体的子网(as-set)

  • 默认情况下,BGP 只公布汇总路由,而不包含更具体的子网。
  • 如果希望同时公布更具体的路由,可使用 as-set 参数
bgp 65001
 aggregate 192.168.0.0 255.255.252.0 as-set

此时,BGP 既公布 192.168.0.0/22,也公布 192.168.1.0/24192.168.2.0/24 等更具体的子网。

🔹 3.2 防止黑洞路由(suppress-map / unsuppress-map)

  • 问题:如果 BGP 只公布 192.168.0.0/22 而不公布子网,则某些设备可能无法精确匹配路由,导致部分流量黑洞(无法到达目的地)。
  • 解决方案
    • suppress-map:过滤掉某些子网,确保只公布聚合路由。
    • unsuppress-map:解除对子网的隐藏,确保部分子网仍可传播。

示例:仅隐藏 192.168.1.0/24,但公布 192.168.2.0/24192.168.3.0/24

bgp 65001
 aggregate 192.168.0.0 255.255.252.0
 suppress-map FILTER_MAP
route-policy FILTER_MAP permit node 10
 if-match ip-prefix 192.168.1.0/24

此配置使 192.168.1.0/24 不公布,但 192.168.2.0/24192.168.3.0/24 仍然公布。


4. 自动聚合 vs. 手动聚合 对比

特性自动聚合 (Auto-Summary)手动聚合 (Manual Summary)
是否支持 CIDR❌ 仅支持基于类的路由✅ 支持 CIDR,自定义掩码
控制灵活性❌ 受限(自动生效)✅ 完全可控
是否支持具体子网❌ 仅公布主网段✅ 可公布或隐藏具体子网
是否推荐❌ 一般不推荐✅ 强烈推荐

5. 结论

✅ 何时使用自动聚合?

  • 适用于早期基于类的网络,但现代 BGP 网络通常不使用。
  • 仅在 CIDR 关闭的环境下生效

✅ 何时使用手动聚合?

  • 推荐 在现代 BGP 网络中使用手动聚合,以减少 BGP 路由表大小
  • 可以控制具体子网,避免黑洞路由。
  • 适用于运营商、企业骨干网、跨 AS 网络

相关文章:

  • ENSP配置AAA验证
  • 鸿蒙日期格式工具封装及使用
  • Hadoop第一课(配置linux系统)
  • 【软考-架构】1.3、磁盘-输入输出技术-总线
  • Pico 4 Enterprise(企业版)与Unity的交互-有线串流调试篇
  • Spring 源码硬核解析系列专题(十二):Spring Integration 的消息驱动源码解析
  • 一次连接,可能会多次创建socket???
  • 大模型技术:重塑未来的力量
  • Spring Boot 异步编程深入剖析
  • 人工智能领域顶级期刊
  • swift 开发效率提升工具
  • 校园快递助手小程序毕业系统设计
  • STM32Cubemx配置RTTHread工程
  • [SWPUCTF 2022 新生赛]1z_unserialize
  • DeepSeek R1:揭示适度思考在信息处理中的关键作用
  • 4070Super安装GPU版本pytorch记录
  • Windows本地Docker+Open-WebUI部署DeepSeek
  • 11.24 SpringMVC(1)@RequestMapping、@RestController、@RequestParam
  • 回文子串 与 回文子序列?数量?最长的情况?
  • 深度解析基于Transformer的LLaMA2模型结构:从分词到推理的完整流程
  • 冒充现役军人、自称有中国兵工集团投资内幕,2人被刑拘
  • 每日475.52元!最高检公布侵犯公民人身自由最新赔偿金标准
  • 外交部:国际调解院着眼以调解定分止争,更好维护国际公平正义
  • 习近平:推进中国式现代化要继续把制造业搞好
  • 商务部就美国商务部调整芯片出口管制有关表述答记者问
  • 病重老人取钱在银行门口去世,家属:已协商一致