Appearance
题目
某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是( )。
错因
A
180.80.76.0 是子网网络号(主机位全 0),不是广播地址。广播地址要主机位全 1。错的根源:把"网络号"和"广播地址"颠倒——网络号是子网起点(不可分配给主机、不是广播)、广播地址是子网终点(也不可分配,但是广播)。
B
180.80.76.255 看起来是"第三字节 + 第四字节全 1"——但 /22 掩码下第三字节也是网络位的一部分(高 6 位),第三字节的低 2 位才是主机位。要广播必须全部主机位为 1:第三字节低 2 位 + 第四字节全 1 → 第三字节 = 0100_1111 = 79、第四字节 = 255。所以 180.80.76.255 不对。错的根源:误以为掩码 252 仅锁定 76,但 /22 子网范围跨第三字节 76-79。
C
同 B 一样的错——180.80.77.255 的第三字节 77 在子网范围 [76, 79] 内但不是子网终点。要广播必须取子网范围中的最大第三字节,即 79。错的根源:把"主机所在第三字节"误当成"广播第三字节"。
总解析
第一步:把 IP 和掩码写成二进制
| 字段 | 第 1 字节 | 第 2 字节 | 第 3 字节 | 第 4 字节 |
|---|---|---|---|---|
| IP(180.80.77.55) | 10110100 | 01010000 | 01001101 | 00110111 |
| 掩码(255.255.252.0) | 11111111 | 11111111 | 11111100 | 00000000 |
掩码 252 = 11111100,前 6 位是 1,对应 /22。第三字节高 6 位是网络位、低 2 位是主机位;第四字节全是主机位。
第二步:算子网网络号(主机位全 0)
| 字段 | 第 3 字节计算 | 结果 |
|---|---|---|
IP 第 3 字节 = 01001101 (77) | ||
| 网络位(高 6 位) | 010011 | |
| 主机位置零 | 010011 00 | 76 |
第四字节主机位置零 → 0。
子网网络号 = 180.80.76.0/22。
第三步:算子网广播地址(主机位全 1)
| 字段 | 第 3 字节计算 | 结果 |
|---|---|---|
| 网络位(高 6 位)保持 | 010011 | |
| 主机位(低 2 位)置 1 | 010011 11 | 79 |
第四字节主机位全 1 → 255。
广播地址 = 180.80.79.255。
第四步:核对
| 选项 | 是否广播地址 |
|---|---|
| A 180.80.76.0 | ❌ 网络号 |
| B 180.80.76.255 | ❌ 不是子网终点 |
| C 180.80.77.255 | ❌ 不是子网终点 |
| D 180.80.79.255 | ✅ 子网广播地址 |
子网范围 [76.0, 79.255],广播地址是 79.255。
最终答案是 D(180.80.79.255)。
编者注(生僻术语):/22 掩码的"步长"= 个 IP,跨第三字节 4 个值(每 256 一个)。所以 /22 子网起点必须是第三字节为 4 的整倍数(0, 4, 8, 12, ..., 76, 80, 84, ...),主机 IP 第三字节 77 落在 [76, 79] 这个 /22 子网。
快速心算技巧:看到掩码 252 想"步长 4"——第三字节按 4 整倍数划分。