408 真题做题本·计算机网络部分
第 6 章 应用层
6.1 网络应用模型
- 【2019】下列关于网络应用模型的叙述中,错误的是( )。
A. 在 P2P 模型中,结点之间具有对等关系
B. 在客户 / 服务器 (C/S) 模型中, 客户与客户之间可以直接通信
C. 在 C/S 模型中,主动发起通信的是客户,被动通信的是服务器
D. 在向多用户分发一个文件时, P2P 模型通常比 C/S 模型所需的时间短
答案: B
解析:
在 P2P 模型中,各结点地位对等,一个结点既可以充当服务请求方,也可以充当服务提供方,因此 A 正确。
在 C/S 模型中,客户进程向服务器进程发起请求,客户之间通常不直接通信;若两个客户需要交换信息,一般要通过服务器中转,因此 B 错误,C 正确。
向大量用户分发同一文件时,P2P 模型中的各对等方在下载的同时还可以向其他结点上传数据,系统总上传能力会随结点数增加,通常比仅依赖服务器上传的 C/S 模型用时更短,因此 D 正确。
6.2 域名系统 (DNS)
- 【2010】如果本地域名服务器无缓存, 当采用递归方法解析另一网络某主机域名时, 用户主机、 本地域名服务器发送的域名请求消息数分别为( )。
A. 一条、一条
B. 一条、多条
C. 多条、一条
D. 多条、多条
答案: A
解析:
递归查询要求被查询的域名服务器负责继续向下查询,并最终把完整结果返回给查询者。
用户主机只向本地域名服务器发送一次域名查询;本地域名服务器也只需向下一级域名服务器发送一次递归查询,后续查询由被请求的域名服务器继续完成。因此两者发送的域名请求消息数均为一条。
- 【2016】假设所有域名服务器均采用迭代查询方式进行域名解析。当 H4 访问规范域名为 www.abc.xyz.com 的网站时,域名服务器 201.1.1.1 在完成该域名解析过程中,可能发出 DNS 查询的最少和最多次数分别是( )。
A. 1,3
B. 0,3
C. 0,4
D. 1,4
答案: C
解析:
若域名服务器 201.1.1.1 已缓存 www.abc.xyz.com 对应的 IP 地址,则可以直接返回结果,无须再发送查询,所以最少查询次数为 0。
若无任何可用缓存,则按照迭代查询过程,可能依次查询:
- 根域名服务器;
- com 顶级域名服务器;
- xyz.com 域名服务器;
- abc.xyz.com 权威域名服务器。
因此最多需要发出 4 次 DNS 查询,答案为 C。
- 【2020】假设下图所示网络中的本地域名服务器只提供递归查询服务, 其他域名服务器均只提供迭代查询服务;局域网内主机访问 Internet 上各服务器的往返时间 (RTT) 均为 10ms, 忽略其他各种时延。若主机 H 通过超链接 http://www.abc.com/index.html 请求浏览纯文本 Web 页 index.html, 则从点击超链接开始到浏览器接收 index.html 页面为止, 所需的最短时间与最长时间分别是( )。

A. 10ms、 40ms
B. 10ms、 50ms
C. 20ms、 40ms
D. 20ms、 50ms
答案: D
解析:
访问一个纯文本 Web 页至少包括:域名解析、建立 TCP 连接、发送 HTTP 请求并接收页面。
**最短情况:**本地域名服务器中已有 www.abc.com 的有效缓存,不需要访问 Internet 上的域名服务器。建立 TCP 连接需要 1 个 RTT,发送 HTTP 请求并收到页面需要 1 个 RTT,因此
**最长情况:**本地域名服务器无缓存,需要依次向根域名服务器、com 顶级域名服务器和 abc.com 权威域名服务器进行 3 次迭代查询,共需 3 个 RTT;随后建立 TCP 连接和请求 Web 页还需 2 个 RTT,因此
故选择 D。
6.3 文件传输协议 (FTP)
- 【2009】FTP 客户和服务器间传递 FTP 命令时, 使用的连接是( )。
A. 建立在 TCP 之上的控制连接
B. 建立在 TCP 之上的数据连接
C. 建立在 UDP 之上的数据连接
D. 建立在 UDP 之上的控制连接
答案: A
解析:
FTP 使用两条相互独立的 TCP 连接:
- 控制连接用于传送用户名、口令、目录操作、文件传输命令及服务器响应,服务器端默认使用 TCP 21 端口;
- 数据连接用于传输文件内容或目录列表。
因此 FTP 命令通过建立在 TCP 之上的控制连接传送,选择 A。
- 【2017】下列关于 FTP 协议的叙述中,错误的是( )。
A. 数据连接在每次数据传输完毕后就关闭
B. 控制连接在整个会话期间保持打开状态
C. 服务器与客户端的 TCP20 端口建立数据连接
D. 客户端与服务器的 TCP21 端口建立控制连接
答案: C
解析:
FTP 的控制连接在整个 FTP 会话期间保持打开,服务器端默认监听 TCP 21 端口,因此 B、D 正确。每完成一次文件或目录数据传输,相应的数据连接通常会关闭,因此 A 正确。
数据连接的端口和建立方式与工作模式有关:
- 主动模式下,服务器通常使用 TCP 20 端口主动连接客户端指定的临时端口;
- 被动模式下,服务器使用临时端口监听,由客户端主动建立数据连接。
因此不能笼统地说数据连接一定由服务器通过 TCP 20 端口建立,C 错误。
6.4 电子邮件
- 【2012】若用户 1 与用户 2 之间发送和接收电子邮件的过程如下图所示, 则图中①、②、③阶段分别使用的应用层协议可以是( )。

A. SMTP、 SMTP、 SMTP
B. POP3、 SMTP、 POP3
C. POP3、 SMTP、 SMTP
D. SMTP、 SMTP、 POP3
答案: D
解析:
三个阶段分别为:
- 用户 1 的用户代理向用户 1 的邮件服务器提交邮件,可使用 SMTP;
- 用户 1 的邮件服务器向用户 2 的邮件服务器传送邮件,使用 SMTP;
- 用户 2 从自己的邮件服务器读取邮件,可使用 POP3 或 IMAP。
因此可采用的协议组合为 SMTP、SMTP、POP3,选择 D。
- 【2013】下列关于 SMTP 协议的叙述中, 正确的是( )。 I. 只支持传输 7 比特 ASCII 码内容 II. 支持在邮件服务器之间发送邮件 III. 支持从用户代理向邮件服务器发送邮件 IV. 支持从邮件服务器向用户代理发送邮件
A. 仅 I、 II 和 III
B. 仅 I、 II 和 IV
C. 仅 I、 III 和 IV
D. 仅 II、 III 和 IV
答案: A
解析:
逐项判断:
- I 正确。传统 SMTP 直接传输的邮件正文以 7 比特 ASCII 码表示,非 ASCII 数据需借助 MIME 等机制编码后再传输;
- II 正确。发送方邮件服务器与接收方邮件服务器之间使用 SMTP 传送邮件;
- III 正确。用户代理可使用 SMTP 将邮件提交给发送方邮件服务器;
- IV 错误。用户从邮件服务器读取邮件通常使用 POP3 或 IMAP,而不是 SMTP。
故正确的是 I、II、III,选择 A。
- 【2015】通过 POP3 协议接收邮件时, 使用的传输层服务类型是( )。
A. 无连接不可靠的数据传输服务
B. 无连接可靠的数据传输服务
C. 有连接不可靠的数据传输服务
D. 有连接可靠的数据传输服务
答案: D
解析:
POP3 运行在 TCP 之上,服务器默认使用 TCP 110 端口。TCP 在通信前需要建立连接,并通过确认、重传、序号等机制提供可靠传输,因此 POP3 使用的是有连接、可靠的数据传输服务。
- 【2018】无须转换即可由 SMTP 协议直接传输的内容是( )。
A. JPEG 图像
B. MPEG 视频
C. EXE 文件
D. ASCII 文本
答案: D
解析:
传统 SMTP 面向 7 比特 ASCII 文本。JPEG 图像、MPEG 视频和 EXE 文件都属于二进制数据,需要先通过 MIME、Base64 等方式转换为可传输的 ASCII 形式;ASCII 文本无须转换即可直接传输。因此选择 D。
6.5 万维网 (www)
- 【2014】使用浏览器访问某大学 Web 网站主页时, 不可能使用到的协议是( )。
A. PPP
B. ARP
C. UDP
D. SMTP
答案: D
解析:
访问 Web 网站时可能涉及:
- HTTP 与 Web 服务器交互;
- DNS 解析域名,DNS 通常使用 UDP;
- 在以太网中通过 ARP 获取下一跳 MAC 地址;
- 若接入链路采用点对点方式,也可能使用 PPP。
SMTP 用于发送电子邮件,与浏览 Web 主页无关,因此不可能使用到的是 SMTP。
- 【2015】某浏览器发出的 HTTP 请求报文如下.下列叙述中,错误的是( ).
GET /index.html HTTP/1.1
Host: www.test.edu.cn
Connection: Close
Cookie: 123456
A. 该浏览器请求浏览 index.html
B. index.html 存放在 www.test.edu.cn 上
C. 该浏览器请求使用持续连接
D. 该浏览器曾经浏览过 www.test.edu.cn
答案: C
解析:
- 请求行
GET /index.html HTTP/1.1表明浏览器请求资源 index.html,A 正确; Host: www.test.edu.cn指明目标虚拟主机,B 正确;Connection: Close表示完成本次请求—响应后关闭 TCP 连接,即不使用持续连接,所以 C 错误;- 请求中携带
Cookie: 123456,说明浏览器保存了该站点此前设置的 Cookie,通常意味着浏览器曾访问过该站点,D 正确。
- 【2018】下列 TCP/IP 应用层协议中, 可以使用传输层无连接服务的是( )。
A. FTP
B. DNS
C. SMTP
D. HTTP
答案: B
解析:
FTP、SMTP 和 HTTP 通常都运行在 TCP 之上,使用有连接的可靠传输服务。DNS 的普通查询与响应通常运行在 UDP 之上,可以使用无连接传输服务;当响应过大、进行区域传送等情况下,DNS 也可以使用 TCP。因此选择 B。
- 【2022】假设主机 H 通过 HTTP/1.1 请求浏览某 Web 服务器 S 上的 Web 页 news408.html, news408. html 引用了同目录下的 1 幅图像, news408.html 文件大小为 1MSS(最大段长), 图像文件大小为 3MSS, H 访问 S 的往返时间 RTT = 10ms, 忽略 HTTP 响应报文的首部开销和 TCP 段传输时延。若 H 已完成域名解析, 则从 H 请求与 S 建立 TCP 连接时刻起, 到接收到全部内容止, 所需的时间至少是( )。
A. 30ms
B. 40ms
C. 50ms
D. 60ms
答案: B
解析:
HTTP/1.1 默认使用持续连接。为取得最短时间,可让 TCP 三次握手的第三个报文段携带第一个 HTTP 请求,并按 TCP 慢开始阶段初始拥塞窗口为 1MSS 计算。
- 第 1 个 RTT:建立 TCP 连接,第三次握手可携带对 news408.html 的请求;
- 第 2 个 RTT:服务器发送大小为 1MSS 的 HTML 文件,确认后拥塞窗口增至 2MSS;
- 第 3 个 RTT:服务器最多发送图像文件中的 2MSS,确认后拥塞窗口增至 4MSS;
- 第 4 个 RTT:服务器发送图像文件剩余的 1MSS。
因此至少需要
故选择 B。
- 【2024】若浏览器不支持并行 TCP 连接, 使用非持久的 HTTP/1.0 协议请求浏览 1 个 Web 页, 该页中引用同一个网站上 7 个小图像文件,则从浏览器为传输 Web 页请求建立 TCP 连接开始,到接收完所有内容为止, 所需要的往返时间 RTT 数至少是( )。
A. 4
B. 9
C. 14
D. 16
答案: D
解析:
非持久 HTTP 对每个对象分别建立一条 TCP 连接。浏览器不支持并行连接,因此各对象必须依次获取。
每个对象至少需要:
- 1 个 RTT 建立 TCP 连接;
- 1 个 RTT 发送 HTTP 请求并收到对象。
网页共有 1 个 HTML 文件和 7 个图像文件,共 8 个对象,因此
故选择 D。
- 【2011】某主机的 MAC 地址为 00 - 15 - C5 - C1 - 5E - 28, IP 地址为 10.2.128.100(私有地址)。 下图 (a) 是网络拓扑, 下图 (b) 是该主机进行 Web 请求的 1 个以太网数据帧前 80B 的十六进制及ASCII 码内容。

请参考图中的数据回答以下问题:
(1) Web 服务器的 IP 地址是什么? 该主机的默认网关的 MAC 地址是什么?
(2) 该主机在构造图 (b) 所示的数据帧时, 使用什么协议确定目的 MAC 地址?封装该协议请求报文的以太网帧的目的 MAC 地址是什么?
(3) 假设 HTTP/1.1 协议以持续的非流水线方式工作, 一次请求 - 响应时间为 RTT, rfc.html 页面引用了 5 个 JPEG 小图像, 则从发出如图 (b) 所示的 Web 请求开始到浏览器收到全部内容为止,需要多少个 RTT?
(4) 该帧所封装的 IP 分组经过路由器 R 转发时, 需修改 IP 分组头中的哪些字段? 注: 以太网数据帧结构和 IP 分组头结构分别如图 (c) 和图 (d) 所示。

答案:
(1) Web 服务器的 IP 地址为 64.170.98.32;默认网关的 MAC 地址为 00-21-27-21-51-EE。
(2) 使用 ARP 协议确定目的 MAC 地址;ARP 请求报文所在以太网帧的目的 MAC 地址为 FF-FF-FF-FF-FF-FF。
(3) 需要 6 个 RTT。
(4) 需要修改源 IP 地址、生存时间 TTL 和 IP 首部校验和。
解析:
(1) 解析以太网帧和 IP 首部。
以太网帧前 14B 依次为目的 MAC 地址、源 MAC 地址和类型字段:
00 21 27 21 51 ee | 00 15 c5 c1 5e 28 | 08 00
因此目的 MAC 地址为 00-21-27-21-51-EE。由于 Web 服务器在 Internet 上,与主机不在同一局域网中,该目的 MAC 地址就是默认网关接口的 MAC 地址。
类型字段 08 00 表示上层为 IPv4。IPv4 首部中的源、目的地址字节为:
0a 02 80 64 | 40 aa 62 20
其中 40 aa 62 20 转换为十进制为
故 Web 服务器的 IP 地址为 64.170.98.32。
(2) 确定下一跳 MAC 地址。
主机只知道默认网关的 IP 地址时,需要使用 ARP 查询该 IP 地址对应的 MAC 地址。ARP 请求采用局域网广播方式发送,其以太网目的 MAC 地址为
FF-FF-FF-FF-FF-FF
(3) 计算 HTTP 请求时间。
题目从已经发出图示 HTTP 请求开始计时,故不再计算 TCP 建立连接的时间。持续非流水线方式下:
- 请求并接收 rfc.html 需要 1 个 RTT;
- 浏览器解析页面后,对 5 个 JPEG 图像逐个发送请求,每个图像需要 1 个 RTT。
因此总时间为
(4) 路由器转发时的修改。
主机使用私有 IP 地址 10.2.128.100,路由器 R 连接 Internet 的接口地址为 101.12.123.15,因此 R 进行 NAT 转换时,要把 IP 分组的源 IP 地址改为公网地址 101.12.123.15。每经过一台路由器,TTL 要减 1;源 IP 地址和 TTL 发生变化后,必须重新计算 IP 首部校验和。
该 IP 分组总长度字段为 01 ef,即 495B,小于链路 MTU 1500B,而且 DF 标志已置位,因此不发生分片,标志、片偏移和总长度等字段无须修改。
- 【2021】网络拓扑如下图所示, 以太网交换机 S 通过路由器 R 与 Internet 互联。路由器部分接口、本地域名服务器、 H1、 H2 的 IP 地址和 MAC 地址如下图所示。在 t0 时刻 H1 的 ARP 表和 S 的交换表均为空, H1 在此刻利用浏览器通过域名 www.abc.com 请求访问 Web 服务器, 在 t1 时刻 () S 第一次收到了封装 HTTP 请求报文的以太网帧, 假设从 t0 到 t1 期间网络未发生任何与此次 Web 访问无关的网络通信。

请回答下列问题。
(1) 从 t0 到 t1 期间, H1 除了 HTTP 之外还运行了哪个应用层协议? 从应用层到数据链路层, 该应用层协议报文是通过哪些协议进行逐层封装的?
(2) 若 S 的交换表结构为 <MAC 地址, 端口>, 则 t1 时刻 S 交换表的内容是什么?
(3) 从 t0 到 t1 期间, H2 至少会接收到几个与此次 Web 访问相关的帧?接收到的是什么帧?帧的目的 MAC 地址是什么?
答案:
(1) H1 还运行了 DNS 协议。逐层封装过程为:DNS 报文 → UDP 用户数据报 → IP 数据报 → 以太网帧。
(2) t1 时刻 S 的交换表为:
| MAC 地址 | 端口 |
|---|---|
| 00-11-22-33-44-BB | S1 |
| 00-11-22-33-44-AA | S2 |
| 00-11-22-33-44-CC | S4 |
(3) H2 至少接收到 2 个与此次 Web 访问相关的帧;它们均为封装 ARP 请求报文的以太网广播帧,目的 MAC 地址均为 FF-FF-FF-FF-FF-FF。
解析:
(1) 应用层协议及封装。
浏览器使用域名 www.abc.com 访问 Web 服务器,在发送 HTTP 请求前必须先通过 DNS 得到该域名对应的 IP 地址。普通 DNS 查询通常使用 UDP,因此封装顺序为:
DNS 报文 → UDP 用户数据报 → IP 数据报 → 以太网帧
(2) 交换机的自学习过程。
交换机根据收到帧的源 MAC 地址学习 <MAC 地址, 入端口> 映射。从 t0 到 t1 的 DNS 解析、ARP 解析以及与 Web 服务器建立 TCP 连接过程中,S 会收到来自以下设备的帧:
- H1 的源 MAC 地址 00-11-22-33-44-CC,经端口 S4 到达;
- 路由器 R 的源 MAC 地址 00-11-22-33-44-AA,经端口 S2 到达;
- 本地域名服务器的源 MAC 地址 00-11-22-33-44-BB,经端口 S1 到达。
H2 在此期间只接收广播帧而未发送帧,因此交换机不能通过接收方向学习 H2 的 MAC 地址,交换表中没有 H2 对应的表项。
(3) H2 接收的帧。
在完成 DNS 查询并准备向 Internet 上的 Web 服务器发送报文之前,需要通过 ARP 获得相应下一跳接口的 MAC 地址。至少会出现两次 ARP 请求广播,例如 H1 查询默认网关的 MAC 地址,以及路由器在转发 DNS 查询时查询本地域名服务器接口的 MAC 地址。
ARP 请求所在以太网帧的目的地址均为广播地址
FF-FF-FF-FF-FF-FF
交换机将广播帧从除入端口外的其他端口转发,因此连接在 S3 上的 H2 至少会收到这 2 个广播帧。