题干与答案
题目:10.10.10.200 配上 /25 掩码,求它所在子网的网络地址与广播地址。答案是网络地址 10.10.10.128/25,广播地址 10.10.10.255,可用范围 10.10.10.129 到 10.10.10.254,共 126 个可用地址。
解题步骤
/25 的点分掩码是 255.255.255.128,末段 128,块大小 256-128=128,因此第 4 段只有两个块起点:0 与 128。200 大于 128,落在后一半,网络地址是 10.10.10.128;广播等于起点加块大小减一,即 128+128-1=255,所以广播是 10.10.10.255。
为什么这题容易错
两个常见误解:一是看到 .255 就以为它是公网广播或非法地址,忘记在 /25 里 .255 正是本段的广播;二是以为 200 属于前半段(.1 到 .127),忽略 /25 的两段各占 128 个地址、分界线在 .128。判断分界线的方法很简单:末段是否大于等于 128,是则落在后半段。
基本信息
| 掩码 | /25 = 255.255.255.128 |
|---|---|
| 块大小 | 128 |
| 网络地址 | 10.10.10.128 |
| 广播地址 | 10.10.10.255 |
| 可用范围 | 10.10.10.129 – 10.10.10.254 |
| 可用主机数 | 126 |
同类题的变体
- 换成 10.10.10.100/25:落在前半段,网络 10.10.10.0、广播 .127
- 问两个地址是否同段:.100 与 .200 分属两段,不同段
- 问下一个网段:后半段之后就是 10.10.11.0,因为 /25 已用满整个 10.10.10.0/24
- 求网关建议取值:惯例取网络地址加一,即 10.10.10.129
- 求 DHCP 池建议范围:从 .150 到 .250 之类,避开网关与静态地址
解题步骤速记
解题步骤速记
① 块大小 = 256 - 128 = 128
② 块起点只有 0 与 128 —— 200 落在 128
③ 网络 10.10.10.128/25;广播 128 + 127 = .255
④ 可用 .129 - .254(126 个)Python 双验证
Python 双验证
python -c "import ipaddress as ip; i=ip.ip_interface('10.10.10.200/25'); print(i.network, i.network.broadcast_address, len(list(i.network.hosts())))"
# 10.10.10.128/25 10.10.10.255 126两个 /25 的完整对照
| 网段 | 可用范围 | 广播 | 本例地址是否属于 |
|---|---|---|---|
| 10.10.10.0/25 | .1 – .126 | .127 | 否 |
| 10.10.10.128/25 | .129 – .254 | .255 | 是 |
把 /24 分成两个 /25 常见于「一个交换机段的终端数超过 126 台但不到 254 台」或「需要把两层楼拆成两个广播域」的场景。拆完后每一半都需要自己的网关地址与 DHCP 作用域。
换成 /26 再算一次
同一地址换成 /26:掩码末段 192、块大小 64,200 除以 64 商 3 余 8,3×64=192,网络地址变成 10.10.10.192/26、广播 .255;换成 /24 时网络地址则是 10.10.10.0/24。三组答案的唯一变量就是掩码,这也说明解题第一步永远是确认掩码,而不是先看地址数值。
如果只改了其中一台设备的掩码而没同步网关,会出现同网段判断不一致的问题:/25 的主机认为对端不同段而把流量交给网关,对端却直接 ARP 找它,结果是单向不通,排查时容易误判为链路故障。