2021年408真题计算机网络篇
2021年408真题计算机网络篇
选择题
33. 在 TCP/IP 参考模型中,由传输层相邻的下一层实现的主要功能是( )
选项:
A. 对话管理 B. 路由选择 C. 端到端报文段传输 D. 结点到结点流量控制
✅正确答案:B. 路由选择
解析:
TCP/IP 参考模型包括四层(自下而上):
- 网络接口层(也叫主机-网络层)
- 网际层(传输层的下一层)
- 传输层
- 应用层
传输层:负责端到端的数据传输,例如 TCP、UDP。
网际层:提供主机到主机的数据传输,包括路由选择、寻址等功能(如 IP 协议)。
所以传输层相邻的下一层是网际层,其核心功能之一就是路由选择(routing)。
其他选项错误说明: A. 对话管理属于应用层功能 C. 端到端传输是传输层本身的功能 D. 结点到结点流量控制是数据链路层(或网络接口层)的功能
34. 若下图为一段差分曼彻斯特编码信号波形,则其编码的二进制位串是( )
选项:
A. 10111001 B. 11010001 C. 00101110 D. 10110110
✅正确答案:A. 10111001
解析:
差分曼彻斯特编码规则如下:
每位中间必须跳变(用于同步,不用于表示数据位);
每一位起始是否跳变表示数据内容:
- 有跳变 → 表示 0
- 无跳变 → 表示 1
分析过程:
- 假设图中波形表示的是差分曼彻斯特编码(中间均有跳变);
- 观察每个位起始处是否跳变,决定该位是 0 还是 1;
- 首位无法判断前一状态(因为没有参考跳变方向),所以用
x
表示; - 根据图中跳变特征,解码为:
x0111001
→ 若 x = 1
,则整体是 10111001
,对应选项
A;
→ 若 x = 0
,则整体是
00111001
,不在选项中。
因此,选项 A 正确。
35. IP 子网划分问题
问题: 现将一个 IP 网络划分为 3
个子网,若其中一个子网是
192.168.9.128/26
,则下列网络中,不可能是另外两个子网之一的是(
)。
选项: A. 192.168.9.0/25 B. 192.168.9.0/26 C. 192.168.9.192/26 D. 192.168.9.192/27
答案: B
解析: 我们先理解 192.168.9.128/26
的地址范围:
- 网络地址:192.168.9.128
- 子网掩码:255.255.255.192,对应后 6 位是主机号
- IP 范围:192.168.9.128 ~ 192.168.9.191(共 64 个地址)
其二进制前两位为 10xxxxxx
(表示第 7 和 8 位分别为 1 和
0),因此为了不重叠,其他子网不能与这个范围有交集。
我们依次分析:
- A. 192.168.9.0/25 这个子网范围是 192.168.9.0 ~
192.168.9.127,对应前缀
0xxxxxxx
,和10xxxxxx
无重叠,合法。 - B. 192.168.9.0/26 子网范围为 192.168.9.0 ~
192.168.9.63,是
00xxxxxx
,也与10xxxxxx
没重叠,但: 若选了192.168.9.0/26
和192.168.9.128/26
,则剩余可用地址为 192.168.9.64 ~ 127 与 192.168.9.192 ~ 255,这两个地址块不连续且不能合成一个子网,无法划出一个合理的第三个子网,因此不可能是划分结果之一。 - C. 192.168.9.192/26 范围是 192.168.9.192 ~
192.168.9.255,前缀为
11xxxxxx
,与10xxxxxx
不重叠,且与它可以合成更大的子网(如 /25),合法。 - D. 192.168.9.192/27 范围更小,192.168.9.192 ~ 223,但依旧不重叠,剩余部分也可以组合成第三个子网,合法。
✅ 因此,答案是 B,因为它导致剩余地址无法合并成一个合法子网。
36. IP 分片问题
问题: 若路由器向 MTU = 800 B 的链路转发一个总长度为 1580 B 的 IP 数据报(首部长度为 20 B),进行了分片,且每个分片尽可能大,则第 2 个分片的“总长度字段”和“MF 标志位”的值分别是( )。
选项: A. 796,0 B. 796,1 C. 800,0 D. 800,1
答案: B
解析:
- 原始数据报总长度:1580 B
- IP 首部长度:20 B
- 数据部分大小:1580 - 20 = 1560 B
分片时,除首片外,每个片都要加上 20 B 首部,因此最大可用数据部分为: 800(MTU) - 20(首部) = 780 B
但由于分片的偏移是 8 字节对齐,必须是 8 的倍数: 最大合法数据片段为 ⌊780 / 8⌋ × 8 = 776 B
🔹 第一个分片:
- 数据:776 B
- 首部:20 B
- 总长度:796 B
- 偏移:0
- MF = 1(因为还有剩余)
🔹 第二个分片:
- 偏移:776 / 8 = 97
- 数据:776 B(还有 1560 - 776 = 784 B 剩余)
- 首部:20 B
- 总长度:776 + 20 = 796 B
- MF = 1(因为还剩 8 B)
🔹 第三个分片:
- 数据:8 B
- 总长度:8 + 20 = 28 B
- MF = 0(最后一片)
✅ 因此,第 2 个分片总长度是 796,MF=1
37. 距离向量路由更新
某网络中的所有路由器均采用距离向量路由算法计算路由。若路由器 E 与邻居路由器 A、B、C 和 D 之间的直接链路距离分别是 8、10、12 和 6,且 E 收到邻居路由器的距离向量如下表所示,则路由器 E 更新后的到达目的网络 Net1~Net4 的距离分别是( )。
目的网络 | A的距离向量 | B的距离向量 | C的距离向量 | D的距离向量 |
---|---|---|---|---|
Net1 | 1 | 23 | 20 | 22 |
Net2 | 12 | 35 | 30 | 28 |
Net3 | 24 | 18 | 16 | 36 |
Net4 | 36 | 30 | 8 | 24 |
选项:
A. 9,10,12,6 B. 9,10,28,20 C. 9,20,12,20 D. 9,20,28,20
✅ 答案:D
【解析】:
E 与邻居的链路代价如下:
- E → A:8
- E → B:10
- E → C:12
- E → D:6
对于每个目的网络,E 通过邻居到达的总代价 = 邻居的代价 + 直接链路代价:
目的网络 | 经 A | 经 B | 经 C | 经 D | 最小值 |
---|---|---|---|---|---|
Net1 | 1+8=9 | 23+10=33 | 20+12=32 | 22+6=28 | ✅9 |
Net2 | 12+8=20 | 35+10=45 | 30+12=42 | 28+6=34 | ✅20 |
Net3 | 24+8=32 | 18+10=28 | 16+12=28 | 36+6=42 | ✅28 |
Net4 | 36+8=44 | 30+10=40 | 8+12=20 | 24+6=30 | ✅20 |
所以,结果是:9, 20, 28, 20
38. TCP连接的状态转换
若客户首先向服务器发送 FIN 段请求断开 TCP 连接,则当客户收到服务器发送的 FIN 段并向服务器发送了 ACK 段后,客户的 TCP 状态转换为( )。
选项:
A. CLOSE_WAIT B. TIME_WAIT C. FIN_WAIT_1 D. FIN_WAIT_2
✅ 答案:B
【解析】:
TCP 连接的四次挥手过程如下:
- 客户端发送 FIN → 状态变为
FIN_WAIT_1
- 服务器收到 FIN → 回 ACK,客户端变为
FIN_WAIT_2
- 服务器发送 FIN → 客户端收到后回复 ACK
- 客户端进入
TIME_WAIT
状态,等待一段时间(通常为 2MSL)以确保服务器收到了 ACK - 等待结束后,才变为
CLOSED
因此,当客户端 收到服务器发来的 FIN 并回应 ACK 后,它的状态就是:✅ TIME_WAIT
39. 有效载荷最大与最小传输效率计算
若大小为 12 B 的应用层数据分别通过 1 个 UDP 数据报和 1 个 TCP 段传输,则该 UDP 数据报和 TCP 段实现的有效载荷(应用层数据)最大传输效率分别是( )。
选项:
A. 37.5%,16.7% B. 37.5%,37.5% C. 60.0%,16.7% D. 60.0%,37.5%
✅ 答案:D
【解析】:
- UDP 报文头部固定为 8 字节
- TCP 报文头部最小为 20 字节
1. UDP: 数据:12 B + UDP 头部:8 B → 总共:20 B 传输效率 = 应用层数据 / 总数据 = 12 / 20 = 60%
2. TCP(最小报头20 B): 数据:12 B + TCP 头部:20 B → 总共:32 B 传输效率 = 12 / 32 = 37.5%
40. TCP 发送窗口与序号范围
假设主机甲通过 TCP 向主机乙发送数据,部分过程如下图所示。甲在 t₀ 时刻发送了一个 seq=501、封装 200 B 数据的段,在 t₁ 时刻收到乙发送的 序号 seq=601、确认号 ack_seq=501、接收窗口 rcvwnd=500B 的段,则甲在未收到新的确认段之前可以继续向乙发送的数据序号范围是( )。
选项:
A. 501~1000
B. 601~1000
C. 701~1000
D. 801~1100
✅ 答案:C
【解析】:
ack_seq=501
:表示乙已成功接收到从序号 0~500 的数据rcvwnd=500
:表示乙还可以继续接收 500 B 数据- 所以甲可以发送的下一个字节序号范围是:501~1000
但是:
- 甲已经发送了 501~700(共 200 字节)
- 所以还未发送的、但在窗口内的可用序号范围是:✅ 701~1000
网络拓补
题目:
某网络拓扑如题47图所示,以太网交换机 S 通过路由器 R 与 Internet 互联。路由器部分接口、本地域名服务器、H1、H2 的 IP 地址和 MAC 地址如图中所示。
在 t₀
时刻 H1 的 ARP 表和 S 的交换表均为空,H1
在此刻利用浏览器通过域名 www.abc.com
请求访问 Web
服务器,在 t₁
时刻 (t₁ > t₀
) S
第一次收到了封装 HTTP 请求报文的以太网帧。
假设从 t₀
到 t₁
期间网络未发生任何与此次
Web 访问无关的网络通信。
请回答以下问题:
(1)
从 t₀
到 t₁
期间,H1 除了 HTTP
之外还运行了哪个应用层协议?从应用层到数据链路层,该应用层协议报文是通过哪些协议进行逐层封装的?
答案:
除了 HTTP,还运行了 DNS 协议(域名解析用)。
逐层封装顺序为:
1
DNS 报文 → UDP 数据报 → IP 数据包 → 以太网帧(使用 CSMA/CD 协议)
解释:
- 用户输入的是域名
www.abc.com
,必须先通过 DNS 协议查询其 IP 地址; - DNS 是基于 UDP 的应用层协议;
- UDP 是基于 IP 的传输层协议;
- 在以太网中,数据最终通过以太网帧(MAC帧)进行传输。
(2)
t₁
时刻 S 交换表的内容是什么?(假设交换表结构为
<MAC地址,端口>
)
答案:
MAC地址 | 端口 |
---|---|
00-11-22-33-44-cc(H1) | 4 |
00-11-22-33-44-bb(DNS) | 1 |
00-11-22-33-44-aa(R) | 2 |
解释:
从 t₀
到 t₁
,为完成 Web 请求,H1 必须:
向本地域名服务器发送 DNS 请求,但先需通过 ARP 广播获取 DNS 的 MAC 地址;
- H1 发广播帧,S 在端口4学习到 H1 的 MAC;
- DNS 回应,S 在端口1学习到 DNS 的 MAC。
向 DNS 发出 DNS 请求,DNS 响应返回 IP 地址。
H1 发现目标 IP 不在同网段,需通过默认网关 R 转发,但又要先通过 ARP 获取 R 的 MAC 地址;
- H1 再次广播,S 在端口2学习到 R 的 MAC;
- R 回应后,H1 才能封装 HTTP 请求发给 R。
(3)
从 t₀
到 t₁
期间,H2 至少会接收到几个与此次
Web 访问相关的帧?接收到的是什么帧?帧的目的 MAC
地址是什么?
答案:
- 至少会接收到 2 个帧;
- 这两个帧是:ARP 查询帧(广播);
- 目的 MAC
地址均为:
ff-ff-ff-ff-ff-ff
(广播地址)。
解释:
- H1 至少发了两个 ARP 广播帧:一个为了找 DNS 的 MAC,另一个为了找 R 的 MAC;
- ARP 广播帧是以太网广播帧,网络内所有主机都会收到,包括 H2;
- 但 H2 会发现目的 IP 与自身无关,所以丢弃,但仍然接收到了这两个广播帧。