首页/网络/IP 与子网速查/例题:需求 2000 台反推掩码(→ /21)
子网划分方法与例题40 条

例题:需求 2000 台反推掩码(→ /21)

需求:2000 个地址(园区汇总计量)。方案:2^10-2=1022 < 2000,2^11-2=2046 ≥ 2000 → /21,例 172.20.0.0/21 覆盖 172.20.0.0–7.255。

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

题目与思路

需求是容纳两千个地址,并要求给出具体的网段方案。这属于典型的反推题:先沿着二的幂次逐级试算,直到可用主机数首次超过需求,再检查网络地址的对齐约束,最后用代码或手工验算首尾地址与总量。

试算过程

二十二位可用一千零二十二个,不够两千;二十一位可用两千零四十六个,满足。因此选二十一位前缀。二十一位在第三段借用三位,第三段步长是八,起点必须是八的倍数;取一百七十二点二十开头的地址时,第三段是零,天然对齐。

基本信息

需求两千个地址
试算二十二位可用一千零二十二,不够;二十一位可用两千零四十六,满足
结论二十一位前缀,网段取一百七十二点二十点零开头
对齐条件第三段必须是八的倍数
可用数量两千零四十六个,余量偏少

典型使用场景

  • 园区汇总计量:多个楼栋的地址按父块统计时,用该前缀提供汇总口径而不是承载单段业务
  • 容量反推训练:作为与五百台例题成对的练习,覆盖不同的前缀位与段位组合
  • 扩容评估:现网出现地址不足迹象时,用同一方法判断是否必须升级到更大前缀
  • 方案对比:把二十一位与拆分成多个二十四位网段两种方案并列比较,说明取舍
  • 考试真题:反推题在认证考试中反复出现,关键是掌握试算顺序而不是背答案
  • 地址池设计:动态分配场景下按并发终端数选前缀,通常比按资产总数小得多

边界验算

边界验算
python -c "import ipaddress as ip; n=ip.ip_network('172.20.0.0/21'); print(n, n.broadcast_address, n.num_addresses - 2)"
# 输出:172.20.0.0/21 172.20.7.255 2046
# 覆盖第三段零到七共八段,可用主机两千零四十六个

试算对照

前缀可用主机是否满足说明
二十二位一千零二十二不满足差近一千台
二十一位两千零四十六满足余量仅四十六个
二十位四千零九十四满足但偏大适合楼栋级
二十三位五百一十不满足差距很大
两千台终端通常不会真的放在同一个广播域里:列方案时应当注明该前缀用于汇总计量或者父块规划,实际业务仍按楼层与部门拆分成多个更小的网段。
注意该前缀在第三段借用三位,步长为八。凡是第三段不是八的倍数的写法,例如一百七十二点二十二开头的地址,都会被归位到二十二之前的八的倍数上,属于常见写错。

易错点

  • 选二十二位前缀规划两千台地址,可用数量不够,上线后会出现地址耗尽
  • 把二十一位前缀的起点写成任意第三段数值,必须满足八的倍数的对齐要求
  • 把容量与可用主机数混为一谈,忘记减去网络地址与广播地址两个

数据来源与参考

  • RFC 950(子网划分)

相关工具

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