1367 字
7 分钟
网络学习(三):把子网划分、VLSM 与 CIDR 汇总算明白

1. 从“看得懂掩码”到“自己划地址”#

上一篇里,掩码用来区分网络位和主机位。这一篇整理第五天笔记中的计算题。

子网划分可以先抓住一个变化:

从原有主机位中借出一些位,作为更长的网络前缀。

前缀变长,子网数量增加,每个子网能容纳的主机数量减少。

2. 先记住两个计算关系#

从一个地址块中借 n 位,等长划分后可以得到 2^n 个子网。

一个 IPv4 前缀长度为 p 的地址块,包含 2^(32-p) 个地址。对普通多接入子网,通常要减去网络地址和广播地址,得到可用主机地址数量。

前缀掩码总地址数普通子网可用主机数
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
NOTE

这里的“减 2”适用于表中的普通子网。点到点链路上的 /31 和单地址 /32 有不同用途,不能机械套用这个公式。

3. 把 192.168.1.0/24 分成两个子网#

需要两个等大的子网,借 1 位即可:

原来:192.168.1.HHHHHHHH /24
现在:192.168.1.NHHHHHHH /25
N = 0:最后一段 00000000~01111111,即 0~127
N = 1:最后一段 10000000~11111111,即 128~255

N 是新借出的网络位,H 是剩余主机位。

子网可用主机范围广播地址
192.168.1.0/25192.168.1.1~192.168.1.126192.168.1.127
192.168.1.128/25192.168.1.129~192.168.1.254192.168.1.255

第二个子网从 .128 开始,.128 本身是网络地址,不能把它分配给普通终端。

如果把 .126/25 和 .129/25 配在两台主机上,尽管前三段相同,它们也已经不属于同一个 IP 子网。

4. 把 192.168.0.0/24 分成四个子网#

四个等长子网需要借 2 位:/24 + 2 = /26。

最后一段的子网编号依次是 00、01、10、11,剩下 6 位主机位,所以每块有 64 个地址。

子网可用主机范围广播地址
192.168.0.0/26192.168.0.1~192.168.0.62192.168.0.63
192.168.0.64/26192.168.0.65~192.168.0.126192.168.0.127
192.168.0.128/26192.168.0.129~192.168.0.190192.168.0.191
192.168.0.192/26192.168.0.193~192.168.0.254192.168.0.255

也可以用块大小快速检查:

256 - 192 = 64
网络地址的最后一段:0、64、128、192

这里的 192 来自掩码最后一段 255.255.255.192。块大小法很好用,但要找准掩码发生变化的字节。

5. 172.16.0.0/16 至少要划六个子网#

六不是 2 的整数次幂,所以要找到满足要求的最小位数:

2^2 = 4,不够
2^3 = 8,足够
新前缀:/16 + 3 = /19
新掩码:255.255.224.0
第三段步长:256 - 224 = 32

实际得到八个等长子网,可以使用其中六个,把另外两个留作扩展。

子网可用主机范围广播地址
172.16.0.0/19172.16.0.1~172.16.31.254172.16.31.255
172.16.32.0/19172.16.32.1~172.16.63.254172.16.63.255
172.16.64.0/19172.16.64.1~172.16.95.254172.16.95.255
172.16.96.0/19172.16.96.1~172.16.127.254172.16.127.255
172.16.128.0/19172.16.128.1~172.16.159.254172.16.159.255
172.16.160.0/19172.16.160.1~172.16.191.254172.16.191.255
172.16.192.0/19172.16.192.1~172.16.223.254172.16.223.255
172.16.224.0/19172.16.224.1~172.16.255.254172.16.255.255

每个 /19 剩下 13 位主机位,因此总地址数是 8192,普通可用主机数是 8190。

6. VLSM 的重点是按不同需求使用不同掩码#

前面几道题都采用等长划分。VLSM,即可变长子网掩码,进一步允许同一个原始地址块内部使用不同长度的子网前缀。

补一个规划例子:现有 192.168.10.0/24,三个部门分别需要容纳 100、50、20 个接口地址,这些数量已经包含网关等需要占用地址的接口。

先从需求最大的开始:

用途需求分配子网可用主机范围广播地址
A 部门100192.168.10.0/25.1~.126.127
B 部门50192.168.10.128/26.129~.190.191
C 部门20192.168.10.192/27.193~.222.223
预留—192.168.10.224/27.225~.254.255

表中省略的前三段均为 192.168.10。

检查规划时,至少确认三件事:容量够不够,地址块有没有重叠,网络地址是否落在对应前缀的边界上。

例如 /26 的边界按 64 递增,所以 192.168.10.160/26 不是一个规范的网络地址写法。这个地址实际属于 192.168.10.128/26。

7. 汇总要找共同前缀,也要看覆盖范围#

子网划分把前缀变长,汇总通常把多个前缀概括成一个更短的前缀。

课堂里的方法是“取相同,去不同”,这里比较的是二进制高位。

例如:

192.168.0.0/24 → 第三段 00000000
192.168.1.0/24 → 第三段 00000001
↑ 只有最后 1 位不同

前两段 16 位相同,第三段前 7 位相同,因此可精确汇总为:

192.168.0.0/23

它刚好覆盖这两个 /24。

类似地,172.16.0.0/24、172.16.1.0/24、172.16.2.0/24 和 172.16.3.0/24 可以精确汇总为 172.16.0.0/22。

7.1 连续不一定意味着可以精确合并#

如果原始网段是:

192.168.1.0/24
192.168.2.0/24
192.168.3.0/24

用单个前缀覆盖它们,最小的是 192.168.0.0/22,但它同时覆盖了原来没有列出的 192.168.0.0/24。

这在数学上是一个覆盖范围更大的地址块;放到实际路由配置中,就必须确认额外范围是否也应该由该方向承接,否则可能造成误导流量或黑洞。

不要只检查“能不能算出共同前缀”,还要检查“算出来以后多包含了谁”。

8. CIDR 与 VLSM 放在一起理解#

VLSM 强调按需求分配不同大小的子网。CIDR 强调以任意长度前缀表达和路由地址块,摆脱传统 A、B、C 类边界,也支持路由聚合。

所以把 CIDR 只背成“汇总”仍然太窄。它让 /19、/23、/27 这样的前缀成为路由中的直接依据。

做题时可以按这个顺序检查:

  1. 题目要求多少个子网,或者每个子网要容纳多少主机?
  2. 需要借几位,或保留几位主机位?
  3. 新掩码和块大小分别是多少?
  4. 网络地址、广播地址和可用范围是否对齐?
  5. 如果做汇总,有没有额外覆盖不该包含的地址?

下一篇:协议分层、TCP 与 MTU/MSS。

网络学习(三):把子网划分、VLSM 与 CIDR 汇总算明白
https://bbcslook.top/posts/networklearning/hcia-03-subnetting-cidr/
作者
BBCSLOOK
发布于
2026-10-13
许可协议
CC BY-NC-SA 4.0

评论区

CC