子网划分专题 · 从网络基础到块大小

软考·软件设计师 | 网络必考计算题(5分模块里的送分点)| 目标:闭眼算对

① 先搞懂:为什么需要 IP 地址

网络里成千上万台设备,A 要给 B 发数据,怎么找到 B?靠 IP 地址——它就是网络世界的"门牌号"。

但数据不是一步飞到终点的,它要经过很多路由器接力转发(像快递中转)。路由器怎么知道往哪转?它只看 山IP 地址里的"网络部分"——同一网络的一起走,不同网络的走对应出口。

所以 IP 地址必须能被切成两块:网络号(你在哪个网)+ 主机号(你是网里哪台)。

一句话核心:IP 地址 = 网络部分 + 主机部分。
而子网掩码,就是那把"切这一刀"的尺子——它决定"前多少位是网络、后多少位是主机"。

② IP 地址长什么样

IPv4 地址是 32 位二进制,为了好记,切成 4 段(每段 8 位 = 1 字节),每段转成十进制,用点隔开,叫"点分十进制"。

192
11000000
第1段
.
168
10101000
第2段
.
10
00001010
第3段
.
130
10000010
第4段
关键认知:每一段是 8 位二进制,能表示 0 ~ 255,一共 256 个数。
这个"256"后面算块大小要用到,先记住它从哪来——8 位全排一遍 = 2⁸ = 256。

③ 必备:8 位二进制的"位权"

看一个二进制数是多少,就把为 1 的那几位对应的权值加起来。8 位的权值固定:

1
1
1
1
0
0
0
0
位置第1位第2位第3位第4位第5位第6位第7位第8位
权值1286432168421

例:11110000 = 128+64+32+16 = 240 | 11000000 = 128+64 = 192 | 11100000 = 224

④ 子网掩码:那把握尺子的手

掩码也是 32 位。它的规则是:左边连续一串 1(对应网络位),右边连续一串 0(对应主机位),中间不会夹生。

例:掩码 255.255.255.192

1
1
0
0
0
0
0
0

↑ 这片是最后一段(192)。前 2 位=1(网络,锁死)|后 6 位=0(主机,能变)

关键:最后一段掩码 192 后面有 6 个 0 → 说明主机位有 6 位 → 这段能装 2⁶ = 64 个地址 → 这就是 块大小 = 64。

④·补充 核心前置:网络号、主机号、子网、借位一次说清

看真题卡壳?全是这四个词的锅。从最底下搭一遍。

第 0 层:一个 IP = 网络号 + 主机号

像快递地址 幸福小区3栋 802室:小区决定送到哪个区域,门牌决定哪一户。

IP 32 位也拼成两截:网络号(哪个网络)+ 主机号(网里哪台机器)。路由器先按网络号把包送到正确的网络,进了网络再按主机号送到具体机器。

第 1 层:靠掩码"划线"

IP 自己不说前几位是网络号,靠掩码划:左边一串 1 = 网络号,右边一串 0 = 主机号。

11111111.11111111.11111111
00000000
网络号 · 24 位
主机号 · 8 位

掩码 255.255.255.0 = 11111111.11111111.11111111.00000000

所以 /24 和 255.255.255.0 说的是同一件事:前 24 位网络、后 8 位主机。

第 2 层:子网 = 大网络里再分的小组

公司大网 192.168.1.0/24(254 台),要分给财务部、技术部、行政部各一组——把大网切成几个小组,每组就是一个"子网"。作用:隔离 + 好管理。(就像小区分成 A 区/B 区/C 区)

第 3 层:借位(真题那句"借 2 位"的来历)

/24 时,最后 8 位全给主机号,用来数"第几台机器":

192 . 168 . 1 .
主机号 · 8 位

8 位主机号能表示 2⁸ = 256 个地址(可用 254 台)

要分小组,就得有"组号"。于是从这 8 位里,切最左边 2 位出来当组号:

192 . 168 . 1 .
组号
2 位
主机号
6 位

↑ 组号这 2 位,本来是给主机的,现在被"借"去当组号了

这 2 位本来是给主机的,现在被"借"去当组号了 → 这就叫"借位"。

部分位数能表示多少
组号(借来的)2 位2² = 4 个组(4 个子网)
主机号(剩下的)6 位2⁶ = 64 个地址 → 每组可用 64 − 2 = 62 台

组号 2 位能排出 00/01/10/11 四种 → 正好 4 个组。

三句话记住:
• 网络号 = 哪个大网络(掩码里连续 1 那部分)
• 主机号 = 网里哪台机器(掩码里连续 0 那部分)
• 借位 = 划子网时从主机号里借前面几位当"子网号",借 k 位 → 分 2^k 个子网
网络号 24 位
主机号 8 位
没划子网(/24)
网络号 24 位
子网号
2 位
主机号
6 位
划子网后(/26) ↑ 这 2 位就是从主机号里"借"的

k 和 h 的关系(理解全局的钥匙)

令 k = 借位数(子网号位数),h = 剩余主机号位数。它俩是同一块蛋糕切出的两半:

原来的主机号
原始主机位数
k 位 · 子网号(借走)
h 位 · 主机号(剩下)

k + h = 原始主机位数(不变量)

三个恒定关系:
• k = 新前缀 − 旧前缀(借了几位)
• h = 32 − 新前缀(还剩几位)
• k + h = 32 − 旧前缀 = 原始主机位数(永远成立)

零和博弈:k 借得多 → 子网数 2^k 多、每网主机 2^h−2 少;反之亦然。

/24 完整对照表

k 借位子网数 2^kh 主机位每网可用 2^h−2新前缀
018254/24
127126/25
24662/26
38530/27
416414/28
53236/29
66422/30

竖着看:k 每 +1 → 子网数翻倍、h 减 1、每网主机砍半。k + h 恒等于 8。

⚠️ 最容易混的减2:
子网个数 = 2^k(不减2)(教材原话"4位子网化产生16个子网"=2⁴)
每网可用主机 = 2^h − 2(减2)(刨掉网络地址+广播地址)

⑤ 核心概念:块大小(一个子网装多少地址)

块大小 = 每段掩码把这一整段(256 个地址)切成了几块,每块多大。

两种算法,结果一样

算法 A(好算):块大小 = 256 − 掩码最后一段 → 256 − 192 = 64

算法 B(本质):数掩码二进制后面有几个 0,块大小 = 2^(0的个数) → 192=11000000,6 个 0,2⁶ = 64

为什么是 256 不是 255?
一段 8 位能表示 0 ~ 255,数一数:0 到 255 一共 256 个数(别忘了算上 0)。
所以"一整段可容纳量 = 256",减去被掩码 1 锁死的高位部分,剩下就是主机那块。

掩码速查表(背下来,比算快)

掩码末段二进制后面 0 的个数块大小每块可用主机(−2)
0000000008256254
128100000007128126
1921100000066462
2241110000053230
2401111000041614
24811111000386
25211111100242
25411111110120

规律:掩码每多一个 1,块大小砍一半 → 256,128,64,32,16,8,4,2。

⚠️ 上面这张表只覆盖"末段划分"(前 3 段都是 255,即 /24 ~ /30)。
如果掩码前面某段不是 255(如 255.255.0.0 = /16),变化横跨多段,必须用万能公式:
可用主机 = 2^(32 − 前缀长度) − 2
前缀掩码主机位块大小可用主机
/8255.0.0.0242²⁴=1677万16,777,214
/16255.255.0.0162¹⁶=6553665,534
/24255.255.255.08256254
/26255.255.255.19266462
/27255.255.255.22453230

判断:斜杠数字 ÷ 8 = 固定前几段。固定了前 3 段(/24~30)才可以用"末段减法";否则一律用万能公式。

⑥ 把 IP 卡进格子:找网络地址 / 广播地址

块大小定好后,整个网段就被切成等宽格子。每格里要记住三条规矩:

块头(第一个)= 网络地址(代表整个子网,不能给主机用)
块尾(最后一个)= 广播地址(发给全网,不能给主机用)
中间 = 可用主机地址(数量 = 块大小 − 2)

例题:IP = 192.168.10.130,掩码 = 255.255.255.192

  1. 算块大小:256 − 192 = 64
  2. 前 3 段不变(255.255.255),只看最后一段 130 落在哪个 64 的格子
  3. 从 0 开始切:0-63 / 64-127 / 128-191 / 192-255 → 130 在 128~191
  4. 块头 = 128 → 网络地址 192.168.10.128 | 块尾 = 191 → 广播地址 192.168.10.191
  5. 可用主机范围:129 ~ 190,共 62 台
另一招(位与运算):网络地址 = IP AND 掩码(逐位与)。
130 = 10000010,192 = 11000000 → AND = 10000000 = 128。(前面都是 1,结果不变)
考试用"切格子"法更快,位与法用来验证。

⑦ 反向考法:给主机数,求掩码(第 5 题思路)

题目:"某部门有 50 台主机,从 192.168.1.0 里划子网,掩码选多少?"

这是倒过来:不是给掩码求范围,而是给"要装多少人"求掩码。

  1. 先确定要几个主机位。主机数 = 2^主机位 − 2 ≥ 50 → 需要满足 2^n − 2 ≥ 50
  2. 试 n:2⁵=32(32−2=30 < 50,不够);2⁶=64(64−2=62 ≥ 50,够)→ 主机位 = 6
  3. 反过来推掩码。一段 8 位里,6 位给主机 → 剩下 2 位给网络 → 掩码末段 = 11000000 = 192
  4. 所以掩码 = 255.255.255.192,答案 A
为什么不能选 224?因为 224 的块大小 32 → 可用 30 台 < 50,装不下。
为什么不选 128?128 的块大小 128 → 可用 126 台,够但浪费太多(题目要"不浪费太多")。
所以选"刚好够用的最小块"。这就叫按需子网划分。

⑧ 自测 4 道(点按钮看解析)

练 1:IP 172.16.5.200,掩码 255.255.255.224,网络地址 + 可用主机数?
A. 172.16.5.192 / 30  B. 172.16.5.200 / 32  C. 172.16.5.192 / 32  D. 172.16.5.224 / 30

答案 A

块大小 = 256 − 224 = 32(224=11100000,5 个 0 → 2⁵=32)。
200 落哪块?0-31 / 32-63 / 64-95 / 96-127 / 128-159 / 160-191 / 192-223 → 200 在 192~223。
网络地址 = 172.16.5.192,可用主机 = 32 − 2 = 30。
练 2:IP 10.20.30.100,掩码 255.255.255.240,网络地址 + 广播地址?
A. 10.20.30.96 / 10.20.30.111  B. 10.20.30.100 / 10.20.30.115  C. 10.20.30.96 / 10.20.30.95  D. 10.20.30.112 / 10.20.30.127

答案 A

块大小 = 256 − 240 = 16(240=11110000,4 个 0)。
100 落哪块?96-111 这块(0-15/16-31/.../96-111/112-127)→ 网络地址 10.20.30.96,广播 10.20.30.111。
练 3:某子网掩码 255.255.255.248,每个子网最多容纳多少台主机?
A. 6  B. 8  C. 14  D. 30

答案 A

块大小 = 256 − 248 = 8。
可用主机 = 块大小 − 2 = 8 − 2 = 6(减掉网络地址和广播地址)。
练 4(反向):某部门需要 25 台主机,从 192.168.1.0 划子网,掩码选?
A. 255.255.255.192  B. 255.255.255.224  C. 255.255.255.240  D. 255.255.255.248

答案 B

要满足 2^n − 2 ≥ 25:2⁴=16(14<25✗);2⁵=32(30≥25✓)→ 主机位 5。
8 − 5 = 3 位给网络 → 掩码末段 = 11100000 = 224。
即 255.255.255.224(每块 32 个,可用 30,刚好够且不太浪费)。

⑨ 真题实战

【软考真题】将 192.168.1.0/24 划分为多个子网,若某子网的掩码是 255.255.255.192,则该网段最多可划分为几个子网?每个子网可用主机数?

答案:最多划分 4 个子网,每个子网可用主机 62 台

第①步:看清原来的样子(/24)

/24 = 前 24 位网络号、后 8 位主机号。原本一整段能装 2⁸ = 256 个地址,可用 254 台。

网络号 · 24 位
主机号 · 8 位

第②步:看清目标(255.255.255.192 = /26)

192 = 11000000,比 /24 多出 2 个 1 → 网络位从 24 变 26,多借 2 位。

网络号 · 24 位
子网号
2 位
主机号
6 位

原来 8 位主机 = 现在的「子网号 2 位 + 主机号 6 位」

核心动作:从原来的"主机位"里,借走 2 位当"子网号"。原来 8 位主机 → 现在 2 位子网 + 6 位主机。

第③步:算能划几个子网

只看"借走了几位":借 2 位 → 子网数 = 2² = 4 个。
(借来的 2 位能组合出 00 / 01 / 10 / 11 四种,各对应一个子网号)

第④步:算每个子网能装多少主机

只看"剩下的主机位":8 − 2 = 6 位 → 块大小 2⁶ = 64 → 可用 64 − 2 = 62 台。
(减 2:块头网络地址、块尾广播地址都不能给主机)

第⑤步:4 个子网摊开验证

子网子网号范围(末段)网络地址广播地址可用主机
1000~63192.168.1.0192.168.1.63.1~.62(62台)
20164~127192.168.1.64192.168.1.127.65~.126(62台)
310128~191192.168.1.128192.168.1.191.129~.190(62台)
411192~255192.168.1.192192.168.1.255.193~.254(62台)

4 个子网 × 62 = 248 台(原 254 台少的 6 台,就是被 4 个新网络/广播地址吃掉的)。
格头 .0 / .64 / .128 / .192 正好是块大小 64 切出来的,完全吻合。

🎯 通用公式(设从 /n 借 k 位变成 /(n+k))
子网数 = 2^k (k = 新网络位 − 旧网络位)
主机位 = 32 − 新网络位
块大小 = 2^主机位 | 可用主机 = 2^主机位 − 2

本题:旧/24、新/26 → k=2 → 子网数 2² = 4;主机位 32−26 = 6 → 可用 2⁶−2 = 62
🎯 万能四步(考试照抄)
  1. 看掩码末段 → 算 块大小(256 − 末段,或 2^末尾0的个数)
  2. 把目标 IP 末段往块里卡 → 定位是哪一块
  3. 块头=网络地址,块尾=广播地址,中间=可用主机(主机数=块大小−2)
  4. 反向题:先算 2^n − 2 ≥ 需要的主机数 定主机位,再倒推掩码
⚠️ 三个必考陷阱
1. 可用主机要 −2(网络地址 + 广播地址不能给主机)。
2. 私有地址范围:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。特殊:127 回环、169.254 链路本地、0.0.0.0 本机。
3. 掩码合法值只有:0,128,192,224,240,248,252,254,255——出现别的(如 200)就是错的。
软考·软件设计师 | 子网划分专题 | 配套:冲刺总笔记「三、计算机网络」
学习路径:本页 → 做 20 道同类题 → 记进错题集 → 冲刺期回顾