分类地址怎么算#
一、这一集要解决的问题#
上一集给了三个数:126(A 类网络个数)、1677 万(A 类每网主机数)、254(C 类每网主机数)。
背下来的后果是:换一个类、换一种问法就废了。这一集把每个数从「位数」推出来,只要记住三条就可以现场算:
- 看第一段数字 → 定类别
- 数清网络号有几位 → 可用位 = 位数 − 前缀位数
- 套两次 2 的幂 → 网络数、主机数
二、第一段数字是怎么来的#
分类地址的「类」,是靠地址最开头几位区分的。前缀一锁死,第一段字节的取值就只剩一段连续区间。
| 类 | 前缀 | 8 位首字节的形态 | 最小值 | 最大值 | 第一段范围 |
|---|---|---|---|---|---|
| A | 0 |
0xxxxxxx |
00000000 = 0 |
01111111 = 127 |
0 ~ 127 |
| B | 10 |
10xxxxxx |
10000000 = 128 |
10111111 = 191 |
128 ~ 191 |
| C | 110 |
110xxxxx |
11000000 = 192 |
11011111 = 223 |
192 ~ 223 |
| D | 1110 |
1110xxxx |
11100000 = 224 |
11101111 = 239 |
224 ~ 239 |
| E | 1111 |
1111xxxx |
11110000 = 240 |
11111111 = 255 |
240 ~ 255 |
推法:前缀位固定,剩下的位全填 0 就是最小值,全填 1 就是最大值。
以 C 类为例:110xxxxx,后 5 位全 0 得 11000000 = 192;后 5 位全 1 得 11011111 = 223。
这条推论比背范围表管用得多:前面锁死的 1 越多,第一段数字越大,可用范围越窄。A 类只锁 1 位,所以范围横跨 0~127;D、E 类锁 4 位,范围只剩 16 个数。
三、先会估 2 的幂#
分类地址计算里只会用到这几个数,记住一个锚点就够:
| 幂 | 精确值 | 大约 |
|---|---|---|
| 2⁸ | 256 | 二百五 |
| 2¹⁰ | 1024 | ≈ 一千(锚点) |
| 2¹⁶ | 65536 | ≈ 6.5 万 |
| 2²⁰ | 1048576 | ≈ 100 万 |
| 2²¹ | 2097152 | ≈ 209 万 |
| 2²⁴ | 16777216 | ≈ 1677 万 |
规则:每加 1 次方就是 ×2;每加 10 次方就是 ×1000(因为 2¹⁰ = 1024 ≈ 10³)。
所以 2²⁴ = 2²⁰ × 2⁴ ≈ 100 万 × 16 = 1600 万,和精确值 1677 万只差 5%。
四、网络个数怎么算#
公式:网络数 = 2 的「可用网络位数」次方,可用位 = 网络号位数 − 前缀位数。
| 类 | 网络号位数 | 前缀锁死 | 可用位 | 2 的幂 | 网络数 | 要不要减 2 |
|---|---|---|---|---|---|---|
| A | 8 | 1 | 7 | 2⁷ = 128 | 128 − 2 = 126 | 要 |
| B | 16 | 2 | 14 | 2¹⁴ = 16384 | 16384 | 不要 |
| C | 24 | 3 | 21 | 2²¹ = 2097152 | 2097152 | 不要 |
A 类为什么要减 2#
A 类的网络号是 8 位,取值 0 ~ 127。其中两个被占用:
- 网络号 0:
0.0.0.0,代表「本网络」,不能作为一个具体网络分配给单位; - 网络号 127:
127.0.0.0/8整段留给环回,127.0.0.1就是「找自己」。
所以 A 类可用网络号是 1 ~ 126,共 126 个,对应地址范围 1.0.0.0 ~ 126.255.255.255。
B、C 类为什么一个都不减#
因为 B 类的网络号最小是 10 000000 00000000 = 128.0,不可能出现全 0;最大是 10 111111 11111111 = 191.255,也不可能出现全 1。
全 0 和全 1 这两个特殊情况,只出现在 A 类的范围里。 这不是巧合,是 A 类前缀只有 1 位造成的。
这一点教材没有单独强调,但学生做题最容易错:把 B、C 类也减 2。记住「减 2 只发生在 A 类」。
五、每个网能装多少台主机#
公式:主机数 = 2 的「主机号位数」次方 − 2。
| 类 | 主机号位数 | 2 的幂 | 减 2 后 |
|---|---|---|---|
| A | 24 | 16777216 | 16777214(约 1677 万) |
| B | 16 | 65536 | 65534 |
| C | 8 | 256 | 254 |
减掉的 2 个是:
- 主机号全 0:整个网络本身(网络地址),不能给某台主机;
- 主机号全 1:广播地址,发给本网所有主机,也不能给某一台。
所以「一个 C 类网最多 254 台主机」这句话的完整推导是:2⁸ − 2 = 256 − 2 = 254。
六、四个关键地址#
一个网络的地址空间里,有四个位置必须分清:
| 名称 | 主机号 | 位置 | C 类实例(192.168.1.0 网) |
|---|---|---|---|
| 网络地址 | 全 0 | 最小 | 192.168.1.0 |
| 可用首地址 | 最小 + 1 | 第二个 | 192.168.1.1 |
| 可用末地址 | 最大 − 1 | 倒数第二个 | 192.168.1.254 |
| 广播地址 | 全 1 | 最大 | 192.168.1.255 |
三类网络的完整对照:
| 类别 | 网络地址 | 可用首 | 可用末 | 广播地址 |
|---|---|---|---|---|
| A | 10.0.0.0 | 10.0.0.1 | 10.255.255.254 | 10.255.255.255 |
| B | 172.16.0.0 | 172.16.0.1 | 172.16.255.254 | 172.16.255.255 |
| C | 192.168.1.0 | 192.168.1.1 | 192.168.1.254 | 192.168.1.255 |
记忆抓手:两头不能用,中间才是主机的。
七、两道完整演算#
例 1:210.30.5.7#
| 步 | 做什么 | 结果 |
|---|---|---|
| 1 | 看第一段 210,落在 192 ~ 223 之间 | C 类 |
| 2 | 网络号 24 位 = 前 3 段,主机号 8 位 | 网络地址 210.30.5.0 |
| 3 | 主机号全 1 | 广播地址 210.30.5.255 |
| 4 | 网络地址 +1 到广播 −1 | 可用 210.30.5.1 ~ 210.30.5.254,共 254 个 |
例 2:10.5.100.200#
| 步 | 做什么 | 结果 |
|---|---|---|
| 1 | 看第一段 10,落在 1 ~ 126 之间 | A 类 |
| 2 | 网络号只有 8 位 = 前 1 段,主机号 24 位 | 网络地址 10.0.0.0 |
| 3 | 主机号全 1 | 广播地址 10.255.255.255 |
| 4 | 2²⁴ − 2 | 可用主机 1677 万台 |
两题用完全相同的四步,唯一的差别是主机位从 8 位变成 24 位,数量差 6.6 万倍(2²⁴ ÷ 2⁸ = 2¹⁶ = 65536)。
八、一张速查表#
| 类 | 首段范围 | 网络号位数 | 可用网络位 | 网络数 | 主机位 | 每网主机数 |
|---|---|---|---|---|---|---|
| A | 1 ~ 126 | 8 | 7 | 126 | 24 | 16777214 |
| B | 128 ~ 191 | 16 | 14 | 16384 | 16 | 65534 |
| C | 192 ~ 223 | 24 | 21 | 2097152 | 8 | 254 |
| D | 224 ~ 239 | — | — | 多播,不分配给主机 | — | — |
| E | 240 ~ 255 | — | — | 保留实验,不分配给主机 | — | — |
九、几个容易错的地方#
-
B、C 类也减 2 —— 这是最常见的错。只有 A 类减 2,因为 0 和 127 只出现在 A 类的网络号范围里。
-
把「网络数」和「主机数」的指数搞反 —— 网络数看网络号可用位数(A 类 7 位、B 类 14 位、C 类 21 位);主机数看主机号位数(A 类 24 位、B 类 16 位、C 类 8 位)。两者加起来等于 32(不含前缀位)。
-
A 类是 126 个网不是 128 个 —— 网络号 0 和 127 不能用。
-
可用范围是「网络地址 +1 到广播 −1」 —— 例如 C 类
192.168.1.0网,可用是.1 ~ .254,共 254 个,不是 256 个。 -
0.0.0.0和255.255.255.255是全 32 位的特殊地址,与「网络号全 0 / 主机号全 1」不是一回事,上一集专门讲过,别混淆。
十、这一集的适用范围(重要提醒)#
这一集所有公式都建立在分类地址这个前提上:网络号只能是 8 / 16 / 24 位。