子网掩码、块大小、网络地址、广播地址,这一串到底怎么快速判断
本文最后更新于2 天前,其中的信息可能已经过时,如有错误请发送邮件到184874483@qq.com

这一块确实是 IPv4 编址里最容易“看懂了但做题慢”的地方。因为原理并不难,难的是考场上不能每次都老老实实转完整二进制。真正做题时,必须形成一种半口算、半模板化的判断习惯。

这一部分的核心其实就三句话:

第一,先看前缀长度,也就是前面连续有多少个 1
第二,找到“不是 255 也不是 0 的那个字节”,块大小就由它决定
第三,主机地址落在哪个块里,那个块的起点就是网络地址,块的终点就是广播地址。

只要这三步稳了,后面同子网、默认网关、广播地址、CIDR 范围,都会连起来。


一、如何通过子网掩码快速判断前缀长度

最直接的思路就是:255 算 8 位,0 算 0 位,中间值背下来。

最值得背的一张表

掩码字节二进制贡献的前缀位数块大小
2551111111181
2541111111072
2521111110064
2481111100058
24011110000416
22411100000332
19211000000264
128100000001128
0000000000256

这张表最好直接背住。因为考试里真正变化的,几乎总是这几个数。


例子:255.255.240.0 的前缀长度怎么快速判断

不用完整写二进制,直接拆:

  • 第一个 255 → 8 位
  • 第二个 255 → 8 位
  • 第三个 240 → 4 位
  • 第四个 0 → 0 位

所以前缀长度就是:

8 + 8 + 4 = 20

因此:

255.255.240.0 = /20


再举几个典型口算

  • 255.255.255.248 → 8 + 8 + 8 + 5 = /29
  • 255.255.255.224 → 8 + 8 + 8 + 3 = /27
  • 255.255.192.0 → 8 + 8 + 2 = /18
  • 255.255.252.0 → 8 + 8 + 6 = /22

考场上看到这些,应该尽量做到一眼反应,不再重写二进制。


二、如何快速通过子网掩码判断块大小

这一点是最关键的。
真正做题时,块大小 = 256 – 该关键掩码字节的值

这里的“关键掩码字节”就是:

从左到右,第一个不是 255、也不是 0 的字节。

因为:

  • 前面全是 255 的字节,说明这些位已经完全固定,是网络部分
  • 后面全是 0 的字节,说明这些位完全是主机部分
  • 只有中间那个“半满不满”的字节,决定块怎么切

例子 1:255.255.240.0

关键字节是第三个字节的 240。

块大小:

256 - 240 = 16

所以第三个字节按 16 一组来分块:

  • 0~15
  • 16~31
  • 32~47
  • 48~63
  • 64~79
  • 80~95
  • 96~111
  • 112~127
  • 128~143
  • 144~159
  • 160~175
  • 176~191
  • 192~207
  • 208~223
  • 224~239
  • 240~255

这就是 /20 网络在第三个字节上的分块方式。


例子 2:255.255.255.224

关键字节是 224。

块大小:

256 - 224 = 32

所以最后一个字节按 32 一组来分:

  • 0~31
  • 32~63
  • 64~95
  • 96~127
  • 128~159
  • 160~191
  • 192~223
  • 224~255

例子 3:255.255.255.248

关键字节是 248。

块大小:

256 - 248 = 8

所以最后一个字节按 8 一组来分:

  • 0~7
  • 8~15
  • 16~23
  • 24~31
  • 248~255

三、如何快速判断“这个主机地址具体落在哪个块里”

这一步才是做题最核心的技巧。

方法很简单:

第一步

先找到关键字节和块大小。

第二步

只看主机地址在那个关键字节上的数值。

第三步

看它落在哪个分组区间。

那个区间的起点,就是网络地址在该字节上的值;
那个区间的终点,就是广播地址在该字节上的值。


四、为什么网络地址一定能确定

因为子网掩码已经决定了块大小,块大小又决定了分块边界
而主机地址一旦给出,它就一定落在某一个确定的块中,不可能同时落在两个块里。

所以:

主机地址 + 子网掩码 → 所属块唯一确定 → 网络地址和广播地址唯一确定。

这就是为什么网络地址是“必然能算出来”的,不是猜的。


五、完整走一遍

已知

主机地址:200.15.10.6/29
默认网关:200.15.10.7

现在一步一步算。


第一步:先看 /29 对应什么掩码

/29 = 255.255.255.248

因为最后一个字节 248 对应 5 位前缀贡献。


第二步:求块大小

关键字节是最后一个字节 248。

块大小:

256 - 248 = 8

所以最后一个字节按 8 一组来分:

  • 0~7
  • 8~15
  • 16~23
  • 24~31
  • 32~39
  • 40~47

第三步:看主机地址 200.15.10.6 落在哪个块

它最后一个字节是 6。
6 落在区间:

0~7

所以这个子网就是:

  • 网络地址:200.15.10.0
  • 广播地址:200.15.10.7

中间可用主机地址为:

200.15.10.1 ~ 200.15.10.6


第四步:解释为什么默认网关 200.15.10.7 错了

因为刚才已经算出:

  • 网络地址:200.15.10.0
  • 广播地址:200.15.10.7

而默认网关必须是同一子网中的某个合法主机地址,也就是应该落在:

200.15.10.1 ~ 200.15.10.6

但是 .7 是这个块的最后一个地址,也就是广播地址,不是合法主机地址。
所以它不能作为默认网关。


六、广播地址是不是“这个块的最后一位”?

这个理解基本是对的,但最好说得更准确一点:

广播地址就是这个块中的最后一个地址。

比如:

  • 块是 0~7,那么广播地址就是 7
  • 块是 32~63,那么广播地址就是 63
  • 块是 64~95,那么广播地址就是 95

所以可以记成:

网络地址 = 这个块的起点
广播地址 = 这个块的终点

这个说法在考试里非常好用。


七、为什么“网络地址是块起点,广播地址是块终点”

因为:

  • 网络地址:主机位全 0
  • 广播地址:主机位全 1

而一个块本质上就是“网络位固定、主机位变化”的全部组合。

所以:

  • 主机位最小,也就是全 0 → 块起点 → 网络地址
  • 主机位最大,也就是全 1 → 块终点 → 广播地址

这背后其实就是二进制大小规律,只不过考试里不需要每次展开写。


八、考场上最快的做题模板

以后遇到“主机地址 / 前缀长度,求网络地址、广播地址、主机范围”这类题,直接按下面做:

模板

1. 先把前缀换成熟悉的掩码

例如:

  • /29 → 255.255.255.248
  • /27 → 255.255.255.224
  • /22 → 255.255.252.0
  • /20 → 255.255.240.0

2. 找关键字节

也就是第一个不是 255 也不是 0 的字节。

3. 求块大小

块大小 = 256 - 关键字节

4. 看主机地址在这个字节上的值落在哪个区间

区间起点就是网络地址该字节值,
区间终点就是广播地址该字节值。

5. 写完整地址

前面不变,关键字节改成区间起点或终点,后面:

  • 网络地址后面的字节全写 0
  • 广播地址后面的字节全写 255

九、再补两个最应该熟练的例子

例 1:172.16.10.66/27

/27 = 255.255.255.224

块大小:

256 - 224 = 32

最后一个字节按 32 分块:

  • 0~31
  • 32~63
  • 64~95
  • 96~127

66 落在 64~95

所以:

  • 网络地址:172.16.10.64
  • 广播地址:172.16.10.95
  • 主机范围:172.16.10.65 ~ 172.16.10.94

例 2:126.166.66.99/22

/22 = 255.255.252.0

关键字节是第三个字节 252。

块大小:

256 - 252 = 4

第三个字节按 4 分块:

  • 0~3
  • 4~7
  • 64~67
  • 68~71

66 落在 64~67

所以:

  • 网络地址:126.166.64.0
  • 广播地址:126.166.67.255
  • 主机范围:126.166.64.1 ~ 126.166.67.254

十、最后把这一整块压成一句口诀

可以记成这样:

先找掩码前缀,后找关键字节;块大小用 256 减;主机落在哪一块,块头就是网络地址,块尾就是广播地址。

再压缩一点就是:

255 全算满,0 全不算;中间那个最关键,256 一减看分段;落在哪段就归哪网,段首网络、段尾广播。


十一、这一块最容易错的地方

1. 把广播地址当成可分配主机地址

200.15.10.7/29 这种,最容易误当成一个普通地址。
但它其实是 0~7 这个块的最后一个地址,也就是广播地址。

2. 只会求块大小,不会定位落在哪个块

知道 /29 块大小是 8 还不够,关键是还要立刻看到:
6 落在 0~7,所以网络地址就是 0。

3. 看到 CIDR 表示时,以为写出来的那个地址就是网络地址

例如 192.168.10.0/20,很多人会误以为网络地址就是 192.168.10.0
其实 /20 的块大小是 16,10 落在 0~15,所以真正网络地址是 192.168.0.0


常见前缀长度与块大小速查表

这一张表其实就是做 IPv4 子网题最该背下来的东西。
只要把它背熟,很多题就不需要再临时算二进制了,尤其是 /20 到 /30 这一段,几乎是考试高频区。


一、先记住最核心的换算表

前缀长度子网掩码关键字节块大小
/20255.255.240.024016
/21255.255.248.02488
/22255.255.252.02524
/23255.255.254.02542
/24255.255.255.02551 个 C 类网段
/25255.255.255.128128128
/26255.255.255.19219264
/27255.255.255.22422432
/28255.255.255.24024016
/29255.255.255.2482488
/30255.255.255.2522524

这里要注意一件事:

  • /20 ~ /23 的块大小,通常体现在第三个字节
  • /25 ~ /30 的块大小,通常体现在第四个字节

所以做题时,别只记块大小,还要知道它是在哪个字节上分块。


二、/20 到 /23:第三个字节怎么分段

这一段经常用于 CIDR 地址块范围题、路由聚合题、网络地址与广播地址判断题。


/20 = 255.255.240.0

块大小:

256 - 240 = 16

所以第三个字节按 16 分段:

  • 0~15
  • 16~31
  • 32~47
  • 48~63
  • 64~79
  • 80~95
  • 96~111
  • 112~127
  • 128~143
  • 144~159
  • 160~175
  • 176~191
  • 192~207
  • 208~223
  • 224~239
  • 240~255

快速例子

192.168.10.0/20

第三个字节是 10,落在 0~15,所以:

  • 网络地址:192.168.0.0
  • 广播地址:192.168.15.255

/21 = 255.255.248.0

块大小:

256 - 248 = 8

所以第三个字节按 8 分段:

  • 0~7
  • 8~15
  • 16~23
  • 24~31
  • 32~39
  • 40~47
  • 48~55
  • 56~63
  • 64~71
  • 72~79
  • 80~87
  • 88~95
  • 96~103
  • 104~111
  • 112~119
  • 120~127
  • 128~135
  • 136~143
  • 144~151
  • 152~159
  • 160~167
  • 168~175
  • 176~183
  • 184~191
  • 192~199
  • 200~207
  • 208~215
  • 216~223
  • 224~231
  • 232~239
  • 240~247
  • 248~255

/22 = 255.255.252.0

块大小:

256 - 252 = 4

所以第三个字节按 4 分段:

  • 0~3
  • 4~7
  • 8~11
  • 12~15
  • 16~19
  • 20~23
  • 24~27
  • 28~31
  • 32~35
  • 36~39
  • 40~43
  • 44~47
  • 48~51
  • 52~55
  • 56~59
  • 60~63
  • 64~67
  • 68~71
  • 72~75
  • 76~79
  • 80~83
  • 84~87
  • 88~91
  • 92~95
  • 96~99
  • 100~103
  • 104~107
  • 108~111
  • 112~115
  • 116~119
  • 120~123
  • 124~127
  • 128~131
  • 132~135
  • 136~139
  • 140~143
  • 144~147
  • 148~151
  • 152~155
  • 156~159
  • 160~163
  • 164~167
  • 168~171
  • 172~175
  • 176~179
  • 180~183
  • 184~187
  • 188~191
  • 192~195
  • 196~199
  • 200~203
  • 204~207
  • 208~211
  • 212~215
  • 216~219
  • 220~223
  • 224~227
  • 228~231
  • 232~235
  • 236~239
  • 240~243
  • 244~247
  • 248~251
  • 252~255

快速例子

126.166.66.99/22

第三个字节 66 落在 64~67,所以:

  • 网络地址:126.166.64.0
  • 广播地址:126.166.67.255

/23 = 255.255.254.0

块大小:

256 - 254 = 2

所以第三个字节按 2 分段:

  • 0~1
  • 2~3
  • 4~5
  • 6~7
  • 64~65
  • 66~67
  • 254~255

快速例子

若地址是 172.16.10.6/23

第三个字节 10 落在 10~11,所以:

  • 网络地址:172.16.10.0
  • 广播地址:172.16.11.255

三、/24 到 /30:第四个字节怎么分段

这一段是子网划分题最常考的部分,尤其 /26、/27、/28、/29、/30。


/24 = 255.255.255.0

这一类最简单,整个第四个字节都是主机号。

所以:

  • 网络地址:第四个字节 = 0
  • 广播地址:第四个字节 = 255
  • 主机范围:1~254

例子

192.168.1.25/24

  • 网络地址:192.168.1.0
  • 广播地址:192.168.1.255

/25 = 255.255.255.128

块大小:

256 - 128 = 128

第四个字节分段:

  • 0~127
  • 128~255

例子

192.168.1.130/25

130 落在 128~255

  • 网络地址:192.168.1.128
  • 广播地址:192.168.1.255

/26 = 255.255.255.192

块大小:

256 - 192 = 64

第四个字节分段:

  • 0~63
  • 64~127
  • 128~191
  • 192~255

例子

192.168.1.130/26

130 落在 128~191

  • 网络地址:192.168.1.128
  • 广播地址:192.168.1.191
  • 主机范围:129~190

/27 = 255.255.255.224

块大小:

256 - 224 = 32

第四个字节分段:

  • 0~31
  • 32~63
  • 64~95
  • 96~127
  • 128~159
  • 160~191
  • 192~223
  • 224~255

例子

172.16.10.66/27

66 落在 64~95

  • 网络地址:172.16.10.64
  • 广播地址:172.16.10.95

/28 = 255.255.255.240

块大小:

256 - 240 = 16

第四个字节分段:

  • 0~15
  • 16~31
  • 32~47
  • 48~63
  • 64~79
  • 80~95
  • 96~111
  • 112~127
  • 128~143
  • 144~159
  • 160~175
  • 176~191
  • 192~207
  • 208~223
  • 224~239
  • 240~255

例子

192.16.0.19/28

19 落在 16~31

  • 网络地址:192.16.0.16
  • 广播地址:192.16.0.31

/29 = 255.255.255.248

块大小:

256 - 248 = 8

第四个字节分段:

  • 0~7
  • 8~15
  • 16~23
  • 24~31
  • 32~39
  • 40~47
  • 48~55
  • 56~63
  • 64~71
  • 72~79
  • 80~87
  • 88~95
  • 96~103
  • 104~111
  • 112~119
  • 120~127
  • 128~135
  • 136~143
  • 144~151
  • 152~159
  • 160~167
  • 168~175
  • 176~183
  • 184~191
  • 192~199
  • 200~207
  • 208~215
  • 216~223
  • 224~231
  • 232~239
  • 240~247
  • 248~255

例子

200.15.10.6/29

6 落在 0~7

  • 网络地址:200.15.10.0
  • 广播地址:200.15.10.7
  • 主机范围:200.15.10.1 ~ 200.15.10.6

所以默认网关若配成 200.15.10.7 就错了,因为那是广播地址。


/30 = 255.255.255.252

块大小:

256 - 252 = 4

第四个字节分段:

  • 0~3
  • 4~7
  • 8~11
  • 12~15
  • 16~19
  • 20~23
  • 24~27
  • 252~255

例子

10.0.0.6/30

6 落在 4~7

  • 网络地址:10.0.0.4
  • 广播地址:10.0.0.7
  • 主机范围:10.0.0.5 ~ 10.0.0.6

这就是为什么 /30 常用于点对点链路。


四、如何不靠完整列段,而是直接“口算定位”

虽然上面分段表很有用,但考试时不可能每题都从头扫一遍。
更快的方法是直接做“整除定位”。

方法

设块大小为 k,关键字节数值为 x

则:

  • 块起点 = x // k × k
  • 块终点 = 块起点 + k - 1

这里的 // 表示整除。


例 1:200.15.10.6/29

/29 → 块大小 8
关键字节 x = 6

块起点:

6 // 8 × 8 = 0

块终点:

0 + 8 - 1 = 7

所以:

  • 网络地址:200.15.10.0
  • 广播地址:200.15.10.7

例 2:172.16.10.66/27

/27 → 块大小 32
关键字节 x = 66

块起点:

66 // 32 × 32 = 64

块终点:

64 + 32 - 1 = 95

所以:

  • 网络地址:172.16.10.64
  • 广播地址:172.16.10.95

例 3:126.166.66.99/22

/22 → 第三个字节块大小 4
关键字节 x = 66

块起点:

66 // 4 × 4 = 64

块终点:

64 + 4 - 1 = 67

所以:

  • 网络地址:126.166.64.0
  • 广播地址:126.166.67.255

五、为什么广播地址总是“块的最后一个地址”

因为一个块中:

  • 网络地址:主机位全 0
  • 广播地址:主机位全 1

而块的起点就是主机位全 0,
块的终点就是主机位全 1。

所以完全可以直接记成:

段首是网络地址,段尾是广播地址。

这个记忆法在考场上非常高效。


六、最值得死记的几个高频块大小

下面这些几乎必须一眼认出来:

前缀掩码块大小
/20255.255.240.016
/21255.255.248.08
/22255.255.252.04
/23255.255.254.02
/24255.255.255.01 个整段
/25255.255.255.128128
/26255.255.255.19264
/27255.255.255.22432
/28255.255.255.24016
/29255.255.255.2488
/30255.255.255.2524

其中尤其要熟练的是:

  • /26 → 64
  • /27 → 32
  • /28 → 16
  • /29 → 8
  • /30 → 4

因为这一组是最常考的。


七、最后压成一个考场可直接用的模板

以后碰到这类题,按下面五步走:

第一步:看前缀长度

先知道是 /27/29 还是 /22

第二步:写出或直接反应出掩码

例如:

  • /27 → 255.255.255.224
  • /29 → 255.255.255.248
  • /22 → 255.255.252.0

第三步:找关键字节

也就是第一个不是 255 也不是 0 的字节。

第四步:算块大小

256 - 关键字节

第五步:定位区间

  • 块起点 = x // 块大小 × 块大小
  • 块终点 = 块起点 + 块大小 - 1

然后:

  • 网络地址 = 段首
  • 广播地址 = 段尾

八、这一部分最实用的复习建议

这一块不建议只“理解”,而要做到“熟练口算”。
真正高效的复习方式不是再看一遍概念,而是自己拿下面这些前缀反复练:

  • /26
  • /27
  • /28
  • /29
  • /30
  • /22
  • /20

把“块大小”和“分段边界”练成条件反射,后面的默认网关、同子网、广播地址、CIDR 范围,都会自然跟着变简单。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇