首页/网络/IP 与子网速查/例题:32 个 /24 汇总为 /19
子网划分方法与例题40 条

例题:32 个 /24 汇总为 /19

需求:172.16.32.0/24 至 172.16.63.0/24 共 32 条连续路由,求汇总。方案:32=2^5 → 前缀 24-5=19,起点 32 对齐。

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

题干与思路

题目:172.16.32.0/24 到 172.16.63.0/24 共 32 条连续路由,求最小汇总前缀。思路是先数块数,32 = 2^5,说明要向前吃掉 5 位,汇总前缀 = 24 − 5 = 19;再验证起点对齐,32 是 32 的倍数,因此汇总为 172.16.32.0/19,恰好覆盖 172.16.32.0 到 172.16.63.255。

基本信息

连续块数32 条 /24(32 到 63)
指数换算32 = 2^5,借 5 位
汇总前缀24 − 5 = /19
汇总结果172.16.32.0/19,掩码 255.255.224.0
覆盖范围172.16.32.0 – 172.16.63.255,共 8192 个地址
起点对齐32 ÷ 32 = 1,对齐成立

解题步骤

解题步骤
① 数连续块数:63 - 32 + 1 = 32
② 取 2 的幂:32 = 2^5 → 汇总前缀 = 24 - 5 = /19
③ 验证对齐:起点 32 是 2^5 = 32 的倍数 ✓
④ 输出汇总:172.16.32.0/19
⑤ 反向验算:/19 覆盖 32 个 /24,正好是 32 到 63

程序验算

程序验算
python -c "import ipaddress as ip; nets=[ip.ip_network(f'172.16.{x}.0/24') for x in range(32,64)]; print(list(ip.collapse_addresses(nets)))"
# [IPv4Network('172.16.32.0/19')]
# 若返回多条,说明区间不连续或起点未对齐

常见汇总对照

块数汇总前缀示例
2 个 /24/23172.16.4.0/23 覆盖 4.0–5.255
4 个 /24/22192.168.16.0/22 覆盖 16.0–19.255
8 个 /24/21192.168.8.0/21 覆盖 8.0–15.255
32 个 /24/19172.16.32.0/19 覆盖 32.0–63.255

落地建议

  • 先确认这 32 个 /24 是否真的连续可用,缺号的路由如果已分给别人,汇总会把别人的流量引到自己这里
  • 汇总后检查是否与其他既有汇总路由重叠,重叠部分会形成更具体与更笼统两条路径并存,转发结果取决于最长匹配
  • 在边界设备上只通告汇总前缀,内部保留明细路由,这样单条链路抖动不会引起整块路由翻动
  • 规划阶段就按 2 的幂预留连续段,例如给一个大部门直接留 /19 或 /20,避免日后 32 条明细凑不出整齐的汇总
  • 验证手段固定为两条:明细条数是否等于 2 的幂,以及汇总前缀覆盖范围是否恰好等于明细集合
同一题的变形:若给出 172.16.32.0/24 至 172.16.47.0/24 共 16 条,则 16 = 2^4,汇总前缀为 24 − 4 = /20,结果是 172.16.32.0/20,做法完全一致。
反向验证/19 覆盖的 /24 数量 = 2^(24−19) = 32,与明细条数一致
边界验证首个 /24 是 172.16.32.0,末个是 172.16.63.0,全部落在汇总范围内
常见变形16 条明细对应 /20,8 条对应 /21,4 条对应 /22,2 条对应 /23
失败信号collapse_addresses 返回多条结果,说明区间不连续或起点不对齐
汇总的前提是“连续 + 起点对齐”。若 32 条路由里缺了中间某几条,强行汇总会把未使用的网段一起通告出去,需要评估是否可接受。

易错点

  • 起点未对齐仍写 /19:172.16.33.0/19 是不合法前缀,设备会拒绝或自动归位到 32.0,范围与预期完全不同
  • 把 32 条当成借 5 位以外的位数:块数必须是 2 的幂,30 条连续路由只能按 32 汇总或拆成多次汇总
  • 汇总覆盖了未分配网段:对外通告后,这些地址的流量会被引流到本区,形成黑洞
  • 只汇总不验算:用 collapse_addresses 复核一遍只需一行命令,却能拦住绝大多数低级错误

数据来源与参考

  • RFC 4632(CIDR)
  • RFC 2519(路由聚合)

相关工具

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