题干与思路
题目:下列哪个地址可以分配给 192.168.1.128/26 的主机。做法是先定边界:块大小 64,给定起点 128 是块起点,因此本块覆盖 192.168.1.128 到 192.168.1.191。其中 .128 是网络地址不可用,.191 是广播地址不可用,剩下 .129 到 .190 共 62 个地址可以分配。候选地址逐一归位,落在边界上的两个直接排除。
基本信息
| 给定网段 | 192.168.1.128/26 |
|---|---|
| 掩码 | 255.255.255.192 |
| 块大小 | 64,末段可取 0、64、128、192 四个起点 |
| 网络地址 | 192.168.1.128,不可分配 |
| 广播地址 | 192.168.1.191,不可分配 |
| 可用范围 | 192.168.1.129 到 192.168.1.190 |
| 可用数量 | 62 个 |
候选项判定
候选项判定
192.168.1.127 ✗ 属上一块 192.168.1.64/26 的广播地址
192.168.1.128 ✗ 本块网络地址
192.168.1.129 ✓ 本块第一个可用地址
192.168.1.190 ✓ 本块最后一个可用地址
192.168.1.191 ✗ 本块广播地址
192.168.1.192 ✗ 属下一块 192.168.1.192/26 的网络地址程序判定
程序判定
python - <<'PY'
import ipaddress as ip
net = ip.ip_network('192.168.1.128/26')
for a in ['192.168.1.127','192.168.1.128','192.168.1.190','192.168.1.191']:
print(a, ip.ip_address(a) in net.hosts())
# 只有 192.168.1.190 输出 True
PY四个 /26 块的边界
| 网段 | 可用范围 | 广播 |
|---|---|---|
| 192.168.1.0/26 | .1 – .62 | .63 |
| 192.168.1.64/26 | .65 – .126 | .127 |
| 192.168.1.128/26 | .129 – .190 | .191 |
| 192.168.1.192/26 | .193 – .254 | .255 |
常见考法变形
- 问“有多少个可用地址”:直接算 2^6 − 2 = 62
- 问“能否容纳 60 台主机”:62 个可用够用,余量仅 2 个,需评估增长
- 问“网关可以取哪个地址”:惯例取第一个可用地址,也就是 .129
- 问“.127 属于哪个网段”:它属于前一个块 192.168.1.64/26 的广播地址,常被误判为本块范围
- 问“两个块能否汇总”:192.168.1.128/26 与 192.168.1.192/26 可汇总为 192.168.1.128/25
落地用途
- 写 DHCP 作用域时用它确定起始与结束地址,作用域两端必须排除网络与广播
- 做网关切换演练时用它核对目标地址是否落在同一子网,避免跨段误操作
- 排查“同交换机不通”:先确认两端地址是否落在同一块,跨块的话必须经过三层转发
同一类题只要换前缀就要重算块大小:/25 的块大小是 128,/26 是 64,/27 是 32,块大小错了后面全部结论都会跟着错。
判定可用地址的最稳妥做法不是心算,而是先写出网络地址与广播地址,凡等于这两个的地址一律排除,其余都在可用范围内。