6.3.4 答案与解析
## 6.3.4 答案与解析
### 一、单项选择题
01. C
FTP 提供交互式访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
02. C
<!-- page: 293 -->
第6章 应用层
281
在服务器端,控制连接使用 TCP 的 21 号端口,数据连接使用 TCP 的 20 号端口;而在客户端,控制连接和数据连接的 TCP 端口号都是由客户端系统自动分配的。需要注意的是,当我们说 FTP 使用 20、21 号端口,HTTP 使用 80 号端口,SMTP 使用 25 号端口时,都是指相应协议的服务器端所使用的端口号,而客户端使用系统自动分配的端口号向这些服务的熟知端口发起连接。
03. C
带外传送是指控制信息与数据信息通过不同的逻辑信道传送。例如,FTP 使用一个单独的控制连接来传输控制信息,而数据连接用于传送文件。带内传送是指控制信息与数据信息通过同一个逻辑信道传送。例如,HTTP 的请求和响应报文都是在同一个 TCP 连接上进行的。
04. C
FTP 客户首先连接服务器的 21 号端口,建立控制连接(控制连接在整个会话期间一直保持打开),然后建立数据连接,在数据传送完毕后,数据连接最先释放,控制连接最后释放。
05. D
FTP 工作时使用两个连接:控制连接和数据连接。FTP 客户对 FTP 服务器发起连接时,首先建立控制连接,即向服务器的 21 号 TCP 端口发起连接;然后建立数据连接(20 号 TCP 端口)。FTP 并没有传输连接和会话连接的说法。
06. D
FTP 服务器通过监听熟知端口 21(控制端口)得知有无服务请求。
07. C
因为 FTP 屏蔽了各计算机系统的细节,所以 FTP 适用于异构网络中计算机之间的文件传送。当进行文件传输时,FTP 客户端和服务器之间需建立两个并行的控制连接和数据连接。FTP 服务器主进程在熟知端口 21 上监听客户端的服务请求。FTP 在传输层使用 TCP 进行可靠传输。
08. B
FTP 中数据连接的端口是 20,而文件的列表是通过数据连接来传输的。
09. D
控制连接建立后,服务器进程用自己传送数据的熟知端口 20 与客户进程所提供的端口号建立数据传输连接(默认为 PORT 模式),即客户进程的端口号是客户进程自己提供的。
10. B
FTP 服务器的数据要经过应用层、传输层、网络层、数据链路层及物理层。因此,对应的封装是数据、数据段、数据报、数据帧,最后是比特。
11. A
FTP 支持 ASCII 和 Binary 两种方式的传输,非加密文本文件通常采用 ASCII 方式传输,而图像、声音等非文本文件采用 Binary 方式传输。本题可能有所超纲,了解即可。
12. A
FTP 需要保证数据传输的可靠性,因此采用 TCP 作为传输层协议。在 DHCP 的应用中,客户在分配到 IP 地址前无法使用 TCP 建立连接,因此只能利用 UDP 进行无连接的交互。UDP 具有简化通信、更高效、低延迟的特性,能满足 DNS 查询对快速响应和高并发的需求。
13. A
对于 FTP 文件传输,为了保证可靠性,选择 TCP,排除 C 和 D。FTP 的控制信息是带外传送的,即 FTP 使用了一个分离的控制连接来传送命令,因此答案为选项 A。
14. C
FTP 使用控制连接和数据连接,控制连接存在于整个 FTP 会话过程中,数据连接在每次文件
<!-- page: 294 -->
2027年计算机网络考研复习指导
传输时才建立,传输结束就关闭,选项A和B正确。默认情况(PORT模式)下FTP服务器使用TCP20端口进行数据连接,使用TCP21端口进行控制连接,这里的端口号是指FTP服务器的端口号,因此选项C错误、选项D正确。此外还需要注意的是,FTP服务器是否使用TCP20端口建立数据连接与传输模式有关,PORT模式使用TCP20端口,PASV模式由服务器随机选定。
## 二、综合应用题
### 01. 【解答】
FTP的主要工作过程如下:在进行文件传输时,FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程,并在整个会话期间一直保持打开,但控制连接不用来传送文件。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后,就创建数据传送进程和数据连接,数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成对文件的传送,在传送完毕后关闭“数据传送连接”,并结束运行。
FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;若干从属进程,负责处理单个请求。
### 02. 【解答】
在FTP的实现中,客户与服务器之间采用了两条传输连接,其中控制连接用于传输各种FTP命令,而数据连接用于文件的传送。之所以这样设计,是因为使用两条独立的连接可使FTP变得更加简单、更容易实现、更有效率。同时在文件传输过程中,还可以利用控制连接控制传输过程,如客户可以请求终止、暂停传输等。
### 03. 【解答】
大致过程如下:
① 建立一个TCP连接到服务器 ftp.abc.edu.cn 的21号端口,然后发送登录账号和密码。
② 服务器返回登录成功信息后,主机A打开一个随机端口,并将该端口号发送给服务器。
③ 主机 A 发送读取文件命令,内容为 get file,服务器使用 20 号端口建立一个 TCP 连接到主机 A 的随机打开的端口。
④ 服务器把文件内容通过第二个连接发送给主机 A,传输完毕后连接关闭。
### 04. 【解答】
1)在FTP会话期间,控制连接一直处于保持状态,是持久的。当每次需要传输文件时,FTP客户和服务器之间会建立一个临时的数据连接,用于传输文件数据,是非持久的。控制连接用于传输命令和控制信息,登录操作涉及身份验证、发送命令等控制信息,因此H登录FTP服务器时建立的TCP连接是控制连接。
2)建立连接时,FTP客户发送的第一次握手SYN段要消耗一个序号,选择的初始序号为100,因此发送文件F时,第一个字节的序号为101。文件F共有18000个字节,需占用18000个序号,释放连接时,FTP客户发送的第一次挥手FIN段也要消耗一个序号,所以该FIN段的序号为18101,因此TCP服务器发送的第二次挥手ACK段的确认序号是18102。
3)拥塞窗口在每个传输轮次后的变化如下表所示。前两个传输轮次,拥塞窗口小于阈值,拥塞窗口按指数增长;第2个传输轮次结束后,拥塞窗口增长到4MSS,此后每经过一个传输轮次,拥塞窗口增加1MSS。当H收到确认序号为2101的确认段时,表示服务器已收到2000B数据,即2个报文段,此时还处在第2个传输轮次(慢开始阶段),拥塞窗口还未达到阈值,发送端每收到一个确认,拥塞窗口就加1,所以此时拥塞窗口为 $2 + 1 = 3\mathrm{MSS}$ 。当H收到确认序号为7101的确认段时,表示服务器已收到7个报文段,第3轮
<!-- page: 295 -->
第6章 应用层
283
传输结束后,发送端共发送了 $1 + 2 + 4 = 7\mathrm{MSS}$ 数据,所以拥塞窗口大小为5MSS。
| N个传输轮次后 | 初始时 | N=1 | N=2 | N=3 |
| --- | --- | --- | --- | --- |
| 拥塞窗口大小 | 1MSS | 2MSS | 4MSS | 5MSS |
4)每个传输轮次传输的数据量如下表所示,文件F的大小 $18000\mathrm{B} = 18\mathrm{MSS}$,则发送完F要经过5RTT,此外还要1个额外的RTT用来建立TCP连接。因此,H从请求建立数据连接开始,到确认F已被服务器全部接收为止,至少需要 $6\mathrm{RTT} = 6\times 10\mathrm{ms} = 60\mathrm{ms}$;期间应用层的数据平均发送速率是 $18000\mathrm{B} + 60\mathrm{ms} = 300\times 10^{3}\mathrm{B / s} = 0.3\mathrm{MB / s} = 2.4\mathrm{Mb / s}$。
| k | k=1 | k=2 | k=3 | k=4 | k=5 |
| --- | --- | --- | --- | --- | --- |
| 第k轮最大数据传输量 | 1MSS | 2MSS | 4MSS | 5MSS | 6MSS |
## 6.4 电子邮件
### 6.4.1 电子邮件系统的组成结构
自从互联网普及以来,电子邮件便迅速流行起来。作为一种异步通信方式,电子邮件不要求通信双方同时在线。发送端将邮件发送至收件人所用的邮件服务器,并存入其邮箱,收件人可随时登录自己的邮件服务器读取邮件。
完整的电子邮件系统应包含如图6.8所示的三个主要组成部分:用户代理(User Agent)、邮件服务器,以及电子邮件所依赖的协议(如SMTP、POP3或IMAP等)。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
图6.8 电子邮件系统的主要组成部分 用户代理(UA);这是用户与电子邮件系统之间的接口。用户代理为用户提供友好的操作界面,用于发送和接收邮件,至少应具备撰写、显示和处理邮件等基本功能。通常,用户代理是运行在个人计算机上的电子邮件客户端软件,如Outlook、Foxmail等。 邮件服务器:负责邮件的发送与接收,并向发件人反馈邮件传送状态(如已投递、被拒收或丢失等)。邮件服务器采用客户/服务器模式工作,但需具备双重角色:既能作为服务器接收邮件,又能作为客户发送邮件。例如,当邮件服务器A向邮件服务器B发送邮件时,A扮演SMTP客户,B则作为SMTP服务器;反之亦然。 ### 要点追述 邮件发送和读取协议的功能(2012) 邮件发送协议和读取协议:用户代理使用邮件发送协议向邮件服务器发送邮件,或在邮件服务器之间传递邮件,典型代表是SMTP;用户代理使用邮件读取协议从邮件服务器获取邮件,如POP3或IMAP。注意,SMTP采用掺(Push)的方式,即用户代理或发送端邮件服务器主动将邮件推送至目标服务器;而POP3采用扯(Pull)的方式,即用户代理读取邮件时,主动向服务器发起请求,拉取邮箱中的邮件。 <!-- page: 296 --> 2027年计算机网络考研复习指导 电子邮件的发送与接收过程可简化为如图6.9所示。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
图6.9 电子邮件的发送、接收过程 下面简单介绍电子邮件的收发过程。 ① 发件人通过用户代理撰写和编辑待发送的邮件。 ② 邮件撰写完后,发件人点击“发送”按钮,后续发送工作由用户代理自动完成。用户代理使用SMTP协议将邮件传送给发送端的邮件服务器。 ③ 发送端邮件服务器将邮件暂存在邮件缓存队列中,等待发送。 ④ 发送端邮件服务器的SMTP客户端与接收端邮件服务器的SMTP服务器建立TCP连接,并依次将缓存队列中的邮件直接发送至接收端邮件服务器。 ⑤ 接收端邮件服务器中的SMTP服务器进程收到邮件后,将其存入对应收件人的邮箱,等待收件人读取。 ⑥ 当收件人准备查收邮件时,启动用户代理,通过POP3(或IMAP)协议从接收端邮件服务器的邮箱中下载邮件(前提是邮箱中有新邮件)。 ## 6.4.2 电子邮件格式与MIME ### 1. 电子邮件格式 一封电子邮件由信封和内容两大部分组成,其中邮件内容又分为首部和主体两部分。RFC 822规定了邮件首部的格式,而主体部分则由用户自由撰写。用户只需填写首部信息,邮件系统便会自动从中提取所需信息并生成信封,无须用户手动填写信封内容。 邮件内容的首部由若干首部行构成,每行由一个关键字、冒号及对应的值组成。其中有些关键字是必需的,有些则是可选的。最重要的关键字包括To和Subject。 To是必填关键字,用于指定一个或多个收件人的电子邮件地址。电子邮件地址的格式为:收件人邮箱名@邮箱所在主机的域名,例如abc@cskaoyan.com。其中,邮箱名abc在cskaoyan.com所对应的邮件服务器上必须是唯一的,从而确保该地址在整个互联网范围内是唯一的。 Subject是可选关键字,用于标明邮件的主题,简要反映邮件的主要内容。 此外,还有一个必填的关键字是From,但通常由邮件系统自动填充,用户一般无须手动输入。首部与主体之间以一个空行分隔。典型的邮件内容示例如下: ```txt blahblah… 主体 <!-- page: 297 --> 第6章 应用层 285 ## 2. 多用途互联网邮件扩展(MIME) **特点图2** ⇒ SMTP 协议的特点(2018) 由于 SMTP 协议仅支持传输 7 位 ASCII 码文本邮件,因此无法直接传送非英语字符(如中文、俄文,甚至带重音符号的法文或德文),也无法传输可执行文件或其他二进制对象。为解决这一限制,提出了多用途互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME)。 MIME 并未修改或取代 SMTP,而是在其基础上进行扩展。当发送端需要传输包含非 ASCII 数据的邮件时,不能直接通过 SMTP 发送,而要先用 MIME 将非 ASCII 数据编码为 ASCII 格式,再交由 SMTP 传输。接收端收到邮件后,再通过 MIME 对 ASCII 数据进行解码还原,进而恢复原始的非 ASCII 内容。MIME 与 SMTP 的关系如图 6.10 所示。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
图 6.10 SMTP 与 MIME 的关系 MIME 主要包括以下三部分内容: ① 定义了 5 个新的首部字段:MIME 版本、内容描述、内容标识、传送编码和内容类型。 ② 标准化了多种邮件内容的格式,为多媒体电子邮件的表示方法提供了统一规范。 ③ 定义了传送编码机制,能够对任意类型的内容进行编码转换,而不会被邮件系统改变。 ## 6.4.3 SMTP 和 POP3 ### 1. SMTP **特点图3** ⇒ SMTP 协议的功能与特点(2013-2015、2025) 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种用于提供可靠且高效电子邮件传输的协议,它规范了两个相互通信的 SMTP 进程之间如何交换信息。SMTP 采用客户/服务器模式;负责发送邮件的进程作为 SMTP 客户,而负责接收邮件的进程则作为 SMTP 服务器。SMTP 基于 TCP 连接,使用熟知端口号 25。其通信过程可分为以下三个阶段。 ### (1)连接建立 当发件人的邮件被送入发送端邮件服务器的缓存队列后,SMTP 客户会定期扫描该队列。一旦发现待发邮件,便主动与接收端邮件服务器的 SMTP 服务器建立 TCP 连接(目标端口为 25)。连接成功后,接收端 SMTP 服务器首先发送 220 Service ready(服务就绪)。随后,SMTP 客户向服务器发送 HELO 命令,并附上发送端的主机名,以标识自身身份。 要注意的是,SMTP 不使用中间邮件服务器进行中转。TCP 连接始终在发送端与接收端的邮件服务器之间直接建立,不论二者的地理位置相距多远,也不论数据需要经过多少个路由器。若接收端邮件服务器因故障暂时无法响应,则发送端邮件服务器将等待一段时间后重新尝试连接。 ### (2)邮件传送 连接建立后,即可开始邮件传输。该过程以 MAIL 命令开始,其后跟随发件人地址。例如, <!-- page: 298 --> 2027年计算机网络考研复习指导 MAIL FROM: <fh@hit.edu.cn>。若SMTP服务器已准备好接收邮件,则返回250OK。随后,客户端发送一个或多个RCPT命令,格式为RCPT TO: <收件人地址>。每个RCPT命令都会触发服务器的响应,如250OK(连接成功)或550No such user here(无此用户)。 RCPT命令的作用是预先验证收件人地址的有效性,确保接收端系统已做好接收准备,进而避免在发送长篇邮件后才发现地址错误,造成通信资源浪费。 收到所有RCPT命令的肯定响应后,客户端发送DATA命令,表示即将传送邮件内容。服务器正常情况下会回复:354 Start mail input; end with <crlf>.<crlf>。<crlf>表示回车换行符。此后,SMTP客户开始逐行发送邮件内容,并用<crlf>.<crlf>作为邮件内容的结束标志。 (3)连接释放 邮件发送完成后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是221(服务关闭),表示同意释放TCP连接。至此,本次邮件传送过程全部结束。 2. POP3和IMAP **参考信息** POP3协议的功能与特点(2015、2018、2025) 邮局协议(Post Office Protocol,POP)是一种结构简单但功能有限的邮件读取协议,目前使用的是POP3版。POP3同样采用客户/服务器模式,在传输层基于TCP,使用端口号110。 用户代理需运行POP3客户程序,对应的邮件服务器则运行POP3服务器程序。POP3支持两种工作模式:①下载并保留,用户从服务器读取邮件后,邮件仍保留在服务器上,可供后续再次访问;②下载并删除,邮件一旦被成功读取,即从服务器上删除。 另一种邮件读取协议是互联网拟文存取协议(IMAP)。与POP3相比,IMAP的功能更强大:它支持用户在服务器端创建文件夹、在不同文件夹之间移动邮件,以及对远程邮箱中的邮件进行搜索等在线操作。为此,IMAP服务器需要维护用户的会话状态信息。 此外,IMAP还支持选择性获取邮件内容,即用户代理可以只下载邮件的特定部分。例如只获取其首部,或只提取多部分MIME邮件中的某部分。这一特性在低带宽环境下尤为实用:用户无须下载整封包含音频、视频等大附件的邮件,即可快速浏览或筛选内容。 此外,随着万维网(WWW)的普及,出现了大量基于Web的电子邮件服务,如Hotmail、Gmail等。这类服务的特点是,用户浏览器与邮件服务器之间的交互(包括发送和读取邮件)均通过HTTP完成,而仅在不同邮件服务器之间传递邮件时才使用SMTP。 6.4.4 本节习题精选 一、单项选择题 01. 互联网用户的电子邮件地址格式必须是( )。 A. 用户名@单位网络名 B. 单位网络名@用户名 C. 邮箱所在主机的域名@用户名 D. 用户名@邮箱所在主机的域名 02. SMTP基于传输层的( )协议,POP3基于传输层的( )协议。 A. TCP, TCP B. TCP, UDP C. UDP, UDP D. UDP, UDP 03. SMTP服务器使用的端口号是( )。 A. 21 B. 25 C. 80 D. 110 04. 用Firefox(浏览器)在Gmail中向邮件服务器发送邮件时,使用的是( )协议。 A. HTTP B. POP3 C. P2P D. SMTP 05. 用户代理只能发送而不能接收电子邮件时,可能是( )地址错误。</crlf></crlf></crlf></crlf></fh@hit.edu.cn> <!-- page: 299 --> 第6章 应用层 287 A. POP3 B. SMTP C. HTTP D. Mail 06. 不能用于用户从邮件服务器接收电子邮件的协议是( )。 A. HTTP B. POP3 C. SMTP D. IMAP 07. 下列关于电子邮件格式的说法中,错误的是( )。 A. 电子邮件内容包括邮件头与邮件体两部分 B. 邮件头中发信人地址 (From: )、发送时间、收信人地址 (To: ) 及邮件主题 (Subject: ) 是由系统自动生成的 C. 邮件体是实际要传送的信函内容 D. MIME 允许电子邮件系统传输文字、图像、语音与视频等多种信息 08. 【2012 统考真题】若用户 1 与用户 2 之间发送和接收电子邮件的过程如下图所示,则图中①、②、③阶段分别使用的应用层协议可以是( )。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
A. SMTP、SMTP、SMTP B. POP3、SMTP、POP3 C. POP3、SMTP、SMTP D. SMTP、SMTP、POP3 09. 【2013 统考真题】下列关于 SMTP 的叙述中,正确的是( )。 I. 只支持传输 7 比特 ASCII 码内容 II. 支持在邮件服务器之间发送邮件 III. 支持从用户代理向邮件服务器发送邮件 IV. 支持从邮件服务器向用户代理发送邮件 A. 仅 I、II 和 III B. 仅 I、II 和 IV C. 仅 I、III 和 IV D. 仅 II、III 和 IV 10. 【2015 统考真题】通过 POP3 协议接收邮件时,使用的传输层服务类型是( )。 A. 无连接不可靠的数据传输服务 B. 无连接可靠的数据传输服务 C. 有连接不可靠的数据传输服务 D. 有连接可靠的数据传输服务 11. 【2018 统考真题】无须转换即可由 SMTP 直接传输的内容是( )。 A. JPEG 图像 B. MPEG 视频 C. EXE 文件 D. ASCII 文本 12. 【2025 统考真题】下列关于 POP3 协议的叙述中,正确的是( )。 I. 支持用户代理从邮件服务器读取邮件 II. 支持用户代理向邮件服务器发送邮件 III. 支持邮件服务器之间发送与接收邮件 IV. 支持通过一条 TCP 连接收取多封邮件 A. 仅 I、IV B. 仅 II、III C. 仅 I、II、III D. 仅 I、III、IV