题干与思路
题目:求 10.10.10.128/25 的广播地址与可用主机范围。做法是先算块大小,/25 还剩 7 位主机位,块大小 128;再看给定地址的末段 128 恰好是一个块的起点,因此本块覆盖 .128 到 .255,广播地址是 .255,可用主机是 .129 到 .254,共 126 个。
基本信息
| 给定网段 | 10.10.10.128/25 |
|---|---|
| 掩码 | 255.255.255.128 |
| 块大小 | 128,末段可取 0 或 128 两个起点 |
| 网络地址 | 10.10.10.128,本块的第一个地址,不可分配 |
| 广播地址 | 10.10.10.255,本块的最后一个地址,不可分配 |
| 可用主机 | 126 个,从 .129 到 .254 |
| 地址总数 | 128 个,其中可用占 126 个 |
解题步骤
解题步骤
① 主机位 = 32 - 25 = 7 位 → 块大小 = 2^7 = 128
② 末段 128 是块起点(128 = 1 × 128)✓
③ 本块范围:.128 - .255
④ 广播 = 网络地址 + 块大小 - 1 = 128 + 128 - 1 = .255
⑤ 可用 = .129 - .254,数量 = 128 - 2 = 126程序验算
程序验算
python -c "import ipaddress as ip; n=ip.ip_network('10.10.10.128/25'); h=list(n.hosts()); print('网络', n.network_address, '首个可用', h[0], '末个可用', h[-1], '广播', n.broadcast_address)"
# 网络 10.10.10.128 首个可用 10.10.10.129 末个可用 10.10.10.254 广播 10.10.10.255同一 /24 的两个 /25
| 网段 | 范围 | 广播 | 可用数 |
|---|---|---|---|
| 10.10.10.0/25 | .0 – .127 | .127 | 126 |
| 10.10.10.128/25 | .128 – .255 | .255 | 126 |
易错点提醒
- 先定位再计算:末段小于 128 的地址属于第一个 /25,末段大于等于 128 的属于第二个,判断错一步后面全错
- 广播地址不是整个 /24 的广播:只有 .255 这一块恰好与 /24 广播重合,另一块的 .127 与它无关
- 写 DHCP 作用域时要排除网络地址与广播地址,作用域起点必须是首个可用地址
- 给网关选地址时通常取首个可用地址,也就是 .129,规划表里要与 DHCP 下发一致
- 若该网段用于点对点链路,两个 /25 仍按常规处理,只有 /31 才有 RFC 3021 的特殊规则
相关变形题
- 若题干改为 10.10.10.0/25,则广播是 .127、可用 .1 到 .126,其余结论完全对称
- 若题干改为求网关地址:惯例取首个可用地址,即 .129,需与 DHCP 下发的默认网关保持一致
- 若题干问能否容纳 130 台主机:126 个可用地址不够,需要升到 /24 或拆成两个 /25
- 若题干问这两个 /25 能否合并汇总:合并结果就是 10.10.10.0/24,一条汇总覆盖两块,条件是两块都属同一规划
同类题只要记住三步:算块大小、找块起点、按起点加块大小减一得广播。中间不需要任何十进制心算技巧。