首页/网络/IP 与子网速查/例题:172.16.0.0/16 给 16 栋楼(/20)
子网划分方法与例题40 条

例题:172.16.0.0/16 给 16 栋楼(/20)

需求:园区 16 栋楼,每栋 ≤4000 台。方案:每栋一个 /20(4094 可用),第三段步长 16;验算首尾与总数。

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

题目与思路

园区有一片十六位前缀的地址空间,要分给十六栋楼,每栋终端数量不超过四千。解题方向是先按单栋需求反推出前缀长度,再看这个长度下一共能切出多少块,最后验证块数是否正好满足十六栋楼的需求,以及各块的边界是否连续。

试算与结论

每栋不超过四千台,二十位前缀可用四千零九十四个,够用;十九位可用八千多个,明显偏大;二十一位只有两千零四十六个,不够。因此每栋取二十位。二十位在第三段借用四位,步长十六,一个十六位父块恰好能切出十六块,与楼栋数量正好吻合。

基本信息

需求十六栋楼,每栋不超过四千台
选掩码二十位,可用四千零九十四个
块大小第三段步长十六
块数量一个十六位父块恰好切出十六块
结论每栋一个二十位网段,正好用满父块

典型使用场景

  • 园区规划:按楼栋划分地址是最常见的分区方式,边界清晰,便于统计与排障
  • 容量论证:向管理层说明为什么每栋取二十位而不是更小的前缀,试算过程就是依据
  • 地址下发:每栋楼拿到一个网段后,内部再按楼层与部门继续细分为更小的网段
  • 路由汇总:十六块恰好合成一个父块,骨干设备上只需一条汇总路由
  • 扩展预留:恰好用满意味着没有余量,新楼建设时需要提前规划新的父块
  • 培训与考试:这是分块与反推结合的标准题型,掌握后同类题都能套用

楼栋方案(首尾示例)

楼栋方案(首尾示例)
一号楼   172.16.0.0/20    覆盖 172.16.0.0 到 172.16.15.255
二号楼   172.16.16.0/20   第三段步长十六
……
十六号楼 172.16.240.0/20  覆盖 172.16.240.0 到 172.16.255.255
# 十六块首尾相接,恰好用满整个十六位父块

总数复核

总数复核
python -c "import ipaddress as ip; print(len(list(ip.ip_network('172.16.0.0/16').subnets(new_prefix=20))))"
# 输出 16,与楼栋数量一致
# 需要预留扩展时,可改为每栋十九位,实际只用到八栋的规模

前缀试算对照

前缀可用主机覆盖楼栋数结论
十九位八千一百九十八栋容量过剩
二十位四千零九十四十六栋正好满足
二十一位两千零四十六三十二栋单栋不够
二十二位一千零二十二六十四栋差距明显
步长容易记错:二十位在第三段借用四位,步长是十六而不是八或三十二。步长错一步,所有楼栋的边界都会整体偏移,配置下发后问题很难定位。
十六块恰好用满父块意味着零余量:任何编号错位都会越界到相邻楼栋。实际项目建议留出缓冲,例如改用十九位、每栋仍按二十位划,剩余空间用于新楼与临时需求。

易错点

  • 把第三段步长记成八或三十二,实际是十六,所有楼栋边界整体错位
  • 十六块恰好用满父块却未留缓冲,新增楼栋时无地址可用,只能重新规划
  • 按单栋不超过四千台反推时漏掉网络地址与广播地址,选到二十一位导致单栋不够用

数据来源与参考

  • RFC 950(子网划分)

相关工具

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