首页/网络/IP 与子网速查/主机数公式与需求反推
子网划分方法与例题40 条

主机数公式与需求反推

可用主机 = 2^主机位 - 2;由需求反推:找到覆盖需求的最小 2 的幂,对应前缀即答案。62 台用 /26、126 台用 /25、254 台用 /24。

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

公式与反推

可用主机数 = 2 的主机位次方减 2,两个被减掉的地址是网络地址与广播地址。反推时找最小的 k 使 2^k - 2 ≥ 需求,答案掩码就是 32 减 k。这组换算在容量规划与考试中出现的频率最高,也是所有「选掩码」类问题的统一解法。

门槛数字要记住

记住几个门槛就够了:2 台对应 /30(或 /31)、6 台 /29、14 台 /28、30 台 /27、62 台 /26、126 台 /25、254 台 /24、510 台 /23、1022 台 /22、4094 台 /20。每个数字都是 2 的幂减 2,相邻档位大约差一倍,需求落在哪两个数字之间就取较大的一档。

容易漏算的部分

公式给的是「理论上可分配给主机的地址数」,实际还要扣除网关、交换机与 AP 的管理地址、IPMI 之类的带外接口、预留的静态设备地址,以及云平台上默认保留的若干地址。工程经验是按公式结果的八成估算可实配终端数,剩下的留给设备与临时需求。

基本信息

通用公式可用主机 = 2^(32-n) - 2
反推公式k 最小且 2^k - 2 ≥ 需求 → 掩码 = 32 - k
特例/31 两个地址都可用、/32 单主机
工程口径按公式结果乘 0.8 估算可实配终端

需求到掩码速查

需要主机数主机位掩码可用主机
≤22/30(或 /31)2
≤63/296
≤144/2814
≤305/2730
≤626/2662
≤1267/25126
≤2548/24254
≤5109/23510
≤102210/221022
≤409412/204094

反推函数(Python)

反推函数(Python)
def mask_for(hosts):
    h = 2
    while 2 ** h - 2 < hosts:
        h += 1
    return 32 - h, 2 ** h - 2
print(mask_for(50))    # (26, 62)
print(mask_for(126))   # (25, 126)
print(mask_for(130))   # (24, 254)
print(mask_for(64))    # (25, 126)  ← 64 台不能用 /26

典型使用场景

  • 部门网段选型:按终端数快速定掩码
  • DHCP 池容量核算:确认池大小够用且不越界
  • 服务器区规划:按未来规模一次性选定掩码
  • 点对点链路选 /30 还是 /31
  • 考试题中由需求反推掩码与可用主机数
用 2^k ≥ 需求 直接判断掩码是错误的:64 台必须用 /25 而不是 /26,因为 /26 只有 62 台可用。把「减 2」这一步固化进判断逻辑,就能避免这类系统性偏差。
同一张表也能反向使用:已知掩码就想知道能装多少台,直接把主机位代进公式即可。双向都熟练后,需求与掩码之间的换算就不再需要查表,现场讨论时可以即时回应。
别忘网关也要占一个地址:一个只配了一个可用地址需求的 /30 段,实际上网关就吃掉一半容量。互联链路与小型管理段在容量核算里要单独对待。

易错点

  • 用 2^k ≥ 需求 判断:64 台被错算成 /26,实际只有 62 台可用
  • 忘记网关与管理地址也占地址:实际可配终端数少于公式结果
  • 对 /31 套用减 2 公式:得出 0 个可用的错误结论
  • 按当前在线数精确选掩码:扩容时无地址可用
  • 只算主机不算广播域影响:主机数过多的网段应主动拆分

数据来源与参考

  • RFC 950(子网划分)
  • RFC 3021(/31 点对点)

相关工具

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