
这几题本质上主要考两类内容:
一类是 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 |
|---|---|---|---|---|
| 1 | 1480B | 1500B | 0 | 1 |
| 2 | 1480B | 1500B | 185 | 1 |
| 3 | 1020B | 1040B | 370 | 0 |
易错点
这题最容易错两个地方:
第一,片偏移单位是 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/27 | 255.255.255.224 | 192.168.161.1 ~ 192.168.161.30 |
| 市场部 | 192.168.161.32/27 | 255.255.255.224 | 192.168.161.33 ~ 192.168.161.62 |
| 售后部 | 192.168.161.64/27 | 255.255.255.224 | 192.168.161.65 ~ 192.168.161.94 |
| 财务部 | 192.168.161.96/27 | 255.255.255.224 | 192.168.161.97 ~ 192.168.161.126 |
| 办公室 | 192.168.161.128/27 | 255.255.255.224 | 192.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 个子网分别为:
| 子网 | 网络地址 | 可分配主机范围 |
|---|---|---|
| 1 | 131.128.56.0/26 | 131.128.56.1 ~ 131.128.56.62 |
| 2 | 131.128.56.64/26 | 131.128.56.65 ~ 131.128.56.126 |
| 3 | 131.128.56.128/26 | 131.128.56.129 ~ 131.128.56.190 |
| 4 | 131.128.56.192/26 | 131.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
目的地址:
- C4.5E.13.87
- C4.5E.22.09
- C3.41.80.02
- 5E.43.91.12
先给结论
- C4.5E.13.87 → B
- C4.5E.22.09 → A
- C3.41.80.02 → E
- 5E.43.91.12 → F
解题关键
虽然写成了十六进制,但规则没有变,还是:
最长前缀匹配
先看几个网段范围
C4.50.0.0/12
表示前 12 位固定,所以第二字节高 4 位是 5
即范围大致是:C4.50.0.0 ~ C4.5F.FF.FFC4.5E.10.0/20
表示前 20 位固定,即前两字节固定为 C4 5E,第三字节高 4 位固定为 1
即范围:C4.5E.10.0 ~ C4.5E.1F.FFC4.60.0.0/12
范围:C4.60.0.0 ~ C4.6F.FF.FFC4.68.0.0/14
比 /12 更具体,覆盖的是 C4.68 到 C4.6B 这一段80.0.0.0/1
第一位是 1,即高位为 1 的一半地址空间40.0.0.0/2
前两位是 0100.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 | 地址块 |
|---|---|
| LAN3 | 30.138.118.0/24 |
| LAN2 | 30.138.119.0/25 |
| LAN5 | 30.138.119.128/27 |
| LAN4 | 30.138.119.160/29 |
| LAN1 | 30.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。
问:
- 这 5 台主机分属几个网段?哪些主机同一网段?主机 D 的网络地址是多少?
- 若加入第 6 台主机 F,使它和 A 同一网段,则其 IP 范围是多少?
- 若另加一台主机 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 个网段:
- 192.168.75.16/28:A
- 192.168.75.144/28:B、C
- 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 分片题模板
先做这四步:
- 先求原数据部分长度
数据长度 = 总长度 - 首部长度 - 求当前网络允许的最大分片数据长度
最大数据长度 = MTU - 首部长度 - 除最后一片外,按 8B 对齐
- 片偏移 = “本片起始数据字节号 ÷ 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 个字,即 20B0000 54:总长度 = 0x0054 = 84B00 03:标识58 50:标志 + 片偏移20:TTL06:协议 = TCPFF F0:首部校验和7C 4E 03 02:源 IPB4 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,首部长度 20B01 90:总长度 = 0x0190 = 400B40 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
- H1:
- 右边局域网:
172.18.1.128/25- H3:
172.18.1.211/25 - H4:
172.18.1.233/25 - R2 的 E2:
172.18.1.254/25
- H3:
- R2 与 R1 之间链路:
203.10.2.0/30- 图中 R1 的 E1 =
203.10.2.2/30 - 所以 R2 的 E1 =
203.10.2.1/30
- 图中 R1 的 E1 =
1)R2 的 E1 接口 IP 地址是什么?H1 的默认网关是什么?
203.10.2.0/30 这个网段可用主机地址只有两个:
203.10.2.1203.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,目的 IP213.48.226.31 - 经 R2 转发后:源 IP
203.10.2.1,目的 IP213.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.0 | 255.255.255.128 | 直连 | E1 |
| 202.118.1.128 | 255.255.255.128 | 直连 | E2 |
| 202.118.3.2 | 255.255.255.255 | 202.118.2.2 | L0 |
| 0.0.0.0 | 0.0.0.0 | 202.118.2.2 | L0 |
这里到域名服务器用的是主机路由,所以掩码写 /32,即 255.255.255.255。
3)采用路由聚合技术,给出 R2 到局域网 1 和局域网 2 的路由
前面已经把两个局域网划分成:
202.118.1.0/25202.118.1.128/25
这两个连续子网可以聚合为:
202.118.1.0/24
所以 R2 只需保留一条聚合路由即可:
| 目的网络 IP 地址 | 子网掩码 | 下一跳 IP 地址 | 接口 |
|---|---|---|---|
| 202.118.1.0 | 255.255.255.0 | 202.118.2.1 | L0 |
本题易错点
一是容易把“至少 120 台主机”误划成 /26,这是不够的。
二是主机路由一定是 /32。
三是做路由聚合时,不是简单把两条路由抄一遍,而是要找它们的公共前缀。
第14题:DHCP、ARP、默认网关综合题
这题是统考真题风格非常强的一道题,主要考:
- DHCP 动态分配地址范围
- DHCP Discover 的 IP 地址
- ARP 请求的目的 MAC
- 发往 Internet 时以太网帧目的 MAC
- 默认网关配置错误的影响
图中已知:
- 路由器 LAN 口:
111.123.15.1/24,MAC00-a1-a1-a1-a1-a1 - DHCP 服务器:
111.123.15.2/24,MAC00-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,目的 IP255.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 个分片 - 各分片片偏移量分别为:
0、97
第15题第1问怎么做
题干说 192.168.1.0/24 “均分”给两个子网,所以很明显就是把一个 /24 划成两个 /25。
/24 一共 256 个地址,均分后每个子网 128 个地址,因此两个子网分别是:
192.168.1.0/25192.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首部长度”“片偏移”,立刻按这个顺序做:
- 先求原始数据长度:
总长度 - 首部长度 - 再求每片最多可装数据:
MTU - 首部长度 - 再把它向下调整成 8 的整数倍
- 最后用“前面已经装了多少字节 ÷ 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
- 源 IP:
- 经过 R3 转发后:
- 源 IP:
203.10.2.6 - 目的 IP:
203.10.2.2
- 源 IP:
- 经过 R2 转发后:
- 源 IP:
203.10.2.6 - 目的 IP:
192.168.1.2
- 源 IP:
第16题先看本题考什么
本题考的是三件事串起来:
- 私有地址不能直接作为跨网访问标识
- Web 服务器对外发布时要做静态 NAT / 端口映射
- 内网主机访问外部时要做源 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.2、192.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是 交换机,设备2是 Hub
- H2 与 H3 之间最远距离:212 m
- M 是 DHCP Discover
- 路由器 E0 能收到封装 M 的以太网帧
- S 转发给 DHCP 服务器时,该帧的目的 MAC 是 FF-FF-FF-FF-FF-FF
- 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



