子网划分 / CIDR / 最长前缀匹配

这几题本质上主要考两类内容:

一类是 IP 分片;另一类是 子网划分 / CIDR / 最长前缀匹配。


第1题:IP 分片

题目:一个 IP 数据报总长度 4000B,首部固定 20B,经过的网络最大可传送长度为 1500B。问应划分为几个分片?各分片数据长度、片偏移、MF 是多少?

先给结论

应分为 3 个分片

原数据报:

  • 总长度 = 4000B
  • 首部 = 20B
  • 数据部分 = 3980B

由于网络最大传送长度为 1500B,所以每个分片的总长度都不能超过 1500B。
每个分片首部仍是 20B,所以每个分片的数据部分最多为:

1500 - 20 = 1480B

并且注意:

除最后一个分片外,数据部分长度必须是 8B 的整数倍。

1480 恰好是 8 的整数倍,所以前两个分片都可以取 1480B。

于是:

  • 第1片数据:1480B
  • 第2片数据:1480B
  • 剩余数据:3980 - 1480 - 1480 = 1020B

所以 3 个分片的数据部分长度分别为:

  • 第1片:1480B
  • 第2片:1480B
  • 第3片:1020B

片偏移怎么求

片偏移的单位是 8B,不是字节。

  • 第1片从原数据的第 0 字节开始,所以片偏移 = 0/8 = 0
  • 第2片从第 1480 字节开始,所以片偏移 = 1480/8 = 185
  • 第3片从第 1480+1480=2960 字节开始,所以片偏移 = 2960/8 = 370

MF 标志

MF 表示“后面是否还有分片”:

  • 第1片:后面还有,MF = 1
  • 第2片:后面还有,MF = 1
  • 第3片:最后一片,MF = 0

本题答案整理

分片数据部分长度总长度片偏移MF
11480B1500B01
21480B1500B1851
31020B1040B3700

易错点

这题最容易错两个地方:

第一,片偏移单位是 8B,不是 1B
第二,只有最后一个分片的数据长度可以不按 8B 对齐,前面的都必须是 8 的整数倍。


第2题:经过两个不同 MTU 网络时的分片

题目:原 IP 数据报首部 20B,数据 2000B,经过两个网络,MTU 分别为 1500B 和 576B。问到达目的主机时分成几个小报文?每个数据部分长度分别是多少?

先给结论

最终会变成 4 个 IP 分片,数据部分长度分别为:

  • 552B
  • 552B
  • 376B
  • 520B

第一步:经过 MTU = 1500B 的网络

原数据报:

  • 首部 20B
  • 数据 2000B
  • 总长度 2020B

每片最大数据长度:

1500 - 20 = 1480B

1480 是 8 的整数倍,所以第一次分片后:

  • 第1片数据:1480B
  • 第2片数据:2000 - 1480 = 520B

也就是说,第一次分成:

  • 1480B
  • 520B

第二步:再经过 MTU = 576B 的网络

现在要看这两个分片是否还要继续分。

对 1480B 这一片再分

每片最大数据长度:

576 - 20 = 556B

但前面的分片数据长度必须是 8 的整数倍,所以能取的最大值是 552B

于是 1480B 要分成:

  • 552B
  • 552B
  • 1480 - 552 - 552 = 376B

对 520B 这一片再看

它的总长度是:

520 + 20 = 540B

540B 小于 576B,所以 不用再分片

所以最终结果

最终到达目的主机时共有 4 个分片,数据部分分别是:

  • 552B
  • 552B
  • 376B
  • 520B

易错点

很多人会把第二个 520B 也继续拆,其实没必要,因为它加首部后只有 540B,没有超过 576B。


第3题:由片偏移、首部长和总长度求字节编号

题目:到达的分组分片偏移值为 100,首部长字段值为 5,总长度字段值为 100。问数据部分第一个字节编号是多少?最后一个字节编号能否确定?是多少?

先给结论

  • 数据部分第一个字节编号:800
  • 数据部分最后一个字节编号:879
  • 可以确定

解题过程

1)先看片偏移

片偏移 = 100,单位是 8B。

所以该分片的数据部分第一个字节,在原数据报中的编号是:

100 × 8 = 800

2)再求本分片的数据长度

首部长字段值为 5,单位是 4B,所以首部长为:

5 × 4 = 20B

总长度字段 = 100B

所以数据部分长度:

100 - 20 = 80B

3)最后一个字节编号

第一个字节编号是 800,一共有 80 个字节,所以最后一个字节编号为:

800 + 80 - 1 = 879

为什么“能确定”

因为这题已经给了:

  • 片偏移 → 能知道起始位置
  • 首部长 + 总长度 → 能知道本片数据长度

所以最后一个字节编号当然能确定。


第4题:4 个 /24 地址块的最大聚合

题目:212.56.132.0/24、212.56.133.0/24、212.56.134.0/24、212.56.135.0/24,做最大可能聚合。

结论

最大聚合结果为:

212.56.132.0/22

解题过程

这 4 个 /24 网段是连续的:

  • 132
  • 133
  • 134
  • 135

4 个连续的 /24 可以合并成 1 个 /22。
因为 /22 恰好覆盖 4 = 2² 个连续的 /24 网络。

也可以从块大小理解:

  • /24 是 256 个地址
  • 4 个 /24 一共 1024 个地址
  • 1024 个地址对应前缀长度 /22

易错点

不是只要连续就一定能聚合,还要看起始地址是否对齐。
这里 132 正好是 4 的倍数,所以可以聚合成 /22。


第5题:一个 C 类地址给 5 个部门做子网划分

题目:公司有 5 个部门,每个部门 20~30 台计算机。地址块是一个 C 类地址 192.168.161.0,问如何划分?最多能分开几个部门?并写出各部门网络地址、子网掩码、主机范围。

先给结论

应划分为 /27 子网,子网掩码为:

255.255.255.224

这样一个 /24 网络可以划分成:

2³ = 8 个子网

所以最多可分开 8 个部门

为什么是 /27

每个部门有 20~30 台主机。
子网内可用主机数至少要满足 30 台。

设主机位数为 h,则:

2^h - 2 ≥ 30

试一下:

  • h = 4 时,2^4 - 2 = 14,不够
  • h = 5 时,2^5 - 2 = 30,刚好够

所以主机位要保留 5 位。
原来是 C 类地址,默认前缀 /24,所以子网前缀为:

32 - 5 = /27

/27 的块大小

最后一段块大小:

256 - 224 = 32

所以各子网网络地址每次加 32:

  • 192.168.161.0/27
  • 192.168.161.32/27
  • 192.168.161.64/27
  • 192.168.161.96/27
  • 192.168.161.128/27
  • 192.168.161.160/27
  • 192.168.161.192/27
  • 192.168.161.224/27

给 5 个部门分配

可以按顺序分配,例如:

部门网络地址子网掩码可用主机范围
工程技术部192.168.161.0/27255.255.255.224192.168.161.1 ~ 192.168.161.30
市场部192.168.161.32/27255.255.255.224192.168.161.33 ~ 192.168.161.62
售后部192.168.161.64/27255.255.255.224192.168.161.65 ~ 192.168.161.94
财务部192.168.161.96/27255.255.255.224192.168.161.97 ~ 192.168.161.126
办公室192.168.161.128/27255.255.255.224192.168.161.129 ~ 192.168.161.158

剩余还可保留 3 个子网备用。

易错点

这题很容易有人分成 /28。
但 /28 只有 2^4 - 2 = 14 个可用主机,远远不够 20~30 台。


第6题:最长前缀匹配 + 补路由表项 + 子网划分

题目给的路由表:

  • 131.128.56.0/24 → A
  • 131.128.55.32/28 → B
  • 131.128.55.32/30 → C
  • 131.128.0.0/16 → D

第6题第1问

目的地址:

  • 分组A:131.128.55.33
  • 分组B:131.128.55.38

问分别转发到哪个下一跳。

结论

  • 131.128.55.33 → C
  • 131.128.55.38 → B

解题过程

核心原则只有一个:

最长前缀匹配

对 131.128.55.33

它匹配:

  • 131.128.55.32/28 → 范围 131.128.55.32 ~ 131.128.55.47
  • 131.128.55.32/30 → 范围 131.128.55.32 ~ 131.128.55.35
  • 131.128.0.0/16 → 也匹配

其中前缀最长的是 /30,所以走 C

对 131.128.55.38

它匹配:

  • 131.128.55.32/28 → 匹配
  • 131.128.55.32/30 → 不匹配,因为 /30 只到 .35
  • 131.128.0.0/16 → 匹配

最长的是 /28,所以走 B


第6题第2问

增加一个表项,使目的地址为 131.128.55.33 的分组走 A,且不影响其他地址。

结论

增加:

131.128.55.33/32 → A

原因

/32 是主机路由,只精确匹配这一个 IP 地址。
这样 131.128.55.33 会优先匹配这个最具体的表项,其他地址不受影响。


第6题第3问

增加一个表项,使任何都不匹配现有表项的 IP 分组都转发到 E。

结论

增加默认路由:

0.0.0.0/0 → E


第6题第4问

将 131.128.56.0/24 划分为 4 个规模尽可能大的等长子网,给出掩码和可分配地址范围。

结论

划分成 4 个等长子网,说明借 2 位:

/24 → /26

子网掩码是:

255.255.255.192

4 个子网分别为:

子网网络地址可分配主机范围
1131.128.56.0/26131.128.56.1 ~ 131.128.56.62
2131.128.56.64/26131.128.56.65 ~ 131.128.56.126
3131.128.56.128/26131.128.56.129 ~ 131.128.56.190
4131.128.56.192/26131.128.56.193 ~ 131.128.56.254

第7题:CIDR 路由表,地址用十六进制表示

路由表:

  • C4.50.0.0/12 → A
  • C4.5E.10.0/20 → B
  • C4.60.0.0/12 → C
  • C4.68.0.0/14 → D
  • 80.0.0.0/1 → E
  • 40.0.0.0/2 → F
  • 00.0.0.0/2 → G

目的地址:

  1. C4.5E.13.87
  2. C4.5E.22.09
  3. C3.41.80.02
  4. 5E.43.91.12

先给结论

  1. C4.5E.13.87 → B
  2. C4.5E.22.09 → A
  3. C3.41.80.02 → E
  4. 5E.43.91.12 → F

解题关键

虽然写成了十六进制,但规则没有变,还是:

最长前缀匹配

先看几个网段范围

  • C4.50.0.0/12
    表示前 12 位固定,所以第二字节高 4 位是 5
    即范围大致是:C4.50.0.0 ~ C4.5F.FF.FF
  • C4.5E.10.0/20
    表示前 20 位固定,即前两字节固定为 C4 5E,第三字节高 4 位固定为 1
    即范围:C4.5E.10.0 ~ C4.5E.1F.FF
  • C4.60.0.0/12
    范围:C4.60.0.0 ~ C4.6F.FF.FF
  • C4.68.0.0/14
    比 /12 更具体,覆盖的是 C4.68 到 C4.6B 这一段
  • 80.0.0.0/1
    第一位是 1,即高位为 1 的一半地址空间
  • 40.0.0.0/2
    前两位是 01
  • 00.0.0.0/2
    前两位是 00

逐个判断

1)C4.5E.13.87

它匹配:

  • A:C4.50.0.0/12
  • B:C4.5E.10.0/20
  • E:80.0.0.0/1

最长的是 /20,所以去 B

2)C4.5E.22.09

它匹配:

  • A:匹配
  • B:不匹配,因为第三字节是 22,不在 10~1F 内
  • E:匹配

最长的是 /12,所以去 A

3)C3.41.80.02

前面不是 C4,所以 A、B、C、D 都不匹配。
C3 的二进制高位是 1,所以匹配 80.0.0.0/1,去 E

4)5E.43.91.12

5E 的二进制高两位是 01,所以匹配 40.0.0.0/2,去 F

易错点

这题不是让把十六进制先全转十进制再做。
真正会做题的人,看到 C4.50.0.0/12 这种写法,直接就知道是“前 12 位固定”,本质还是最长前缀匹配。


第8题:VLSM 变长子网划分

题目:一个自治系统有 5 个局域网,LAN2~LAN5 的主机数分别为 91、150、3、15,整个地址块为 30.138.118.0/23,给出每个局域网的地址块(含前缀)。

先说明这题的关键

这题是典型的 VLSM 变长子网划分

图中共有 5 个 LAN:

  • LAN1:中间那条主干网,连接 3 个路由器接口
  • LAN2:91 台主机
  • LAN3:150 台主机
  • LAN4:3 台主机
  • LAN5:15 台主机

注意:

局域网所需地址数 = 主机数 + 路由器接口数

所以:

  • LAN2 需要至少 92 个地址
  • LAN3 需要至少 151 个地址
  • LAN4 需要至少 4 个地址
  • LAN5 需要至少 16 个地址
  • LAN1 需要至少 3 个地址(3 个路由器接口)

各 LAN 至少需要什么前缀

LAN3:150 主机 + 1 路由器接口 = 151

  • /25 可用主机数 126,不够
  • /24 可用主机数 254,够

所以 LAN3 用 /24

LAN2:91 + 1 = 92

  • /25 可用主机数 126,够

所以 LAN2 用 /25

LAN5:15 + 1 = 16

  • /28 可用主机数 14,不够
  • /27 可用主机数 30,够

所以 LAN5 用 /27

LAN4:3 + 1 = 4

  • /30 可用主机数 2,不够
  • /29 可用主机数 6,够

所以 LAN4 用 /29

LAN1:3 个路由器接口

  • /29 可用主机数 6,够

所以 LAN1 用 /29


开始从大到小分配

整个地址块:

30.138.118.0/23

它包含两个连续的 /24:

  • 30.138.118.0/24
  • 30.138.119.0/24

一种合理划分如下:

LAN地址块
LAN330.138.118.0/24
LAN230.138.119.0/25
LAN530.138.119.128/27
LAN430.138.119.160/29
LAN130.138.119.168/29

这就是一组完全可行的答案。

为什么这种题要“先大后小”

因为 VLSM 题目如果先把小网段乱切,很容易把大网段切碎,后面 /24、/25 放不下。
所以考试时固定套路就是:

先按主机数从大到小排序,再依次分配。

易错点

最容易错的是 LAN5。
很多人看到 15 台主机就直接想到 /28,但别忘了还要给该 LAN 的路由器接口分配一个 IP,所以 15 + 1 = 16,/28 不够,只能用 /27。


第9题:按 /28 判断网段

题目:A~E 5 台主机地址分别为:

  • A:192.168.75.18
  • B:192.168.75.146
  • C:192.168.75.158
  • D:192.168.75.161
  • E:192.168.75.173

共同子网掩码是 255.255.255.240。

问:

  1. 这 5 台主机分属几个网段?哪些主机同一网段?主机 D 的网络地址是多少?
  2. 若加入第 6 台主机 F,使它和 A 同一网段,则其 IP 范围是多少?
  3. 若另加一台主机 IP 为 192.168.75.164,则它的广播地址是多少?

先看掩码

255.255.255.240 对应 /28

块大小:

256 - 240 = 16

所以每个子网按 16 递增:

  • 0~15
  • 16~31
  • 32~47
  • 144~159
  • 160~175

第9题第1问

A:192.168.75.18

落在 16~31 段
所以网络地址是:

192.168.75.16

B:192.168.75.146

落在 144~159 段
网络地址:

192.168.75.144

C:192.168.75.158

也落在 144~159 段
网络地址:

192.168.75.144

D:192.168.75.161

落在 160~175 段
网络地址:

192.168.75.160

E:192.168.75.173

也落在 160~175 段
网络地址:

192.168.75.160

所以答案

共分属 3 个网段

  1. 192.168.75.16/28:A
  2. 192.168.75.144/28:B、C
  3. 192.168.75.160/28:D、E

同一网段的主机:

  • B 和 C 同一网段
  • D 和 E 同一网段
  • A 单独一个网段

主机 D 的网络地址是:

192.168.75.160


第9题第2问

F 要和 A 同一网段。

A 所在网段是:

192.168.75.16/28

这个网段:

  • 网络地址:192.168.75.16
  • 广播地址:192.168.75.31
  • 可用主机地址:192.168.75.17 ~ 192.168.75.30

A 已经占了 192.168.75.18,所以 F 可用范围为:

192.168.75.17,或 192.168.75.19 ~ 192.168.75.30

如果题目只写“范围”,也可以写成:

192.168.75.17 ~ 192.168.75.30(但不能取 192.168.75.18)


第9题第3问

新增主机 IP = 192.168.75.164

164 落在 160~175 段,所以它所在网段是:

192.168.75.160/28

因此广播地址为:

192.168.75.175


这 9 题背后的统一做题套路

这组题其实很适合整理成两个模板。

一类:IP 分片题模板

先做这四步:

  1. 先求原数据部分长度
    数据长度 = 总长度 - 首部长度
  2. 求当前网络允许的最大分片数据长度
    最大数据长度 = MTU - 首部长度
  3. 除最后一片外,按 8B 对齐
  4. 片偏移 = “本片起始数据字节号 ÷ 8”

只要牢牢记住:

  • 首部每片都带
  • 前几片要 8B 对齐
  • 片偏移单位是 8B

这类题基本就稳了。

一类:子网划分 / 路由聚合 / CIDR 题模板

子网划分题

先看需要多少主机:

  • 满足 2^h - 2 ≥ 主机数

快速看块大小

块大小 = 256 - 掩码最后一段

例如:

  • /27 → 255.255.255.224 → 块大小 32
  • /28 → 255.255.255.240 → 块大小 16
  • /26 → 255.255.255.192 → 块大小 64

判断某主机落在哪个子网

看最后一段落在哪个块区间里。

CIDR 路由题

永远抓住一句话:

不是看谁先匹配,而是看谁匹配得更长。

也就是最长前缀匹配。


第10题:IPv4 首部字段识别与分片判断

这题是很典型的“直接按首部字段拆”的题,核心就是会读 IPv4 首部。

题目给出的首部是:

45 00 00 54 00 03 58 50 20 06 FF F0 7C 4E 03 02 B4 0E 0F 02

先按 IPv4 首部格式分段:

  • 45:版本号 4,首部长度 5 个字,即 20B
  • 00
  • 00 54:总长度 = 0x0054 = 84B
  • 00 03:标识
  • 58 50:标志 + 片偏移
  • 20:TTL
  • 06:协议 = TCP
  • FF F0:首部校验和
  • 7C 4E 03 02:源 IP
  • B4 0E 0F 02:目的 IP

所以:

1)源 IP 地址和目的 IP 地址分别是
源 IP:124.78.3.2
目的 IP:180.14.15.2

2)该分组数据部分长度
总长度 = 84B,首部长度 = 20B
所以数据部分长度 = 84 - 20 = 64B

3)是否已经分片,若分片,偏移量是多少
58 50 转成二进制后,前 3 位是标志位,后 13 位是片偏移。

0x5850 = 0101 1000 0101 0000

  • 标志位:010
  • 片偏移字段:0x1850 = 6224

因为片偏移字段不为 0,所以这个 IP 分组已经是分片后的某一片

片偏移字段值 = 6224,它的单位是 8B,
所以真正偏移的字节数 = 6224 × 8 = 49792B

本题易错点

很多人会只盯着 MF 位。这里即使 MF=0,也不能直接说明没有分片
判断是否为分片,要看:

  • MF=1,说明后面还有分片
  • 片偏移 ≠ 0,说明这不是第一片,也一定是分片

也就是说,只要“MF=1片偏移≠0”,就说明它属于分片报文。


第11题:以太网帧中继续解析 IPv4 分组

这题本质上是“链路层 + 网络层联合读报文”。
关键是先找到 IP 分组从哪里开始。

题目给的前 64 字节中,前 14B 是以太网首部。前 14B 为:

00 1d 72 98 1d fc 00 00 5e 00 01 88 64

其中:

  • 目的 MAC:00:1d:72:98:1d:fc,正好就是主机 A 的 MAC
  • 源 MAC:00:00:5e:00:01:88

后面还有 PPPoE/PPP 字段,真正的 IPv4 首部从 45 00 ... 开始。

IPv4 首部开头为:

45 00 01 90 f9 bf 40 00 33 06 f3 15 da c7 66 28 da cf 3d d3

拆开后:

  • 45:IPv4,首部长度 20B
  • 01 90:总长度 = 0x0190 = 400B
  • 40 00:标志 + 片偏移
  • 源 IP:da c7 66 28 = 218.199.102.40
  • 目的 IP:da cf 3d d3 = 218.207.61.211

目的 IP 正好是主机 A 的 IP,所以这个 IP 分组确实是发给 A 的。

1)主机 A 所在网络的网关路由器的相应端口的 MAC 地址

A 收到这个帧时,以太网首部中的源 MAC 就是把帧发给 A 的那个设备的 MAC,也就是网关路由器相应端口的 MAC。

所以答案是:

00:00:5e:00:01:88

2)该 IP 分组所携带的数据量为多少字节

IP 总长度 = 400B
IP 首部长度 = 20B

所以 IP 数据部分长度 = 400 - 20 = 380B

答案:380B

3)若该分组需被路由器转发到一条 MTU 为 380B 的链路上,则路由器将做何种操作

先看 IP 首部中的 40 00

  • 标志位是 010
  • DF=1,表示禁止分片
  • 片偏移 = 0

而该 IP 分组总长度为 400B,大于链路 MTU 380B。
按理说如果允许分片,路由器应该分片;但这里 DF=1,所以不能分片

因此路由器会:

  • 丢弃该分组
  • 并向源主机发送 ICMP 差错报文(需要分片但 DF 置 1)

本题易错点

这题最容易错在两个地方。

第一,很多人会把 400B 当成数据长度。实际上 400B 是 IP 总长度,数据长度要减去首部 20B。

第二,看到 MTU=380B 就本能写“分片”,但这里必须先看 DF 位。
只要 DF=1,就不能分片,只能丢弃。


第12题:子网划分、路由转发、交换机/集线器、NAT 综合题

这题综合性很强,但拆开后其实不难。先把拓扑关系看清楚:

  • 左边局域网:172.18.1.0/25
    • H1:172.18.1.33/25
    • H2:172.18.1.11/25
    • R2 的 E0:172.18.1.126/25
  • 右边局域网:172.18.1.128/25
    • H3:172.18.1.211/25
    • H4:172.18.1.233/25
    • R2 的 E2:172.18.1.254/25
  • R2 与 R1 之间链路:203.10.2.0/30
    • 图中 R1 的 E1 = 203.10.2.2/30
    • 所以 R2 的 E1 = 203.10.2.1/30

1)R2 的 E1 接口 IP 地址是什么?H1 的默认网关是什么?

203.10.2.0/30 这个网段可用主机地址只有两个:

  • 203.10.2.1
  • 203.10.2.2

题目已经给了 R1 E1 = 203.10.2.2/30
所以 R2 E1 = 203.10.2.1/30

H1 在左侧子网 172.18.1.0/25 中,它的默认网关应配置为本子网内路由器接口地址,即 R2 的 E0:

172.18.1.126

答案:

  • R2 的 E1:203.10.2.1/30
  • H1 默认网关:172.18.1.126

2)H1 向 H3 发送 IP 分组 A,H3 回复 IP 分组 B。哪些主机能收到封装 A、B 的以太网帧?

这题要把“交换机”和“集线器”的转发特点区分开。

先分析 A:H1 → H3

H1 和 H3 不在同一子网,所以 H1 发送给默认网关 R2。

又因为题目说:

  • H1 和 R2 的 ARP 缓存初始为空
  • 交换机交换表初始为空

所以过程是:

第一步,H1 先广播 ARP 请求找默认网关 R2 的 MAC。
这一步交换机会学习到 H1 所在端口。

第二步,R2 单播 ARP 应答给 H1。
这一步交换机会学习到 R2 所在端口。

第三步,H1 再把 IP 分组 A 封装成以太网帧发给 R2。
由于此时交换机已经知道 R2 的端口,所以不会泛洪,只会定向转发给 R2。
因此左边交换机这一侧,H2 收不到封装 A 的以太网帧。

第四步,R2 转发到右侧 Hub。
Hub 是集线器,收到帧后会向所有端口转发,所以右边的 H3 和 H4 都能收到该帧。

因此,题目如果只问“主机有哪些”,则能收到封装 A 的主机是:

H3、H4

再分析 B:H3 → H1

H3 发回 H1,仍然是跨子网通信,所以 H3 先把分组交给 R2。
右边是 Hub,所以 H3 发出的以太网帧会被 Hub 转发到所有端口,因此:

  • R2 能收到
  • H4 也能收到

然后 R2 再把 B 转发到左边交换机。
由于在前面 H1 发 A 时,交换机已经学到了 H1 和 R2 的端口位置,因此这次交换机会把帧只转发给 H1,H2 收不到。

所以能收到封装 B 的以太网帧的主机是:

H1、H4

这一问的标准答案

  • 封装 A 的以太网帧:H3、H4
  • 封装 B 的以太网帧:H1、H4

本题易错点

最容易错成:

  • A:H2、H3、H4
  • B:H1、H2、H4

错因在于忽略了“ARP 先发生,交换机先学习表项”。
真正发数据帧 A、B 时,交换机已经知道目的端口,不会再泛洪给 H2。


3)H1 发出的封装有 HTTP 请求报文的 IP 分组 C,其首部源/目的 IP 是什么?当 C 从 R2 转发出去时又分别是什么?

HTTP 请求的目标是 Web 服务器 S,图中服务器地址为:

213.48.226.31

所以 H1 产生 IP 分组 C 时:

  • 源 IP = H1 的 IP = 172.18.1.33
  • 目的 IP = Web 服务器 S 的 IP = 213.48.226.31

R2 具有 NAT 功能。
当分组从 R2 的外网接口 E1 转发出去时,源地址会被转换成 R2 的公网地址,也就是 E1 的地址:

203.10.2.1

目的地址不变,仍然是 Web 服务器地址。

所以:

  • H1 发出时:源 IP 172.18.1.33,目的 IP 213.48.226.31
  • 经 R2 转发后:源 IP 203.10.2.1,目的 IP 213.48.226.31

这类题的快速识别方法

只要题目出现:

  • “NAT”
  • “内网私有地址访问外网服务器”

就要立即想到:

  • 出去时改源 IP
  • 回来时改目的 IP
  • 外网服务器始终看到的是 NAT 设备的公网地址,而不是内网主机地址

第13题:子网划分、路由表、路由聚合

这道题是非常标准的“子网划分 + 静态路由 + 路由汇总”综合题。

题意给出:

  • 地址空间:202.118.1.0/24
  • 要划给局域网 1 和局域网 2
  • 每个局域网至少需要 120 个主机地址

1)将 202.118.1.0/24 划分为两个子网

每个局域网至少需要 120 个可用主机地址。

主机位至少要满足:

2^h - 2 >= 120

试一下:

  • h = 6,2^6 - 2 = 62,不够
  • h = 7,2^7 - 2 = 126,够用

所以每个子网必须保留 7 位主机位,即前缀长度为:

32 - 7 = 25

也就是应该划成两个 /25 子网:

  • 局域网 1:202.118.1.0/25
  • 局域网 2:202.118.1.128/25

可用地址范围分别为:

  • 局域网 1:202.118.1.1 ~ 202.118.1.126
  • 局域网 2:202.118.1.129 ~ 202.118.1.254

可以给 R1 的接口分配:

  • E1:202.118.1.1/25
  • E2:202.118.1.129/25

这一步不唯一,只要在各自子网内合法即可。


2)给出 R1 的路由表

题目要求 R1 的路由表至少明确包括:

  • 到局域网 1 的路由
  • 到局域网 2 的路由
  • 到域名服务器的主机路由
  • 到互联网的默认路由

已知:

  • R1 的 L0 = 202.118.2.1
  • R2 的 L0 = 202.118.2.2
  • R2 的 E0 = 202.118.3.1
  • 域名服务器 = 202.118.3.2

因此,R1 路由表可写为:

目的网络 IP 地址子网掩码下一跳 IP 地址接口
202.118.1.0255.255.255.128直连E1
202.118.1.128255.255.255.128直连E2
202.118.3.2255.255.255.255202.118.2.2L0
0.0.0.00.0.0.0202.118.2.2L0

这里到域名服务器用的是主机路由,所以掩码写 /32,即 255.255.255.255


3)采用路由聚合技术,给出 R2 到局域网 1 和局域网 2 的路由

前面已经把两个局域网划分成:

  • 202.118.1.0/25
  • 202.118.1.128/25

这两个连续子网可以聚合为:

202.118.1.0/24

所以 R2 只需保留一条聚合路由即可:

目的网络 IP 地址子网掩码下一跳 IP 地址接口
202.118.1.0255.255.255.0202.118.2.1L0

本题易错点

一是容易把“至少 120 台主机”误划成 /26,这是不够的。
二是主机路由一定是 /32
三是做路由聚合时,不是简单把两条路由抄一遍,而是要找它们的公共前缀。


第14题:DHCP、ARP、默认网关综合题

这题是统考真题风格非常强的一道题,主要考:

  • DHCP 动态分配地址范围
  • DHCP Discover 的 IP 地址
  • ARP 请求的目的 MAC
  • 发往 Internet 时以太网帧目的 MAC
  • 默认网关配置错误的影响

图中已知:

  • 路由器 LAN 口:111.123.15.1/24,MAC 00-a1-a1-a1-a1-a1
  • DHCP 服务器:111.123.15.2/24,MAC 00-b1-b1-b1-b1-b1
  • WWW 服务器:111.123.15.3/24
  • 主机1:111.123.15.4/24
  • 主机2 到 主机N:通过 DHCP 获取地址

1)DHCP 服务器可为主机 2~N 动态分配 IP 地址的最大范围是什么?DHCP Discover 的源/目的 IP 是多少?

这个网段是 111.123.15.0/24,所以:

  • 网络地址:111.123.15.0
  • 广播地址:111.123.15.255

不能分配。

又因为以下地址已被占用:

  • 路由器:111.123.15.1
  • DHCP 服务器:111.123.15.2
  • WWW 服务器:111.123.15.3
  • 主机1:111.123.15.4

所以可动态分配的最大范围是:

111.123.15.5 ~ 111.123.15.254

DHCP Discover 发生在主机尚未获得 IP 地址时,因此 IP 分组中:

  • 源 IP:0.0.0.0
  • 目的 IP:255.255.255.255

答案:

  • 动态分配范围:111.123.15.5 ~ 111.123.15.254
  • DHCP Discover:源 IP 0.0.0.0,目的 IP 255.255.255.255

2)若主机 2 的 ARP 表为空,则其访问 Internet 时,发出的第一个以太网帧的目的 MAC 地址是什么?封装主机 2 发往 Internet 的 IP 分组的以太网帧目的 MAC 地址是什么?

这题专门考“第一个帧”和“真正承载 IP 分组的帧”不是一回事。

因为 ARP 表为空,主机 2 不知道默认网关的 MAC,所以它发出的第一个以太网帧一定是 ARP 请求帧
ARP 请求是广播帧,所以目的 MAC 地址为:

FF-FF-FF-FF-FF-FF

之后主机 2 获得默认网关 MAC,才会发送封装有“发往 Internet 的 IP 分组”的以太网帧。
因为目的 IP 在外网,不在本地子网,所以二层目的 MAC 应该写成默认网关的 MAC,而不是 Internet 主机的 MAC。

默认网关是路由器 LAN 口 111.123.15.1,其 MAC 为:

00-a1-a1-a1-a1-a1

所以答案是:

  • 第一个以太网帧目的 MAC:FF-FF-FF-FF-FF-FF
  • 封装发往 Internet 的 IP 分组的以太网帧目的 MAC:00-a1-a1-a1-a1-a1

这一问为什么容易错

很多人会把“发往 Internet 的 IP 分组”的二层目的 MAC 写成 Internet 服务器的 MAC。
这是不对的。跨网段通信时,IP 层目的地址写远端主机,链路层目的地址写下一跳路由器


3)若主机 1 的子网掩码和默认网关分别配置为 255.255.255.0 和 111.123.15.2,则该主机能否访问 WWW 服务器?能否访问 Internet?

先看访问 WWW 服务器。

主机1:111.123.15.4/24
WWW 服务器:111.123.15.3/24

二者同属 111.123.15.0/24 网段,所以访问 WWW 服务器时,主机1会认为对方在本地网段,直接 ARP 找对方 MAC,然后直接通信。
因此:

可以访问 WWW 服务器。

再看访问 Internet。

访问 Internet 属于跨网段通信,应该把分组交给默认网关。
但题目把默认网关错误地配置成了 DHCP 服务器 111.123.15.2
DHCP 服务器不是路由器,不负责转发到 Internet。

因此:

不能访问 Internet。

标准答案

  • 能访问 WWW 服务器:
  • 能访问 Internet:不能

这 5 道题背后的主线怎么串起来

这几题虽然形式不同,但主线其实很统一。

第10、11题是“会不会读 IPv4 首部”。
只要能熟练定位:

  • 首部长度
  • 总长度
  • 标志位
  • 片偏移
  • 源/目的 IP

这种题就能稳定拿分。

第12题考的是“跨网段通信的完整链路过程”:

  • 主机先找默认网关
  • 交换机靠 MAC 表定向转发
  • 集线器会把帧扩散到所有端口
  • 路由器按 IP 转发
  • NAT 改写地址

第13题考的是“地址规划 + 静态路由 + 聚合”。
核心是:

  • 主机数反推前缀长度
  • 直连路由和下一跳路由区分
  • 主机路由用 /32
  • 连续子网可聚合

第14题则是“DHCP + ARP + 默认网关”的基础综合题。
尤其要抓住这两个高频结论:

  • DHCP Discover:0.0.0.0 -> 255.255.255.255
  • 跨网段发包时,二层目的 MAC 永远先写默认网关的 MAC

第15题解析

这道题是很典型的“子网划分 + 可分配主机数 + IP 分片”综合题。先把结论直接给出来:

第1问答案是:

  • 销售部子网的广播地址:192.168.1.127
  • 技术部子网的子网地址:192.168.1.128
  • 技术部子网还可以连接的主机数:45 台

第2问答案是:

  • 一个“最大 IP 分片”所封装的数据字节数:776B
  • 至少需要分成:2 个分片
  • 各分片片偏移量分别为:097

第15题第1问怎么做

题干说 192.168.1.0/24 “均分”给两个子网,所以很明显就是把一个 /24 划成两个 /25

/24 一共 256 个地址,均分后每个子网 128 个地址,因此两个子网分别是:

  • 192.168.1.0/25
  • 192.168.1.128/25

再结合图中的路由器接口地址:

  • 销售部路由器接口是 192.168.1.126
  • 技术部路由器接口是 192.168.1.254

可以反过来验证:

  • 销售部子网应当是 192.168.1.0/25
  • 技术部子网应当是 192.168.1.128/25

于是:

销售部子网 192.168.1.0/25 的地址范围是:

  • 子网地址:192.168.1.0
  • 可用主机地址:192.168.1.1 ~ 192.168.1.126
  • 广播地址:192.168.1.127

所以销售部子网广播地址就是 192.168.1.127

技术部子网 192.168.1.128/25 的地址范围是:

  • 子网地址:192.168.1.128
  • 可用主机地址:192.168.1.129 ~ 192.168.1.254
  • 广播地址:192.168.1.255

所以技术部子网地址就是 192.168.1.128

技术部还可以连接多少台主机

技术部这个 /25 子网,可用主机地址总数为:

2^(32-25) - 2 = 2^7 - 2 = 126

也就是一共可以给 126 个网络接口分配地址。

图中已经占用的地址有两类:

一类是技术部已经分配给主机的地址:192.168.1.129 ~ 192.168.1.208

这一段共有:

208 - 129 + 1 = 80

另一类是路由器接口 192.168.1.254,它也占用了一个可用主机地址。

因此还能再接入的主机数是:

126 - 80 - 1 = 45

所以答案是 45 台

这一问为什么容易错

最容易错在最后一步。

很多人会直接用 126 - 80 = 46,但这是把路由器接口地址漏掉了。路由器接口虽然不是“终端主机”,但它确实占用了技术部子网中的一个可用地址,所以不能再分给普通主机。


第15题第2问怎么做

已知主机发送的 IP 分组总长度是 1500B,首部长度是 20B,所以原始数据部分长度为:

1500 - 20 = 1480B

这个分组经过路由器,从 F1 接口转发时要分片,而 F1 的 MTU 是 800B

注意,MTU 指的是链路层一次能够承载的 IP 数据报最大长度,因此每个分片的“总长度”都不能超过 800B

每个分片也要带一个 IP 首部 20B,因此每个分片最多能装的数据为:

800 - 20 = 780B

但是这里还不能直接写 780,因为 IP 分片的“片偏移”单位是 8 字节,所以除了最后一个分片外,每个分片的数据长度必须是 8 的整数倍。

所以最大可取:

floor(780 / 8) × 8 = 97 × 8 = 776B

所以一个最大 IP 分片所封装的数据字节数是 776B

至少分成几个分片

总数据是 1480B,若每个最大分片装 776B,则剩余数据是:

1480 - 776 = 704B

704 也正好是 8 的整数倍,因此可以分成两片:

  • 第1片数据:776B
  • 第2片数据:704B

所以至少需要 2 个分片

片偏移量怎么算

片偏移量的单位是 8B

第1个分片是第一个,所以片偏移量为:

0

第2个分片从原数据的第 776B 处开始,因此片偏移量为:

776 / 8 = 97

所以两个分片的片偏移量分别是:

  • 第1片:0
  • 第2片:97

这一问的完整结果

还可以把每个分片的总长度顺手写出来:

  • 第1片总长度:20 + 776 = 796B
  • 第2片总长度:20 + 704 = 724B

都不超过 MTU 800B,成立。

这一问为什么容易错

本题最常见的错误有两个。

第一个错误是把最大数据部分直接写成 780B。这个错法没有考虑“除最后一片外,数据长度必须是 8B 的整数倍”。

第二个错误是片偏移量直接写成字节数 776。片偏移量不是按字节填,而是按 8B 为单位填写,所以应该是 97

这类题的快速识别方法

凡是看到“路由器转发时分片”“MTU”“IP首部长度”“片偏移”,立刻按这个顺序做:

  1. 先求原始数据长度:总长度 - 首部长度
  2. 再求每片最多可装数据:MTU - 首部长度
  3. 再把它向下调整成 8 的整数倍
  4. 最后用“前面已经装了多少字节 ÷ 8”求片偏移

第16题解析

这道题是 NAT 的经典题,而且故意把两个局域网都写成了 192.168.1.x,迷惑性很强。先直接给结论。

第1问需要的配置是:

  • Web 服务器对外发布时,应把 R2 的外网地址 203.10.2.2 作为访问地址
  • 在 R2 上配置静态 NAT / 端口映射:203.10.2.2:80 → 192.168.1.2:80
  • 在 R3 上配置源 NAT / PAT,使 H2、H3 访问外部时,其源地址转换为 203.10.2.6
  • H2、H3 的默认网关应配置为 R3 的内网接口 192.168.1.1
  • Web 服务器的默认网关应配置为 R2 的内网接口 192.168.1.1

第2问答案是:

  • H2 发出 P 时:
    • 源 IP:192.168.1.2
    • 目的 IP:203.10.2.2
  • 经过 R3 转发后:
    • 源 IP:203.10.2.6
    • 目的 IP:203.10.2.2
  • 经过 R2 转发后:
    • 源 IP:203.10.2.6
    • 目的 IP:192.168.1.2

第16题先看本题考什么

本题考的是三件事串起来:

  1. 私有地址不能直接作为跨网访问标识
  2. Web 服务器对外发布时要做静态 NAT / 端口映射
  3. 内网主机访问外部时要做源 NAT / PAT

而且这题最关键的陷阱在于:左右两个局域网都用了 192.168.1.0/24 这一类私网地址,所以如果不借助 NAT,单靠普通路由是没法正确互访的。

第16题第1问怎么做

先看左边局域网:

  • R2 内网口:192.168.1.1
  • Web 服务器:192.168.1.2
  • H1:192.168.1.3

再看右边局域网:

  • R3 内网口:192.168.1.1
  • H2:192.168.1.2
  • H3:192.168.1.3

这说明两个内网地址是重复的。于是 H2 如果想访问 Web 服务器,不能把服务器目的地址直接写成 192.168.1.2,因为对于 H2 所在局域网来说,192.168.1.2 就是它自己。

所以必须让 Web 服务器以 R2 的公网地址对外提供服务,也就是:

203.10.2.2:80

于是 R2 上要做静态映射:

203.10.2.2:80 ↔ 192.168.1.2:80

这样,外部主机访问 203.10.2.2 的 80 端口时,R2 才能把报文转给内网 Web 服务器 192.168.1.2:80

另一方面,H2 和 H3 也不能直接带着私网地址 192.168.1.2192.168.1.3 出去访问,因为返回时会发生地址歧义,所以 R3 还要给它们做源 NAT / PAT,把它们统一转换成 R3 的公网地址 203.10.2.6,再用不同端口区分连接。

因此第1问需要的核心配置就是:

1. 在 R2 上配置 Web 服务器的静态 NAT

203.10.2.2:80 → 192.168.1.2:80

2. 在 R3 上配置 H2、H3 出网时的源 NAT / PAT

把内网主机访问外部时的源地址改成 203.10.2.6

3. 配置默认网关

  • Web 服务器默认网关:192.168.1.1(R2 内网口)
  • H2、H3 默认网关:192.168.1.1(R3 内网口)

4. H2、H3 访问服务器时,应访问的不是 192.168.1.2,而是 203.10.2.2

这一步特别关键。


第16题第2问怎么做

题目问的是“HTTP 请求报文封装成 IP 数据报 P 后”,在不同阶段,P 的源 IP 和目的 IP 分别是什么。

这里要抓住一个主线:

  • 经过 R3 时,做的是“源地址转换”
  • 经过 R2 时,做的是“目的地址转换”

第一步:H2 刚发送 P 时

H2 自己的地址是 192.168.1.2

因为它访问的是 Web 服务器对外公布的地址,所以目的地址应当是 R2 的公网地址 203.10.2.2

因此 H2 发出 P 时:

  • 源 IP:192.168.1.2
  • 目的 IP:203.10.2.2

第二步:经过 R3 转发后

R3 要把 H2 的私网源地址转换成自己的公网地址,否则报文没法正确跨网返回。

所以经过 R3 后:

  • 源 IP:203.10.2.6
  • 目的 IP:203.10.2.2

目的地址此时还不变,因为还没到 R2 去做服务器映射。

第三步:经过 R2 转发后

R2 收到的目的地址是 203.10.2.2,它查静态 NAT 表,知道这个地址的 80 端口对应的是内网 Web 服务器 192.168.1.2:80

因此 R2 会把目的地址从 203.10.2.2 改成 192.168.1.2,再转发给 Web 服务器。

所以经过 R2 转发后:

  • 源 IP:203.10.2.6
  • 目的 IP:192.168.1.2

第16题为什么容易错

这题最容易错的地方有三个。

第一个错点,是把 H2 访问的目标地址写成 192.168.1.2。这个地址在 H2 所在局域网里其实就是本地私网地址,根本不是远端 Web 服务器对外访问时应使用的地址。

第二个错点,是只想到 R2 要做静态 NAT,却忘了 R3 也必须做源 NAT。因为 H2、H3 也是私网主机,不转换源地址就会造成返回路径混乱。

第三个错点,是把“经过 R2 转发后”的源地址也改掉。实际上 R2 在这里主要是做目的地址转换,把 203.10.2.2 改成 192.168.1.2;源地址仍然是 R3 转换后的 203.10.2.6


这两题背后的统一做题方法

这两题虽然一个是分片,一个是 NAT,但都很符合 408 的命题风格:题目看着复杂,真正要抓的只有“地址范围”和“字段变化”两条线。

做子网题时,核心是:

  • 先看前缀长度
  • 再定网络地址、广播地址、可用主机范围
  • 最后数已占用地址

做分片题时,核心是:

  • 先算原始数据长度
  • 再算每片最大数据长度
  • 注意 8B 对齐
  • 再算片偏移

做 NAT 题时,核心是:

  • 看谁做源地址转换
  • 看谁做目的地址转换
  • 明确“主机实际发给谁”
  • 分阶段跟踪 IP 地址怎么变

第17题解析

这道题把几个高频考点串在了一起:冲突域/广播域、交换机与集线器的区别、DHCP 首次报文、以及 802.11 帧地址字段。题目不难,但很容易在“广播地址”和“802.11 地址1地址2地址3”这里丢分。

第1问:设备1和设备2分别是什么

先看题干给的条件:

  • H1 与 H2 属于同一个广播域,但不属于同一个冲突域
  • H2 和 H3 属于同一个冲突域

先抓最关键的判断规则:

  • 路由器:隔离广播域,也隔离冲突域
  • 交换机:不隔离广播域,但能隔离冲突域
  • 集线器 Hub:既不隔离广播域,也不隔离冲突域

于是:

  • H2 和 H3 属于同一个冲突域,说明连接 H2、H3 的设备2一定是 Hub
  • H1 和 H2 在同一个广播域,但不在同一个冲突域,说明上层那个设备1一定是 交换机

所以结论是:

  • 设备1:100Base-T 以太网交换机
  • 设备2:100Base-T 集线器(Hub)

第2问:H2 与 H3 之间最远可相距多少

这问本质考的是 CSMA/CD 的最小帧长约束

在以太网中,为了能够检测冲突,发送端在“最坏情况下”必须在还没发完最小帧时就能感知到冲突,也就是:

单程传播时延 × 2 + 中间设备额外时延 × 2 ≤ 最小帧发送时延

先算最小帧发送时延。

以太网最小帧长是 64B,也就是:

64 × 8 = 512 bit

100Base-T 速率是 100 Mb/s,所以发送最小帧所需时间为:

512 / (100 × 10^6) = 5.12 μs

设 H2 到 H3 的距离为 d,信号传播速率为 2 × 10^8 m/s,则单程线路传播时延为:

d / (2 × 10^8)

又因为信号经过设备2时会额外产生 1.5 μs 时延,所以单程总时延为:

d / (2 × 10^8) + 1.5 μs

往返总时延应满足:

2 × [ d / (2 × 10^8) + 1.5 μs ] ≤ 5.12 μs

化简:

d / (2 × 10^8) + 1.5 μs ≤ 2.56 μs

d / (2 × 10^8) ≤ 1.06 μs

d ≤ 2 × 10^8 × 1.06 × 10^-6 = 212 m

所以最远距离是:

212 m

第3问:H4 首先发送的 DHCP 报文 M 是什么?路由器 E0 能否收到?交换机转发给 DHCP 服务器时的目的 MAC 是什么?

第一步:先判断 M 是哪种 DHCP 报文

主机刚接入网络、还没有 IP 地址时,DHCP 的第一步一定是:

DHCP Discover

所以 M 是:

DHCP Discover 报文

第二步:路由器 E0 能不能收到封装 M 的以太网帧

DHCP Discover 在主机刚启动时,源 IP 是 0.0.0.0,目的 IP 是 255.255.255.255,链路层目的 MAC 是广播地址:

FF-FF-FF-FF-FF-FF

而题目中 R 的 E0 接口、交换机 S、AP、DHCP 服务器、H4、H5 处于同一个广播域内,所以这个广播帧会在该广播域内被泛洪,路由器的 E0 接口当然也能收到这个帧。

所以答案是:

能收到

但注意一个常见误区:
“能收到”和“会转发到别的网段”不是一回事。路由器接口可以收到本广播域内的广播帧,但不会把这种二层广播继续转发到别的广播域。

第三步:S 向 DHCP 服务器转发时,目的 MAC 是什么

因为 H4 发出的 DHCP Discover 本身就是 以太网广播帧,交换机只是转发这个广播帧,并不会把目的 MAC 改成 DHCP 服务器的 MAC。

所以 S 转发给 DHCP 服务器时,该以太网帧的目的 MAC 仍然是:

FF-FF-FF-FF-FF-FF

这一问特别容易错成 DHCP 服务器的 MAC 地址 00-11-11-11-11-B1,这是典型陷阱。

第4问:H4 给 H5 发送 IP 分组 P,H5 收到的封装 P 的 802.11 帧地址1、地址2、地址3分别是什么

这问考的是 802.11 基础设施模式下的三地址帧

H4 和 H5 都是通过 AP 接入网络。现在问的是:

H5 收到的那一帧 802.11 数据帧

也就是 AP 转发给 H5 的那一帧。

在 AP 发往无线站点的 802.11 数据帧中:

  • 地址1:接收方地址,也就是最终接收该无线帧的主机 MAC
  • 地址2:发送该无线帧的 AP 的 MAC
  • 地址3:原始源主机的 MAC

题图中:

  • H4 的 MAC:00-11-11-11-11-D1
  • H5 的 MAC:00-11-11-11-11-E1
  • AP 的 MAC:00-11-11-11-11-C1

所以:

  • 地址1 = 00-11-11-11-11-E1
  • 地址2 = 00-11-11-11-11-C1
  • 地址3 = 00-11-11-11-11-D1

这一问最容易错的地方,是把地址2写成 H4 的 MAC。
但题目问的是 H5 收到的帧,这是 AP 发出的那一跳,所以地址2必须是 AP 的 MAC


第18题解析

这道题主要考三个主线:

  • 卫星链路的传播时延
  • GBN 滑动窗口利用率
  • 变长子网划分 VLSM

第1问:单向传播时延、最大吞吐量、发送 4000B 文件至少需要多久

(1)R1 到 R2 之间卫星链路的单向传播时延

卫星轨道高度是 36000 km。
R1 发到卫星要上行一次,卫星再到 R2 要下行一次,所以单向传播距离是:

36000 + 36000 = 72000 km

电磁波传播速度是:

300000 km/s

所以单向传播时延:

72000 / 300000 = 0.24 s

所以答案是:

0.24 s,也就是 240 ms

(2)主机 H 向总部服务器传输数据时可达到的最大吞吐量

链路瓶颈显然是卫星链路。题目已经说明:

每个方向的数据传输速率均为 200 kb/s

因此最大吞吐量就是:

200 kb/s

(3)上传 4000B 文件至少需要多久

4000B =

4000 × 8 = 32000 bit

卫星链路发送这 32000 bit 所需的发送时延是:

32000 / 200000 = 0.16 s

最后 1 bit 发完以后,还要再经过单向传播时延 0.24 s 才能到达对端。

所以总时间至少为:

0.16 + 0.24 = 0.40 s

所以答案是:

0.40 s

这里的思路很标准:

总时间 = 发送时延 + 传播时延

题目又说忽略首部开销和以太网内传播时延,因此不需要再额外算局域网部分。


第2问:GBN 下发送窗口至少多大?序号字段至少多少位?

题目条件:

  • 单向可靠数据链路协议,采用 GBN
  • SLP 数据帧长 1500B
  • ACK 帧长度忽略
  • 链路速率 200 kb/s
  • 要求单向信道利用率不低于 80%

第一步:算发送一帧所需时间 Tt

1500B = 1500 × 8 = 12000 bit

所以发送时延:

Tt = 12000 / 200000 = 0.06 s = 60 ms

第二步:算传播时延 Tp

第1问已经算出单向传播时延:

Tp = 0.24 s = 240 ms

于是:

a = Tp / Tt = 0.24 / 0.06 = 4

第三步:套 GBN 利用率公式

无差错情况下,GBN 的信道利用率公式常写为:

U = W / (1 + 2a),但最大不超过 1

这里:

1 + 2a = 1 + 8 = 9

因此:

U = W / 9

要求 U ≥ 0.8,所以:

W / 9 ≥ 0.8

W ≥ 7.2

发送窗口至少取整数:

W = 8

第四步:求序号字段至少多少位

GBN 中,若序号字段为 n 位,则发送窗口最大值满足:

W ≤ 2^n - 1

现在要求 W ≥ 8,所以必须满足:

2^n - 1 ≥ 8

2^n ≥ 9

最小的 n 是:

4 位

所以答案是:

  • 发送窗口至少:8
  • 序号字段至少:4 位

这一问最容易犯的错有两个:

第一,把 a 算成 Tt / Tp。实际上是 a = Tp / Tt
第二,把 GBN 的窗口上限写成 2^n。GBN 正确是:

Wt ≤ 2^n - 1


第3问:作业区、管理区、生活区三个子网分别是什么

已知总部给工程部分配的地址空间是:

10.10.10.0/24

要求:

  • 生活区可分配 IP 地址数不少于 120 个
  • 作业区不少于 60 个
  • 管理区不少于 60 个
  • 主机 H 的地址已经正确配置为:10.10.10.33/26

这问本质是 VLSM 变长子网划分

第一步:先看每类需求对应什么前缀长度

生活区需要不少于 120 个可分配地址。

可分配地址数公式:

2^h - 2

要满足:

2^h - 2 ≥ 120

h = 7 时:

2^7 - 2 = 126

所以生活区应划为:

/25

作业区和管理区都不少于 60 个:

h = 6 时:

2^6 - 2 = 62

满足要求,所以这两个子网都应划为:

/26

于是整个 /24 被划成:

  • 一个 /25
  • 两个 /26

这三块刚好把 /24 分完,因为:

  • /25 占 128 个地址
  • /26 占 64 个地址
  • /26 占 64 个地址

总共 128 + 64 + 64 = 256

第二步:根据 H 的地址确定管理区

H 的地址是:

10.10.10.33/26

/26 的块大小是 64,所以各子网起点只能是:

  • 10.10.10.0/26
  • 10.10.10.64/26
  • 10.10.10.128/26
  • 10.10.10.192/26

33 落在 0~63 这个范围,所以 H 所在的管理区一定是:

10.10.10.0/26

第三步:剩余地址再分给另外两个子网

管理区用了 10.10.10.0/26,剩下地址空间从 10.10.10.64 开始。

生活区需要 /25,而 /25 的合法起点只能按 128 对齐,所以只能是:

10.10.10.128/25

那么剩下给作业区的就是:

10.10.10.64/26

因此,按题目要求的顺序:

  • 作业区子网:10.10.10.64/26
  • 管理区子网:10.10.10.0/26
  • 生活区子网:10.10.10.128/25

两道题最后的答案汇总

第17题答案

  1. 设备1是 交换机,设备2是 Hub
  2. H2 与 H3 之间最远距离:212 m
    • M 是 DHCP Discover
    • 路由器 E0 能收到封装 M 的以太网帧
    • S 转发给 DHCP 服务器时,该帧的目的 MAC 是 FF-FF-FF-FF-FF-FF
  3. H5 收到的 802.11 帧中:
    • 地址1:00-11-11-11-11-E1
    • 地址2:00-11-11-11-11-C1
    • 地址3:00-11-11-11-11-D1

第18题答案

    • 单向传播时延:0.24 s
    • 最大吞吐量:200 kb/s
    • 上传 4000B 文件至少需要:0.40 s
    • 发送窗口至少:8
    • 序号字段至少:4 位
    • 作业区子网:10.10.10.64/26
    • 管理区子网:10.10.10.0/26
    • 生活区子网:10.10.10.128/25

文末附加内容
暂无评论

发送评论 编辑评论


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