4.1 掩码在切什么:二进制视角(本节最重要)
先看懂这一节,后面所有公式都是自然结果,不用死记。
一个 IPv4 地址是 32 位。192.168.1.100 这种十进制写法只是给人看的,计算机看到的是 32 位二进制:
192 168 1 100 11000000 10101000 00000001 01100100
问题来了:这 32 位里,从哪一位开始是主机号?地址本身不告诉你。掩码就是用来切这一刀的:
- 掩码中 1 的位置 = 网络号;
- 掩码中 0 的位置 = 主机号。
/24 的意思就是"前 24 位是网络号",所以掩码 = 24 个 1 + 8 个 0 = 255.255.255.0。
地址 11000000 . 10101000 . 00000001 . | 01100100
掩码 11111111 . 11111111 . 11111111 . | 00000000
<------- 网络 24 位 ----------> <- 主机 8 位 ->
子网划分的动作只有一句话:从主机号里借几位,当成网络号用。借 3 位,就是把后面 8 位中的前 3 位划给网络:
原 /24: 11000000 . 10101000 . 00000001 . | 00000000 主机 8 位 → 256 个地址
/27: 11000000 . 10101000 . 00000001 . 111 | 00000 主机 5 位 → 32 个地址
^^^
借走 3 位
- 借 3 位 → 能表示 2³ = 8 种组合 → 划出 8 个子网;
- 主机位剩 5 位 → 每子网 2⁵ = 32 个地址 → 可用 30 个。
4.2 三个必须会算的地址
给定"IP + 掩码",要能秒答这三个地址。考试就考这个。
| 名称 | 怎么算 | 能不能给主机用 |
|---|---|---|
| 网络地址 | 主机位全 0(IP AND 掩码) | ❌ 不能 |
| 广播地址 | 主机位全 1 | ❌ 不能 |
| 可用主机地址 | 网络地址 + 1 ~ 广播地址 − 1 | ✅ 能 |
- 每个子网可用主机数 = 2^主机位数 − 2(减掉的 2 就是网络地址和广播地址)。
掩码速查表(背下来,考场直接查用):
| CIDR | 掩码 | 主机位 | 子网内地址数 | 可用主机数 |
|---|---|---|---|---|
| /24 | 255.255.255.0 | 8 | 256 | 254 |
| /25 | 255.255.255.128 | 7 | 128 | 126 |
| /26 | 255.255.255.192 | 6 | 64 | 62 |
| /27 | 255.255.255.224 | 5 | 32 | 30 |
| /28 | 255.255.255.240 | 4 | 16 | 14 |
| /29 | 255.255.255.248 | 3 | 8 | 6 |
| /30 | 255.255.255.252 | 2 | 4 | 2 |
4.3 步长法:30 秒出答案的捷径
考场上不要手算二进制,用步长法一步定位子网段。
最省事的算法:算"步长"。步长 = 256 − 掩码最后一段。比如 /26 → 256 − 192 = 64。 于是子网起点就是 0、64、128、192 这样每隔 64 跳一次。
步长 = 2^主机位 = 256 − 掩码最后一段
为什么 256 − 掩码最后一段 = 步长?(把来源搞懂就永远不会把"步长"和"可用主机数"记混)
掩码 /27 = 255.255.255.224,最后一段 224 = 11100000₂,
前 3 个 1 正是借走的那 3 位。一个子网占满"这 3 位固定、后面 5 位随便变"的全部组合,也就是 2⁵ = 32 个地址。
而 256 − 224 = 32 —— 这两个数永远相等,因为掩码最后一段里"0 的个数"就等于主机位数。
| 掩码最后一段 | 二进制 | 主机位 | 步长(= 每段地址数) | 可用主机数 |
|---|---|---|---|---|
| 128 | 10000000 | 7 | 128 | 126 |
| 192 | 11000000 | 6 | 64 | 62 |
| 224 | 11100000 | 5 | 32 | 30 |
| 240 | 11110000 | 4 | 16 | 14 |
| 248 | 11111000 | 3 | 8 | 6 |
| 252 | 11111100 | 2 | 4 | 2 |
- 子网个数 = 2^n(n = 借的位数)
- 每个子网可用主机数 = 2^(原主机位 − n) − 2
- 新掩码前缀 = 原前缀 + n;步长 = 256 − 新掩码最后一段
- 步长 ≠ 可用主机数:/26 步长 64,可用主机 62。
- 掩码最后一段不是 0 或 128 时,必须算步长,不能凭感觉猜子网起点。
4.4 例题演示(三类题型各一道)
这三道就是考场上会出现的全部花样,每步都写清楚,照抄思路即可。
把 192.168.1.0/24 划分为 8 个子网。
- 要 8 个子网 → 2ⁿ = 8 → 借 3 位(n=3);
- 新前缀 = 24 + 3 = /27,掩码 = 255.255.255.224;
- 每个子网主机数 = 2^(8−3) − 2 = 2⁵ − 2 = 30;
- 步长 = 256 − 224 = 32 → 子网起点:0、32、64、96、128、160、192、224(正好 8 个 ✓);
- 第 3 个子网(起点 64):
- 网络地址:
192.168.1.64 - 可用主机:
192.168.1.65 ~ 192.168.1.94 - 广播地址:
192.168.1.95
- 网络地址:
IP = 192.168.10.130,掩码 = 255.255.255.192(/26)。
- 步长 = 256 − 192 = 64 → 子网段:0–63、64–127、128–191、192–255;
- 130 落在 128–191 这一段;
- 所以:网络地址
192.168.10.128;广播地址192.168.10.191; 可用主机192.168.10.129 ~ 192.168.10.190。
关键动作:先数出 130 落在哪个"64 段"里。这一步比背公式重要。
192.168.1.65/26 和 192.168.1.130/26 在同一子网吗?
- 65 → 落在 64–127 段 → 子网
192.168.1.64; - 130 → 落在 128–191 段 → 子网
192.168.1.128; - 不在同一子网。
课堂练习(4 题)
- 把 172.16.0.0/16 划分成 4 个子网,新掩码是什么?每个子网可用主机数是多少? 答:借 2 位 → 新前缀 /18,掩码 255.255.192.0;每子网 2^(16−2) − 2 = 16382 个可用主机。
- IP = 10.10.10.200,掩码 255.255.255.224(/27),网络地址和广播地址分别是? 答:步长 32 → 200 落在 192–223 段;网络地址 10.10.10.192,广播地址 10.10.10.223。
- 192.168.5.100/28 的网络地址和可用主机范围是? 答:步长 16 → 100 落在 96–111 段;网络地址 192.168.5.96,可用主机 192.168.5.97 ~ 192.168.5.110,广播 192.168.5.111。
- 一个子网掩码是 255.255.255.248,这个子网最多能接几台主机? 答:/29,主机位 3,2³ − 2 = 6 台。
4.5 CIDR 与超网:反向操作
把多个小网"合并"成一个大网,概念题为主。
CIDR(无类别域间路由)用 /n 的写法直接标明网络位数,不再按 A/B/C 类的固定划分。
既然可以借位切细(子网划分),当然也可以"并网"(超网 / 路由聚合):把几个连续的小网段合并成一条更大的路由,
减少路由表条目。
超网示例:把 192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24 合并
↓
192.168.0.0/22 (一条路由顶四条)
说明:0 与 3 的二进制前 22 位相同 → 可以合并为 /22
- 看网络号前缀相同的位数:能合并成几条路由取决于共同前缀的长度(合并后前缀变短)。
- 子网划分 = 前缀变长(切细);超网聚合 = 前缀变短(合并)。
课堂练习(2 题)
- CIDR 写法 /26 表示什么? 答:前 26 位是网络位,对应掩码 255.255.255.192,每子网 64 个地址、62 个可用主机。
- 192.168.4.0/24 和 192.168.5.0/24 能合并成什么? 答:可以合并为 192.168.4.0/23(第三段 4 与 5 的最低位不同,其余相同)。