首页/网络/IP 与子网速查/超网聚合(路由汇总)速算
掩码与 CIDR 速算50 条

超网聚合(路由汇总)速算

把多个连续网段合并为一条更短前缀的路由:找最长公共前缀并按块大小对齐;聚合是控制路由表规模的核心手段。

IP 与子网速查网络更新于 2026-10-13

聚合在做什么

聚合(路由汇总、超网)是把若干条连续的网段合成一条前缀更短的路由。判断能不能合并只看两点:这些小网段是否连续、以及合起来的总量是不是 2 的幂且起点按这个总量对齐。例如 192.168.0.0/24 到 192.168.3.0/24 共 4 个 /24,正好对齐成 192.168.0.0/22。

为什么必须对齐

CIDR 路由条目永远是「起点 + 前缀长度」的形式,无法表达任意起止范围。192.168.1.0/24 与 192.168.2.0/24 看起来相邻,但它们不在同一个 /23 边界内:前者的 /23 是 192.168.0.0/23(覆盖 0 与 1),后者的 /23 是 192.168.2.0/23(覆盖 2 与 3)。要覆盖这两个段只能退到 /22,或者保留两条路由。

基本信息

合并条件网段连续,且总量为 2 的幂、起点按该大小对齐
新前缀32 - log2(合并后的地址总量)
常用手段ipaddress.collapse_addresses、device 侧 summary-address
收益路由表更短、收敛更快、变更影响面更小
代价可能覆盖未规划地址,形成黑洞

典型使用场景

  • 企业出口只向上游通告一条汇总路由,减少路由条目与抖动
  • OSPF/EIGRP 区域边界做路由汇总,隔离区域内部变化
  • 防火墙与 ACL 用一条规则覆盖整个地址块,减少规则数量
  • 跨站点 VPN 用汇总路由简化隧道配置
  • 审计现网时检查是否存在可汇总但未汇总的碎片路由
  • 迁移或合并网络时快速算出一条能覆盖所有旧段的前缀

逐层合并:4 个 /24 → 1 个 /22

逐层合并:4 个 /24 → 1 个 /22
192.168.0.0/24 + 192.168.1.0/24 → 192.168.0.0/23
192.168.2.0/24 + 192.168.3.0/24 → 192.168.2.0/23
192.168.0.0/23 + 192.168.2.0/23 → 192.168.0.0/22
# 每一次合并都要求两块相邻且起点按新块大小对齐

Python 批量聚合并验算

Python 批量聚合并验算
import ipaddress as ip
nets = [ip.ip_network('172.16.%d.0/24' % x) for x in range(32, 64)]
print(list(ip.collapse_addresses(nets)))   # [IPv4Network('172.16.32.0/19')]
print(2 ** (32 - 19))                      # 8192 个地址
print(len(nets), 32)                       # 输入 32 条,聚合后 1 条

常见聚合示例

输入网段可汇总为覆盖地址量注意
2 个偶数对齐的 /24/23512起点必须是偶数段
4 个 /24(起点为 4 的倍数)/221024典型园区分部汇总
8 个 /24/212048机房分区汇总
16 个 /24/204096整栋楼或一个站点
2 个 /25,起点 .0 与 .128/24256同一条 /24 内部再合并
聚合的正确性可以用一条判据快速验证:汇总后前缀必须整除块大小(起点对齐),并且所有被合并的小网段都能被这条前缀覆盖而不带进无关网段。两个条件同时成立才算干净汇总。
聚合出比实际使用范围更大的前缀会形成黑洞:172.16.32.0/19 覆盖 32 到 63 共 32 个 /24,只要其中有一段被别的用途占用或完全未规划,指向该段的流量就会被汇总路由吸走并丢弃。

易错点

  • 把 192.168.1.0/24 与 192.168.2.0/24 直接合成 /23:起点未对齐,实际需要 /22
  • 汇总前缀过大:带上未使用的地址段,回程流量被静默丢弃形成黑洞
  • 只在一台设备上做汇总,互联设备未同步:路由不对称导致单向可通
  • 聚合后忘记保留明细路由:故障排查时看不到细粒度路径
  • 以为聚合等于隔离:汇总只影响路由表条目,不改变转发策略

数据来源与参考

  • RFC 4632(CIDR)
  • RFC 2519(域间路由聚合实践)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌