IPv4 子网划分:练习题及分步解答

免费的IPv4 子网划分练习题,附图示、提示和完整详细解答。每次数值都不同,分三个难度:每个子网的主机数, 划分网络, 地址范围。

免费练习题简单
/2911111111111111111111111111111000网络位主机位

前缀为 /29 的 IPv4 子网有多少个可用主机地址 H?

/29

精确答案:整数,不要四舍五入。

下一题 →
免费练习IPv4 子网划分立即练习IPv4 子网划分每天 5 道免费题目,无需绑定银行卡。

练习内容

  1. 简单每个子网的主机数
  2. 中等划分网络
  3. 困难地址范围

关键公式

每个子网的主机数
2(32 − prefix) − 2 (/31: 2, /32: 1)
块大小
256 − (mask octet)
网络地址
IP AND 掩码
广播地址
IP OR (NOT 掩码):主机位全部置 1
借用 n 位得到的子网数
2n

从零开始学习IPv4 子网划分

学习本课之前: 数制

1什么是子网

IPv4 网络上的每台设备都有一个 IP 地址,例如 192.168.10.37。它长 32 位,写成四个 0 到 255 的数。每个数是一个字节,称为八位组(octet)。

地址有两部分。第一部分说明设备在哪个网络上。第二部分说明它是该网络内的哪台主机(设备)。

想想街道地址:街名是网络,门牌号是主机。

子网就是这样的一个网络。把大网络划分成子网可以使流量保持在本地,并让管理员给每个部门分配自己的地址范围。

前缀告诉你分界在哪里。在 192.168.10.37/24 中,前 24 位是网络部分,后 8 位是主机部分。

N24H8032
自测 一个地址写成 10.1.2.3/20。主机部分有多少位?
  1. 12
  2. 20
  3. 32
  4. 8

答案: 12. 地址有 32 位。前缀 /20 给出 20 个网络位,所以还剩 32 − 20 = 12 位给主机。20 是网络部分,不是主机部分。

2前缀、掩码和主机数

同样的划分可以写成子网掩码:32 位,网络部分为 1,主机部分为 0,写法像地址。

/24 的掩码是 24 个 1 和 8 个 0:255.255.255.0。/16 的掩码是 255.255.0.0。

当前缀结束在某个八位组内部时,该八位组的前几位置 1。掩码八位组只可能有这些值:

  • 1 位:128。 2 位:192。 3 位:224。 4 位:240。
  • 5 位:248。 6 位:252。 7 位:254。 8 位:255。

例:/27 是 24 + 3 位,所以掩码是 255.255.255.224。

有 h 个主机位时有 2h 个地址。其中两个不能分配给设备:第一个是网络地址,最后一个是广播地址。

H = 2(32 − p) − 2

对于 /24:2⁸ − 2 = 254 个可用主机。对于 /27:2⁵ − 2 = 30。

访问控制列表使用反掩码(wildcard mask),即子网掩码的反:每个八位组是 255 减去掩码八位组。对 /27 就是 0.0.0.31。

自测 /26 网络的子网掩码是什么?
  1. 255.255.255.192
  2. 255.255.255.252
  3. 255.255.255.26
  4. 255.255.255.64

答案: 255.255.255.192. /26 是 24 + 2 位,前 2 位置 1 的八位组是 128 + 64 = 192。64 只是第二位的值,252 是 6 位对应的八位组。

3分步方法

主机和掩码:

  1. 求主机位:h = 32 − p。
  2. 可用主机:H = 2h − 2。
  3. 要由掩码得到前缀,数 1 的个数:255 是 8,224 是 3,依此类推。

划分网络:

  1. 你需要 N 个子网。从主机部分借用满足 2n ≥ N 的最小位数 n。
  2. 新的前缀是旧前缀加 n。
  3. 每个子网有 2(32 − 新前缀) − 2 个可用主机。
  4. 要在一个子网中容纳 h 台主机,求满足 2位数 − 2 ≥ h 的最小主机位数。

地址的范围:

  1. 找出前缀结束所在的八位组。它的块大小是 256 减去掩码八位组。
  2. 网络地址是不超过该地址八位组的块大小的最大整数倍。
  3. 广播地址是网络地址加上块大小再减 1。
  4. 可用主机是两者之间的所有地址:网络地址 + 1 到广播地址 − 1。

4例题讲解

跟着每一步走。打开下一步之前,先试着预测它。

例题讲解

网络 192.168.10.0/24 必须划分成至少 10 个相等的子网。如果借用的位数尽可能少,每个子网有多少个可用主机 H?

1

数一数你有的位数

/24 网络有 32 − 24 = 8 个主机位可以分配。

2

借用足够的位

借用 n 位得到 2n 个子网。2³ = 8 太少。2⁴ = 16 足够。

所以借用 n = 4 位。

3

求新的前缀

p = 24 + 4 = 28
N24S4H4032

这样还剩 32 − 28 = 4 个主机位。

4

数可用主机数

H = 2⁴ − 2 = 14
5

检验答案

16 个子网,每个 16 个地址,共用 16 · 16 = 256 个地址,恰好是 /24 网络的大小。数字吻合。

答案

每个 /28 子网有 H = 14 个可用主机。

5求地址所在的范围

取主机 10.20.130.90/27。前缀结束于第四个八位组,掩码为 255.255.255.224。

块大小 = 256 − 224 = 32

第四个八位组中的子网从 0、32、64、96、……开始。地址八位组 90 位于 64 和 95 之间。

  • 网络地址:10.20.130.64。
  • 广播地址:64 + 32 − 1 = 95,即 10.20.130.95。
  • 可用主机:10.20.130.65 到 10.20.130.94。

当前缀结束于第三个八位组,例如 /20 时,对第三个八位组使用相同的步骤。这时第四个八位组对网络地址为 0,对广播地址为 255。

自测 一台主机的地址为 10.20.72.98/27。它的网络地址的第四个八位组是多少?
  1. 127
  2. 64
  3. 96
  4. 98

答案: 96. 块大小为 256 − 224 = 32。倍数有 0、32、64、96、128,而 96 是不超过 98 的最大者。127 是广播地址,64 用的是 64 的块(/26)。

6常见错误

  • 忘了 −2。网络地址和广播地址不是可用的主机。
  • 把前缀当作主机位数。主机位是 32 − p。
  • 借用太多的位。要取能给出足够子网的最小 n。
  • 在错误的八位组中计算块大小。要使用前缀结束所在的八位组。
  • 把地址本身当作网络地址。要向下取整到块大小的倍数。
自测 /27 子网中有多少个可用主机地址?
  1. 27
  2. 30
  3. 32
  4. 5

答案: 30. 32 − 27 = 5 个主机位,2⁵ − 2 = 30。32 忘了网络地址和广播地址不能使用。

7考试题是什么样的

  • 简单:每个子网的主机数。某个前缀的可用主机数、前缀对应的掩码、掩码对应的前缀,或反掩码。
  • 中等:划分网络。给定前缀的子网能放下多少个、要借多少位以及每个子网的主机数,或容纳一定数量主机的最小子网。
  • 困难:地址范围。某主机的网络地址、广播地址或最后一个可用地址,若干网络的汇总路由,或 VLSM 分配。

对于汇总路由,把变化的那个八位组写成二进制,数出所有网络共有多少个前导位。

在 VLSM 中,先给最大的 LAN 分配子网,然后紧接着分配下一个,每个都有自己的前缀。

在应用中一步一步地学在应用中一步一步地学

例题详解

例题 1简单
/2611111111111111111111111111000000网络位主机位

前缀为 /26 的 IPv4 子网有多少个可用主机地址 H?

/26

求: H

显示提示
  1. 主机部分有 32 − p 位。
  2. 减去网络地址和广播地址这 2 个。
  3. 32 − 26 = 6.
显示答案和分步解答

IPv4 子网划分:一个地址有 32 位。前缀 /p 表示前面多少位标识网络;其余 32 − p 位为主机编号。一个子网有 2³²⁻ᵖ 个地址,但第一个(网络地址)和最后一个(广播地址)不能分配给主机,所以可容纳 2³²⁻ᵖ − 2 台主机。 例外:/31(点对点链路,RFC 3021)的 2 个地址都用于主机,/32 只有一个地址(单个主机或环回地址)。

主机位

32 − 26 = 6

可用主机数

26 − 2 = 64 − 2 = 62

答案

H = 62
例题 2中等
255.255.252.011111111111111111111110000000000网络位主机位

一个子网使用掩码 255.255.252.0。它有多少个可用主机地址 H?

255.255.252.0

求: H

显示提示
  1. 数出掩码的 1 位,把掩码换算为前缀长度。
  2. 然后 H = 2³²⁻ᵖ − 2。
  3. p = 22.
显示答案和分步解答

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

前缀长度

255.255.252.0 = /22

可用主机数

210 − 2 = 1022

答案

H = 1022
例题 3困难
最后一个八位组 = 194112816403201608041201网络主机

某主机地址为 10.20.178.194/27。其子网中最后一个可用主机地址的第四个八位组 x 是多少?

10.20.178.194/27

求: x

显示提示
  1. 使用 /27 时,每个子网在最后一个八位组中有 2³²⁻ᵖ 个地址,所以子网从该大小的整数倍开始。
  2. 网络地址是不大于 194 的那个倍数;广播地址是下一个倍数减 1。
  3. 块大小 = 25 = 32.
显示答案和分步解答

IPv4 子网划分:一个地址有 32 位。前缀 /p 表示前面多少位标识网络;其余 32 − p 位为主机编号。一个子网有 2³²⁻ᵖ 个地址,但第一个(网络地址)和最后一个(广播地址)不能分配给主机,所以可容纳 2³²⁻ᵖ − 2 台主机。 例外:/31(点对点链路,RFC 3021)的 2 个地址都用于主机,/32 只有一个地址(单个主机或环回地址)。

块大小

25 = 32

该主机所在子网

网络: ⌊194/32⌋·32 = 192
广播: 192 + 32 − 1 = 223
可用主机: 193 … 222

答案

x = 222

问与答

什么是IPv4 子网划分?

IPv4 网络上的每台设备都有一个 IP 地址,例如 192.168.10.37。它长 32 位,写成四个 0 到 255 的数。每个数是一个字节,称为八位组(octet)。

地址有两部分。第一部分说明设备在哪个网络上。第二部分说明它是该网络内的哪台主机(设备)。

IPv4 子网划分题目如何一步步求解?

IPv4 子网划分:一个地址有 32 位。前缀 /p 表示前面多少位标识网络;其余 32 − p 位为主机编号。一个子网有 2³²⁻ᵖ 个地址,但第一个(网络地址)和最后一个(广播地址)不能分配给主机,所以可容纳 2³²⁻ᵖ − 2 台主机。 例外:/31(点对点链路,RFC 3021)的 2 个地址都用于主机,/32 只有一个地址(单个主机或环回地址)。

IPv4 子网划分有哪些常见错误?
  • 数出掩码的所有 0 位,包括最后一个八位组 (0) 中的八位。
IPv4 子网划分练习包括哪些内容?
  • 简单: 每个子网的主机数
  • 中等: 划分网络
  • 困难: 地址范围

每道题的数值都不同,让你掌握方法,而不是记住答案。 卡住了?先打开一个小提示,需要时再查看完整解析。

练习方式

  • 每道题的数值都不同,让你掌握方法,而不是记住答案。
  • 卡住了?先打开一个小提示,需要时再查看完整解析。
  • 你的进度、错题和收藏的题目都会保留,方便考前复习。

本主题的前后主题

先学习

计算器

包含此主题的课程

计算机科学中的更多主题

可打印练习卷

免费练习IPv4 子网划分立即练习IPv4 子网划分每天 5 道免费题目,无需绑定银行卡。