跳转至

第六章应用层

一、 单选题答案速对

年份-题号 考查知识点 正确答案
2019-40 网络应用模型 (C/S vs P2P) B
2010-40 DNS递归查询 A
2016-40 DNS迭代查询次数 C
2020-40 DNS查询 + HTTP RTT计算 D
2009-40 FTP连接类型 A
2017-40 FTP协议细节 C
2012-40 电子邮件协议流程 D
2013-40 SMTP协议特性 A
2015-33 POP3传输层服务 D
2018-40 SMTP直接传输内容 D
2014-40 Web访问涉及协议 D
2015-40 HTTP请求报文解析 C
2018-33 使用无连接服务的应用层协议 B
2022-40 HTTP/1.1 持续连接 RTT B
2024-40 HTTP/1.0 非持久连接 RTT D

二、 综合题答案速对

年份-题号 考查知识点 核心答案
2011-47 以太网帧解析、ARP、HTTP RTT、IP首部修改 (1) Web服务器IP:64.170.98.32;默认网关MAC:00-21-27-21-51-EE (2) 确定MAC用 ARP 协议;ARP请求目的MAC为广播地址 FF-FF-FF-FF-FF-FF (3) 持续非流水线:1个HTML(1RTT) + 5个图像(各1RTT) = 6个RTT (4) 路由器修改的IP首部字段:源IP地址 (NAT)、TTL (减1)、首部校验和 (重新计算)
2021-47 HTTP、DNS、交换机自学习、ARP (1) 还运行了 DNS 协议;封装顺序:DNS → UDP → IP → 以太网帧 (2) \(t_1\)时刻S交换表至少包含:本地域名服务器MAC(端口1)、路由器R MAC(端口2)、H1 MAC(端口4)。 (3) H2至少收到 2 个帧;均为 ARP请求帧;目的MAC均为以太网广播地址 FF-FF-FF-FF-FF-FF

(一)网络应用模型

Tip

  1. 客户/服务器(C/S)模型
  2. 对等(P2P)模型
  1. 【2019-40】下列关于网络应用模型的叙述中,错误的是( )。

A. 在P2P模型中,结点之间具有对等关系

B. 在客户/服务器 (C/S) 模型中,客户与客户之间可以直接通信

C. 在C/S模型中,主动发起通信的是客户,被动通信的是服务器

D. 在向多用户分发一个文件时,P2P模型通常比C/S模型所需的时间短

解析

答案:B。

  • P2P 模型中的结点地位对等,一个结点既可作为服务请求方,也可作为服务提供方,A 正确。
  • C/S 模型中,客户通常通过服务器获得服务,两个客户不直接通信,因此 B 错误。
  • 服务器通常持续运行并被动监听,客户主动向服务器发起请求,C 正确。
  • 文件分发规模增大时,P2P 中每个已获得数据的对等方都能继续上传,系统总上传能力随结点数增加,通常比只依赖服务器上传的 C/S 模型更快,D 正确。

视频讲解: 【2019年 题40】P2P 模型和 C/S 模型(P13)

(二)DNS 系统

Tip

  1. 层次域名空间
  2. 域名服务器
  3. 域名解析过程
  1. 【2010-40】如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为( )。

A. 一条、一条

B. 一条、多条

C. 多条、一条

D. 多条、多条

解析

答案:A(一条、一条)。

用户主机只需向本地域名服务器发送一次递归查询。本地域名服务器也只向下一台域名服务器发出一次递归查询;被查询的服务器若不能直接回答,会继续替请求方查询其他服务器,最后逐级返回结果。因此用户主机和本地域名服务器各发出一条请求消息。

注意:若采用的是迭代查询,本地域名服务器才需要根据每次获得的转介信息依次查询多台服务器。

视频讲解: 【2010年 题40】DNS 递归查询(P2)

  1. 【2016-40】假设所有域名服务器均采用迭代查询方式进行域名解析。当H4访问规范域名为 www.abc.xyz.com 的网站时,域名服务器201.1.1.1在完成该域名解析过程中,可能发出DNS查询的最少和最多次数分别是( )。

1783969589822-5d37ee67-afbd-4010-a0de-bbf49084cf8a.png

A. 0,3

B. 1,3

C. 0,4

D. 1,4

解析

答案:C(0,4)。

  • 最少为 0 次:若本地域名服务器 201.1.1.1 已缓存该主机名对应的 IP 地址,就能直接回答 H4,无需再向其他服务器发出查询。
  • 最多为 4 次:无缓存时,本地域名服务器按迭代方式依次查询根域名服务器、.com 顶级域名服务器、xyz.com 域名服务器和 abc.xyz.com 权威域名服务器,最后取得 www.abc.xyz.com 的地址。

题目问的是 201.1.1.1 发出的查询次数,不包括 H4 发给它的那次查询。

视频讲解: 【2016年 题40】DNS 迭代查询(P9)

  1. 【2020-40】假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名服务器均只提供迭代查询服务;局域网内主机访问Internet上各服务器的往返时间 (RTT) 均为10ms,忽略其他各种时延。若主机H通过超链接 http://www.abc.com/index.html 请求浏览纯文本Web页index.html,则从点击超链接开始到浏览器接收到index.html页面为止,所需的最短时间与最长时间分别是( )。

1783973310596-ac0d72f3-928d-4e30-857c-2ab7676ae5f6.png

A. 10 ms,40 ms

B. 10 ms,50 ms

C. 20 ms,40 ms

D. 20 ms,50 ms

解析

答案:D(20ms,50ms)。

HTTP 获取页面至少需要两个 RTT:

  1. 建立 TCP 连接需要 1RTT。
  2. 发送 HTTP 请求并收到页面需要 1RTT。

因此 HTTP 阶段共 2×10=20ms。

  • 最短情况:本地域名服务器已有 www.abc.com 的缓存,不发生外部 DNS 查询,总时间为 20ms。
  • 最长情况:无任何缓存,本地域名服务器依次迭代查询根域名服务器、.com 顶级域名服务器、abc.com 权威域名服务器,共 3RTT,即 30ms。加上 HTTP 的 20ms,总时间为 50ms。

视频讲解: 【2020年 题40】HTTP 交互过程和 DNS 查询过程(P14)

(三)FTP

Tip

  1. FTP 协议的工作原理
  2. 控制连接与数据连接
  1. 【2009-40】FTP 客户和服务器间传递 FTP 命令时,使用的连接是( )。

A. 建立在 TCP 之上的控制连接

B. 建立在 TCP 之上的数据连接

C. 建立在 UDP 之上的控制连接

D. 建立在 UDP 之上的数据连接

解析

答案:A。

FTP 使用 TCP,且控制信息与文件数据分别通过两条连接传输。FTP 命令及服务器响应通过控制连接传送,服务器端默认监听 TCP 21 端口;文件内容或目录列表通过另行建立的数据连接传送。

视频讲解: 【2009年 题40】FTP 使用的传输层连接(P1)

  1. 【2017-40】下列关于FTP协议的叙述中,错误的是( )。

A. 数据连接在每次数据传输完毕后就关闭

B. 控制连接在整个会话期间保持打开状态

C. 服务器与客户端的TCP 20端口建立数据连接

D. 客户端与服务器的TCP 21端口建立控制连接

解析

答案:C。

  • 每次文件或目录传输通常单独建立数据连接,传输结束后关闭,A 正确。
  • 控制连接在整个 FTP 会话中保持,B 正确。
  • 主动模式下,服务器以 TCP 20 端口作为数据连接的服务器端端口,连接的是客户端临时指定的数据端口;客户端的数据端口并非固定为 20。因此 C 的表述错误。
  • 控制连接由客户端临时端口连接服务器 TCP 21 端口,D 正确。

被动模式中,服务器数据端口也不是固定的 20,而是由服务器另行告知客户端。

视频讲解: 【2017年 题40】FTP 使用的传输层端口号(P10)

(四)电子邮件

Tip

  1. 电子邮件系统的组成结构
  2. 电子邮件格式与 MIME
  3. SMTP 协议与 POP3 协议
  1. 【2012-40】若用户1与用户2之间发送和接收电子邮件的过程如下图所示,则图中 ①、②、③ 阶段分别使用的应用层协议可以是

1783973329875-90dac7a6-6e29-4e34-992f-00e927c18e1f.png

A. SMTP、SMTP、SMTP

B. POP3、SMTP、POP3

C. POP3、SMTP、SMTP

D. SMTP、SMTP、POP3

解析

答案:D。

  • ① 用户 1 的用户代理把邮件提交给自己的邮件服务器,可使用 SMTP。
  • ② 两台邮件服务器之间转发邮件,使用 SMTP。
  • ③ 用户 2 从自己的邮件服务器读取邮件,可使用 POP3(也可使用 IMAP,但选项给出的是 POP3)。

所以依次为 SMTP、SMTP、POP3。

视频讲解: 【2012年 题40】电子邮件协议 SMTP 和 POP3(P4)

  1. 【2013-40】下列关于 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、II、III)。

传统 SMTP 直接传送的是 7 位 ASCII 文本,非 ASCII 内容和二进制附件需要先借助 MIME 编码,因此 I 正确。SMTP 可用于用户代理向发送方邮件服务器提交邮件,也用于邮件服务器之间传送邮件,所以 II、III 正确。用户代理从接收方邮件服务器读取邮件通常使用 POP3 或 IMAP,不使用 SMTP,故 IV 错误。

视频讲解: 【2013年 题40】简单邮件传送协议 SMTP(P5)

  1. 【2015-33】通过POP3协议接收邮件时,使用的传输层服务类型是( )。

A. 无连接不可靠的数据传输服务

B. 无连接可靠的数据传输服务

C. 有连接不可靠的数据传输服务

D. 有连接可靠的数据传输服务

解析

答案:D。

POP3 使用 TCP,默认服务器端口为 110。TCP 是面向连接的可靠传输协议,提供有连接、可靠的字节流服务,因此选 D。

视频讲解: 【2015年 题33】应用层协议使用的传输层服务(P7)

  1. 【2018-40】无需转换即可由SMTP协议直接传输的内容是( )。

A. JPEG图形

B. MPEG视频

C. EXE文件

D. ASCII文本

解析

答案:D(ASCII 文本)。

SMTP 原生只支持 7 位 ASCII 文本。JPEG、MPEG 和 EXE 都是二进制内容,作为邮件正文或附件发送前需使用 MIME 等机制转换编码;ASCII 文本可直接传输。

视频讲解: 【2018年 题40】简单邮件传送协议 SMTP(P12)

(五)WWW

Tip

  1. WWW 的概念与组成结构
  2. HTTP 协议
  1. 【2014-40】使用浏览器访问某大学Web网站主页时,不可能使用到的协议是( )。

A. PPP

B. ARP

C. UDP

D. SMTP

解析

答案:D(SMTP)。

访问 Web 主页会使用 HTTP/HTTPS;域名解析通常使用基于 UDP 的 DNS;局域网内可能通过 ARP 获得下一跳 MAC 地址;接入链路也可能采用 PPP。SMTP 用于发送电子邮件,与浏览 Web 主页无关,因此不可能使用的是 SMTP。

视频讲解: 【2014年 题40】TCP/IP 体系结构中的典型协议(P6)

  1. 【2015-40】某浏览器发出的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。

请求行表明浏览器请求 /index.html;Host 字段指出目标主机为 www.test.edu.cn,所以 A、B 正确。Connection: close 表示响应结束后关闭 TCP 连接,即浏览器明确不要求持续连接,因此 C 错误。请求中带有该站点设置的 Cookie,说明浏览器此前与该站点交互并保存了 Cookie,D 正确。

视频讲解: 【2015年 题40】HTTP 请求报文(P8)

  1. 【2018-33】下列TCP/IP应用层协议中,可以使用传输层无连接服务的是( )。

A. FTP

B. DNS

C. SMTP

D. HTTP

解析

答案:B(DNS)。

DNS 的普通查询和应答通常使用 UDP,即无连接服务;当响应过大、发生截断或进行区域传送时也可使用 TCP。FTP、SMTP 和 HTTP 通常都使用 TCP,因此选 DNS。

视频讲解: 【2018年 题33】应用层协议及其传输层协议(P11)

  1. 【2022-40】根设主机H通过HTTP/1.1请求浏览某Web服务器S上的Web页news408.html,news408.html引用了同目录下1个图像,news408.html文件大小为1MSS(最大段长),图像文件大小为3 MSS,H访问S的往返时间RTT=10 ms,忽略HTTP响应报文的首部开销和TCP段传输时延。若H已完成域名解析,则从H请求与S建立TCP连接时刻起,到接收到全部内容止,所需的时间至少是( )。

A. 30 ms

B. 40 ms

C. 50 ms

D. 60 ms

解析

答案:B(40ms)。

HTTP/1.1 默认使用持续连接。按 TCP 初始拥塞窗口为 1MSS、慢开始计算:

  1. 建立 TCP 连接:1RTT。
  2. H 请求 HTML,服务器发送 1MSS 页面:1RTT。该段被确认后,服务器拥塞窗口增至 2MSS。
  3. H 解析页面后在同一连接上请求图像;服务器先发送 2MSS:1RTT。确认后窗口足以继续发送。
  4. 服务器发送图像剩余的 1MSS:1RTT。

总计 4RTT=4×10=40ms。

视频讲解: 【2022年 题40】HTTP 交互过程(P15)

  1. 【2024-40】若浏览器不支持并行 TCP 连接,使用非持久的 HTTP/1.0 协议请求浏览 1 个 Web 页,该页中引用同一个网站上 7 个小图像文件,则从浏览器传输 Web 页请求建立 TCP 连接开始,到接收完所有内容为止,所需要的往返时间 RTT 数至少是

A. 4

B. 9

C. 14

D. 16

解析

答案:D(16RTT)。

页面本身和 7 个图像共 8 个对象。非持久 HTTP 为每个对象单独建立 TCP 连接;每个小对象需要:

  • 1RTT 建立 TCP 连接;
  • 1RTT 发送 HTTP 请求并收到对象。

浏览器不支持并行连接,只能依次获取,所以总时间为:公式

视频讲解: 【2024年 题40】非持久 HTTP/1.0 与 RTT(2024 合集 P8)

  1. 【2011-47】(9 分)某主机的 MAC 地址为 00-15-C5-C1-5E-28,IP 地址为 10.2.128.100(私有地址)。题 47-a 图是网络拓扑,题 47-b 图是该主机进行 Web 请求的 1 个以太网数据帧前 80 个字节的十六进制及 ASCII 码内容。

1783973424239-f4b2607a-ae7e-46d3-8155-25d4a1db297d.png

请参考图中的数据回答以下问题。

(1) Web 服务器的 IP 地址是什么?该主机的默认网关的 MAC 地址是什么?

(2) 该主机在构造题 47-b 图的数据帧时,使用什么协议确定目的 MAC 地址?封装该协议请求报文的以太网帧的目的 MAC 地址是什么?

(3) 假设 HTTP/1.1 协议以持续的非流水线方式工作,一次请求-响应时间为 RTT,rfc.html 页面引用了 5 个 JPEG 小图像,则从发出题 47-b 图中的 Web 请求开始到浏览器收到全部内容为止,需要多少个 RTT?

(4) 该帧所封装的 IP 分组经过路由器 R 转发时,需修改 IP 分组头中的哪些字段?

注意:以太网数据帧结构和IP分组头结构分别如题 47-c 图、题 47-d 图所示。

1783973445825-b6c3995e-dbf1-4653-b62f-75dbdcba8fb0.png

解析

答案与解析:

(1)Web 服务器 IP 和默认网关 MAC

以太网帧最前面的 6B 是目的 MAC,接下来的 6B 是源 MAC:

目的 MAC:00 21 27 21 51 ee
源 MAC:  00 15 c5 c1 5e 28

源 MAC 与题设主机一致;目的主机位于 Internet,因此该目的 MAC 是本地下一跳,即默认网关 R 的 MAC:

00-21-27-21-51-EE。

以太网类型 08 00 表示 IPv4。IPv4 首部从 45 00 开始,源、目的 IP 地址位于首部的第 13~20 字节:

源 IP:0a 02 80 64 = 10.2.128.100
目的 IP:40 aa 62 20 = 64.170.98.32

所以 Web 服务器 IP 地址为 64.170.98.32。

(2)目的 MAC 的确定

主机使用 ARP,根据默认网关的 IP 地址 10.2.128.1 查询其 MAC 地址。ARP 请求必须让本广播域所有结点都能收到,因此封装 ARP 请求的以太网帧目的 MAC 是广播地址:

FF-FF-FF-FF-FF-FF。

(3)HTTP 持续非流水线连接的 RTT 数

题 47-b 中已是对 rfc.html 的 HTTP 请求,因此不再计 TCP 建连和发出该请求之前的时间。收到基本页面需要 1RTT。页面引用 5 个 JPEG 小图像;持续但非流水线方式必须收到上一个响应后才能发送下一个请求,每个图像各需 1RTT。

公式

(4)路由器 R 修改的 IPv4 首部字段

该 IP 分组总长度字段为 01 ef,即 495B,小于出口 MTU 1500B,不需要分片。R 转发时需要:

  1. 将 TTL 减 1;
  2. 因 TTL 改变而重新计算 IPv4 首部校验和;
  3. R 还执行 NAT,将私有源 IP 10.2.128.100 改为公网接口地址 101.12.123.15,并再次反映到首部校验和中。

因此需修改的 IP 首部字段是源 IP 地址、TTL 和首部校验和。

视频讲解: 【2011年 题47】以太网帧、IP、ARP 与 HTTP(P3)

  1. 【2021-47】(9分)某网络拓扑如题47图所示,以太网交换机S通过路由器R与Internet互联。路由器部分接口、本地域名服务器、H1、H2的IP地址和MAC地址如图中所示。在 t0 时刻H1的ARP表和S的交换表均为空,H1在此刻利用浏览器通过域名 www.abc.com 请求访问Web服务器,在 t1 时刻( t1>t0 )S第一次收到了封装HTTP请求报文的以太网帧,假设从 t0 到 t1 期间网络未发生任何与此次Web访问无关的 网络通信。

1783973471072-d8f645b9-d728-4d76-8806-c63e6bd34e40.png

请回答下列问题。

(1) 从 t0 到 t1 期间,H1除了HTTP之外还运行了哪个应用层协议?从应用层到数据链路层,该应用层协议报文是通过哪些协议进行逐层封装的?

(2) 若S的交换表结构为:\,则 t1 时刻S交换表的内容是什么?

(3) 从 t0 到 t1 期间,H2至少会接收到几个与此次Web访问相关的帧?接收到的是什么帧?帧的目的MAC地址是什么?

解析:

(1)除 HTTP 外的应用层协议及封装

H1 只有域名 www.abc.com,发送 HTTP 请求前必须获得 Web 服务器的 IP 地址,因此还运行了 DNS。

普通 DNS 查询报文的逐层封装为:

DNS 报文 → UDP 数据报 → IP 分组 → 以太网帧

(2)\(t_1\)时刻 S 的交换表

交换机根据收到帧的源 MAC 地址和入端口进行自学习。\(t_0\) 到 \(t_1\) 至少发生:

  1. H1 查询本地域名服务器 MAC,S 从端口 4 学到 H1 的 MAC。
  2. 本地域名服务器回复,S 从端口 1 学到服务器的 MAC。
  3. H1 查询默认网关 R 的 MAC,R 回复时 S 从端口 2 学到 R 的 MAC。
  4. 随后的 DNS、TCP 和 HTTP 帧会刷新已有表项,但不会引入 H2 的源 MAC,因为 H2 没有发送帧。

因此 \(t_1\) 时刻交换表至少为:

MAC 地址 端口
00-11-22-33-44-BB 1
00-11-22-33-44-AA 2
00-11-22-33-44-CC 4

没有 H2 的 00-11-22-33-44-DD 表项。

(3)H2 至少收到的相关帧

H2 至少收到 2 个帧:

  1. H1 为获得本地域名服务器 MAC 而发送的 ARP 请求帧;
  2. H1 为获得默认网关 R 的 MAC 而发送的 ARP 请求帧。

这两个帧都是 ARP 请求帧,目的 MAC 均为以太网广播地址:

FF-FF-FF-FF-FF-FF。

交换机把广播帧从除入端口外的所有端口转发,所以 H2 会收到它们。各 ARP 应答和后续 DNS、TCP、HTTP 帧都可按已经学习到的 MAC 表项单播转发,H2 无需接收。

视频讲解: 【2021年 题47】HTTP、DNS、交换机自学习与 ARP(2021 合集 P9)