题干与思路
题目:某部门需要 20 台主机地址(含网关与网络设备),求最省地址的掩码。思路是把需求代进 2^n − 2:2^4 − 2 = 14 不够,2^5 − 2 = 30 满足,因此主机位取 5 位,掩码长度 32 − 5 = 27,也就是 /27,块大小 32。若希望留出增长空间,也可直接选 /26,代价是多占一倍的地址。
基本信息
| 需求台数 | 20 台,含网关与网络设备 |
|---|---|
| 试算过程 | 2^4 − 2 = 14 不够,2^5 − 2 = 30 满足 |
| 结论掩码 | /27,即 255.255.255.224 |
| 块大小 | 32,末段起点为 32 的倍数 |
| 示例网段 | 192.168.30.0/27,可用 .1 到 .30,广播 .31 |
| 余量 | 30 − 20 = 10 个可用地址 |
| 升级建议 | 预计增长到 25 台以上时直接选 /26 |
快速枚举反推
快速枚举反推
for h in range(2, 13):
usable = 2**h - 2
print('/%d 可用 %d' % (32 - h, usable))
if usable >= 20:
break
# /28 可用 14 -> 不够
# /27 可用 30 -> 满足,输出后退出循环网段验算
网段验算
ipcalc 192.168.30.0/27
# Network: 192.168.30.0/27
# HostMin: 192.168.30.1
# HostMax: 192.168.30.30
# Broadcast: 192.168.30.31
# 相邻块:192.168.30.32/27、192.168.30.64/27 ...需求与掩码对照
| 需求台数 | 满足条件 | 掩码 | 可用数 |
|---|---|---|---|
| 10 台 | 2^4 − 2 = 14 | /28 | 14 |
| 20 台 | 2^5 − 2 = 30 | /27 | 30 |
| 25 台 | 2^5 − 2 = 30 仅余 5 | /27 或 /26 | 30 或 62 |
| 30 台 | 2^5 − 2 = 30 恰好坐满 | /26 更稳 | 62 |
典型考法与变形
- 问“最省掩码”:严格按公式取最小 n,答案是 /27
- 问“推荐掩码”:要结合增长余量,通常答 /26 并说明理由
- 问“该网段能否容纳 20 台设备加一台网关”:30 个可用地址够用,网关占一个后仍有 29 个
- 问“下一个网段的地址”:在 192.168.30.0/27 之后是 192.168.30.32/27
- 问“该网段可划分为几个 /30”:32 ÷ 4 = 8 个 /30,可用于多条点对点链路
落地建议
- 需求经常落在临界值附近时按上一档规划,避免上线后立刻不够用
- 把网关、交换机管理地址、AP 与打印设备计入需求总数,不要只算终端
- 新部门网段尽量连续分配,便于日后汇总与统计
- 规划表中记录掩码、网关、可用范围与用途,后续扩容时直接参考
若预期增长到 25 台以上,直接选 /26 更稳妥:/27 的 30 个可用地址在余量只有 5 个时几乎没有弹性。
与“按需求反推”的通用方法一致:先找满足 2^n − 2 大于等于需求的最小 n,再算 32 − n;题目给出的 20 台只是代入值,换成 20 到 30 之间的任何数字结论都是 /27。
验算习惯:得出掩码后立刻写出网络地址、可用范围与广播三个边界值,并与下一个网段衔接核对,三步都自洽才算完成。