(1)主机向本地域名服务器的查询都采用递归查询
### (1)主机向本地域名服务器的查询都采用递归查询 在递归查询中,若本地域名服务器不知道被查询域名的IP地址,则它会以DNS客户的身份,代替主机向其他根域名服务器继续发出查询请求,而不是让主机自行进行后续查询。无论后续采用何种查询方式,主机向本地域名服务器的查询都采用递归查询。 ### (2)本地域名服务器向其他域名服务器可采用递归查询或迭代查询 **考点说明** DNS递归查询机制(2010) 递归查询的过程如图6.6(a)所示,本地域名服务器只需向根域名服务器发起一次查询,后续的查询过程由各级域名服务器之间递归完成[步骤③~⑩]。最终,根域名服务器将请求的IP地址返回给本地域名服务器(步骤⑦),再由本地域名服务器将结果返回给原始主机(步骤⑧)。由于这种方式会给根域名服务器带来过重负载,实际中几乎不被采用。 **考点说明** DNS迭代查询机制(2016、2020) 本地域名服务器向根域名服务器的查询通常采用迭代查询。当根域名服务器收到本地域名服 <!-- page: 285 --> 第6章 应用层 273 务器的迭代查询请求时,要么直接给出所查询的 IP 地址,要么告诉本地域名服务器:“你下一步应向哪个顶级域名服务器查询”。随后,由本地域名服务器向该顶级域名服务器发起新的查询请求。同样,顶级域名服务器收到请求后,要么直接给出所查询的 IP 地址,要么告诉本地域名服务器下一步应当向哪个权限域名服务器查询。如此逐级查询,直到获得目标 IP 地址,最后由本地域名服务器将结果返回给发起查询的主机,如图 6.6(b) 所示。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
(a)本地域名服务器采用递归查询 图 6.6 两种域名解析方式工作原理
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
(b)本地域名服务器采用迭代查询 下面举例说明域名解析的过程。假设某客户希望获取主机 y.abc.com 的 IP 地址,整个域名解析过程(最多涉及 8 个 UDP 报文:4 个查询报文和 4 个回答报文)如下: ① 客户向其本地域名服务器发送 DNS 请求报文(递归查询)。 ② 本地域名服务器收到请求后,先查询本地缓存;若未命中,则以 DNS 客户身份向根域名服务器发送解析请求报文(迭代查询)。 ③ 根域名服务器收到请求后,识别该域名属于 .com 顶级域,返回 .com 顶级域名服务器 dns.com 的 IP 地址。 ④ 本地域名服务器向顶级域名服务器 dns.com 发送解析请求报文(迭代查询)。 ⑤ 顶级域名服务器 dns.com 收到请求后,识别该域名属于 abc.com 区,返回其权限域名服务器 dns.abc.com 的 IP 地址。 ⑥ 本地域名服务器向权限域名服务器 dns.abc.com 发送解析请求报文(迭代查询)。 ⑦ 权限域名服务器 dns.abc.com 收到请求后,返回 y.abc.com 对应的 IP 地址。 ⑧ 本地域名服务器将结果保存到本地缓存,并返回给客户。 为提高 DNS 查询效率并减少互联网上的查询流量,域名服务器广泛使用 DNS 高速缓存,用于存储近期查询过的域名与 IP 地址的映射。当后续收到相同域名的查询时,服务器可直接从缓存返回结果,无须再次发起完整的解析流程。由于主机名与 IP 地址的映射关系并非永久有效,DNS 缓存中的记录会设置生存时间(TTL),到期后自动失效并被清除。此外,主机端也常维护本地 DNS 缓存,在运行过程中缓存最近访问过的域名。只有当本地缓存未命中时,才会向 DNS 服务器发起查询,从而进一步提升解析速度并减轻网络负载。 ## 6.2.4 本节习题精选 ### 一、单项选择题 01. 域名与()具有一一对应的关系。 A. IP 地址 B. MAC 地址 C. 主机 D. 以上都不是 <!-- page: 286 --> 2027年计算机网络考研复习指导 02. 下列说法错误的是( )。 A. Internet 上提供客户访问的主机一定要有域名 B. 同一域名在不同时间可能解析出不同的 IP 地址 C. 多个域名可以指向同一台主机的 IP 地址 D. IP 子网中的主机可以由不同的域名服务器来维护其映射 03. DNS 是基于()模型的分布式系统。 A. C/S B. B/S C. P2P D. 以上均不正确 04. 域名系统(DNS)的组成不包括( )。 A. 域名空间 B. 分布式数据库 C. 域名服务器 D. 从内部 IP 地址到外部 IP 地址的翻译程序 05. 互联网中域名解析依赖于由域名服务器组成的逻辑树。在域名解析过程中,主机上请求域名解析的软件不需要知道()信息。 I. 本地域名服务器的 IP II. 本地域名服务器父节点的 IP III. 域名服务器树根节点的 IP A. I 和 II B. I 和 III C. II 和 III D. I、II 和 III 06. 在 DNS 的递归查询中,由()给客户端返回地址。 A. 最开始连接的服务器 B. 最后连接的服务器 C. 目的地址所在服务器 D. 不确定 07. 当本地域名服务器向根域名服务器查询一个域名时,根域名服务器返回一个负责该域名的顶级域名服务器的 IP 地址,让本地域名服务器再向该域名服务器查询,这种查询方式称为( )。 A. 递归查询 B. 迭代查询 C. 重定向查询 D. 广播查询 A. 202.120.66.68 域名服务器 B. 11.2.8.6 域名服务器 C. 202.113.16.10 域名服务器 D. 可以从这 3 个域名服务器中任选一个 09. ( )可以将其管辖的主机名转换为主机的 IP 地址。 A. 本地域名服务器 B. 根域名服务器 C. 权限域名服务器 D. 代理域名服务器 10. 若本地域名服务器无缓存,用户主机采用递归查询向本地域名服务器查询另一网络某主机域名对应的 IP 地址,而本地域名服务器采用迭代查询向其他域名服务器进行查询,则用户主机和本地域名服务器发送的域名请求条数分别为( )。 A. 1 条, 1 条 B. 1 条, 多条 C. 多条, 1 条 D. 多条, 多条 11. 【2010 统考真题】若本地域名服务器无缓存,则在采用递归方法解析另一网络某主机域名时,用户主机和本地域名服务器发送的域名请求条数分别为( )。 A. 1 条, 1 条 B. 1 条, 多条 C. 多条, 1 条 D. 多条, 多条 12. 【2016 统考真题】假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问 <!-- page: 287 --> 第6章 应用层 275 A. 0, 3 B. 1, 3 C. 0, 4 D. 1, 4 13. 【2018 统考真题】下列 TCP/IP 应用层协议中,可以使用传输层无连接服务的是( )。 A. FTP B. DNS C. SMTP D. HTTP
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
A. 10ms, 40ms B. 10ms, 50ms C. 20ms, 40ms D. 20ms, 50ms ## 二、综合应用题 01. DNS 使用 UDP 而非 TCP,若一个 DNS 分组丢失,没有自动恢复,则这会引起问题吗?若会,则应如何解决? 02. 为何要引入域名的概念?举例说明域名转换过程。域名服务器中的高速缓存有何作用? ## 6.2.5 答案与解析 ## 一、单项选择题 01. D 若一台主机通过两块网卡连接到两个网络(如服务器双线接入),则就具有两个 IP 地址,每个网卡对应一个 MAC 地址,显然这两个 IP 地址可以映射到同一个域名上。此外,多台主机也可以映射到同一个域名上(如负载均衡),一台主机也可以映射到多个域名上(如虚拟主机)。因此,选项 A、B 和 C 和域名均不具有一一对应的关系。 02. A Internet 上提供访问的主机一定要有 IP 地址,而不一定要有域名,选项 A 错误。域名在不同的时间可以解析出不同的 IP 地址,因此可以用多台服务器来分担负载,选项 B 正确。可以把多个域名指向同一台主机的 IP 地址,选项 C 正确。IP 子网中主机也可以由不同的域名服务器来维护其映射,选项 D 正确。 03. A DNS 是一个基于 C/S 模型的分布式数据库系统,主要用于域名和 IP 地址的映射。 04. D DNS 提供从域名到 IP 地址或从 IP 地址到域名的映射服务。它被设计成为一个联机分布式数据库系统,并采用客户/服务器模式。域名的解析是由若干域名服务器程序完成的。从内部 IP 地 <!-- page: 288 --> 2027年计算机网络考研复习指导 址到外部 IP 地址的映射是由 NAT 实现的,用于缓解 IPv4 地址紧缺的问题,与域名系统无关。 05. C 正常情况下,客户只需把域名解析请求发往本地域名服务器,其他事情都由本地域名服务器完成,并把最后结果返回给客户。所以主机只需要知道本地域名服务器的 IP。 06. A 在递归查询中,每台不包含被请求信息的服务器都转到其他地方去查找,然后它再往回发送结果,所以客户端最开始连接的服务器最终将返回正确的信息。 07. B 迭代查询是指当一个域名服务器收到本地域名服务器发出的查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地服务器:“你下一步应当向哪个 DNS 服务器进行查询。”然后让本地域名服务器进行后续的查询(而不替本地域名服务器进行后续的查询)。 08. A 09. C 每台主机都必须在权限域名服务器处注册登记,权限域名服务器一定能够将其管辖的主机名转换为该主机的 IP 地址。 10. B 用户主机向本地域名服务器采用递归查询,只需发送 1 条查询请求。本地域名服务器无缓存,因此还要进行后续的查询。本地域名服务器向其他域名服务器采用迭代查询,本地域名服务器分别向根域名服务器、顶级域名服务器、权限域名服务器发送多条查询请求。 11. A 用户主机向本地域名服务器采用递归查询,只需发送 1 条请求。本地域名服务器无缓存,但因其向其他域名服务器也采用递归查询方式,故只需向根域名服务器发送 1 条请求,后续查询由被询问的服务器代为完成。因此,用户主机和本地域名服务器各自发送的域名请求条数均为 1。 12. C 最少情况:若本地域名服务器已缓存该域名的解析结果,则无须发出任何 DNS 查询,最少为 0 次。最多情况:因所有服务器均采用迭代查询,在最坏情况下,本地域名服务器需要依次向根域名服务器、顶级域名服务器(.com)、权限域名服务器(xyz.com)和次级权限域名服务器(abc.xyz.com)发起查询,共 4 次,因此最多为 4 次。 13. B FTP 用于文件传输,SMTP 用于电子邮件发送,HTTP 用于网页传输,三者均要求可靠传输,故在传输层使用有连接的 TCP 服务。DNS 对可靠性的要求相对较低,且追求效率与低开销,因此在传输层通常使用无连接的 UDP 服务。 14. D <!-- page: 289 --> 第6章 应用层 277 服务器(abc.com),共3RTT;随后H建立TCP连接并获取页面,需2RTT;总计5RTT = 50ms。 ## 二、综合应用题 ### 01. 【解答】 DNS 使用传输层的 UDP 而非 TCP,因为它不需要使用 TCP 在发生传输错误时执行的自动重传功能。实际上,对于 DNS 服务器的访问,多次 DNS 请求都返回相同的结果,即做多次和做一次的效果一样。因此 DNS 操作可以重复执行。当一个进程做一次 DNS 请求时,它启动一个定时器。若定时器计满而未收到回复,则它就再请求一次,这样做不会有害处。 ### 02. 【解答】 IP 地址很难记忆,引入域名是为了便于人们记忆和识别。 域名解析可以把域名转换成 IP 地址。域名转换过程是向本地域名服务器申请解析,若本地域名服务器查不到,则向根域名服务器进行查询。若根域名服务器中也查不到,则向根域名服务器中保存的顶级域名服务器和相应权限域名服务器进行查询,一定可以查找到。 域名服务器中高速缓存的作用:将近期访问过的域名信息保存在高速缓存,再次访问时会从缓存中读取,不需要重新解析,这样就可以加快域名解析的响应速度。 ## 6.3 文件传输协议 ### 6.3.1 FTP的工作原理 文件传输协议(File Transfer Protocol,FTP)是互联网上使用最广泛的文件传输协议。FTP 提供交互式访问,允许用户指定文件的类型与格式,并支持对文件设置存取权限。它屏蔽了不同计算机系统的底层细节,因此适用于在异构网络中的任意两台计算机之间可靠地传送文件。 FTP主要提供以下功能: ① 支持不同类型主机系统(硬件、操作系统等均可不同)之间的文件传输。 ② 通过用户权限管理,提供对远程 FTP 服务器上文件的管理能力。 ③ 通过匿名(anonymous)FTP 方式,实现公用文件的共享。 **等级展开** ⊞ FTP 在传输层使用的协议(2009,2018) FTP 采用客户/服务器工作模式,基于 TCP 提供可靠的传输服务。一个 FTP 服务器进程可同时为多个客户进程提供服务。服务器进程由两部分组成:一个主进程,负责接收新请求;另外有若干从属进程,分别处理单个客户的请求。其工作步骤如下: ① 打开熟知端口21(控制端口),供客户进程连接。 ② 等待客户进程发起连接请求。 ③ 启动从属进程处理该请求,处理完毕后从属进程终止。 ④ 主进程返回等待状态,继续接收其他客户请求。主进程与从属进程并发执行。 FTP 是有状态协议,服务器需在整个会话期间维护用户的状态信息。例如,必须将用户账户与控制连接相关联,并跟踪用户在远程目录树中的当前位置。 ### 6.3.2 控制连接与数据连接 **等级展开** ⊞ FTP 控制连接和数据连接的特点(2017,2023) FTP 在工作时使用两个并行的 TCP 连接(见图 6.7):控制连接(服务器端口 21)和数据连 <!-- page: 290 --> 2027年计算机网络考研复习指导 接(服务器端口20)。采用两个独立端口有助于协议的清晰实现。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
图6.7 控制连接和数据连接 1. 控制连接 考虑连接 ▶ FTP控制连接的功能(2009) 服务器监听 21 号端口,等待客户连接。建立在此端口上的连接称为控制连接,用于传输控制命令(如登录、目录操作、传送命令等)。FTP 客户通过控制连接向服务器发送文件传送请求,但控制连接本身不用于传输文件数据。在文件传输过程中,仍可通过控制连接发送中断等指令,因此控制连接在整个会话期间保持打开状态。 2. 数据连接 当服务器的控制进程收到客户发来的文件传输请求后,会创建一个数据传送进程并建立数据连接。该连接用于客户端与服务器端的数据传送进程之间的通信,实际完成文件内容的传输。传输结束后,数据连接关闭,数据传送进程随之终止。 数据连接支持两种传输模式:主动模式(PORT)和被动模式(PASV)。 - PORT 模式:客户端首先连接服务器的 21 号端口,并完成登录。需要传输数据时,客户端随机选择一个本地端口,并通过 PORT 命令将该端口号告知服务器。随后,服务器通过 20 号端口主动连接到客户端指定的端口以传输数据。 - PASV 模式:客户端登录后发送 PASV 命令。服务器收到后,在本地随机开放一个端口,并通过控制连接将该端口号返回给客户端。客户端再主动连接到该端口以传输数据。 可见,两种模式的区别在于:是服务器主动连接客户端(主动模式)还是服务器被动响应客户端的连接(被动模式),由客户端决定。 注意 许多教材未详细介绍这两种模式。若无特别说明,可默认采用主动模式。 由于 FTP 使用独立的控制连接传输命令,其控制信息属于带外(Out-of-band)传送。使用 FTP 修改远程文件时,需先将文件下载到本地,修改后再传回服务器,整个过程涉及两次完整传输,效率较低。网络文件系统(NFS)采用不同的思路:它允许进程直接打开远程文件,并在指定位置进行读/写操作。这样,用户只需传输大文件中的特定片段,而无须复制整个文件。 6.3.3 本节习题精选 一、单项选择题 01. 文件传输协议(FTP)的一个主要特征是( )。 <!-- page: 291 --> 第6章 应用层 279 A. 允许客户指明文件的类型但不允许指明文件的格式 B. 不允许客户指明文件的类型但允许指明文件的格式 C. 允许客户指明文件的类型与格式 D. 不允许客户指明文件的类型与格式 02. 以下关于 FTP 工作模型的描述中,错误的是( )。 A. FTP 使用控制连接、数据连接来完成文件的传输 B. 用于控制连接的 TCP 连接在服务器端使用的熟知端口号为 21 C. 用于控制连接的 TCP 连接在客户端使用的端口号为 20 D. 服务器端由控制进程、数据进程两部分组成 03. 控制信息是带外传送的协议是( )。 A. HTTP B. SMTP C. FTP D. POP 04. 下列关于 FTP 连接的叙述中,正确的是( )。 A. 控制连接先于数据连接被建立,并先于数据连接被释放 B. 数据连接先于控制连接被建立,并先于控制连接被释放 C. 控制连接先于数据连接被建立,并晚于数据连接被释放 D. 数据连接先于控制连接被建立,并晚于控制连接被释放 05. FTP 客户发起对 FTP 服务器连接的第一阶段是建立( )。 A. 传输连接 B. 数据连接 C. 会话连接 D. 控制连接 06. FTP 中作为服务器一方的进程,通过监听( )端口得知有无服务请求。 A. 53 B. 80 C. 20 D. 21 07. 下列关于 FTP 的叙述中,错误的是( )。 A. FTP 可以实现异构网络中计算机之间的文件传送 B. 在进行文件传输时,FTP 客户端和服务器之间需建立两个连接 C. FTP 服务器主进程在 20 端口上监听客户端的连接请求 D. FTP 使用 TCP 进行可靠传输 08. 一个 FTP 用户发送了一个 LIST 命令来获取服务器的文件列表,这时服务器应通过( )端口来传输该列表。 A. 21 B. 20 C. 22 D. 19 09. 下列关于 FTP 的叙述中,错误的是( )。 A. FTP 可以在不同类型的操作系统之间传送文件 B. FTP 并不适合用在两个计算机之间共享读写文件 C. 控制连接在整个 FTP 会话期间一直保持 D. 客户端默认使用端口 20 与服务器建立数据传输连接 10. 当一台计算机从 FTP 服务器下载文件时,在该 FTP 服务器上对数据进行封装的 5 个转换步骤是( )。 A. 比特,数据帧,数据报,数据段,数据 B. 数据,数据段,数据报,数据帧,比特 C. 数据报,数据段,数据,比特,数据帧 D. 数据段,数据报,数据帧,比特,数据 11. FTP 支持两种方式的传输:ASCII 方式和 Binary(二进制)方式。通常文本文件的传输采用( )方式,而图像、声音等非文本文件采用( )方式传输。 <!-- page: 292 --> 2027年计算机网络考研复习指导 A. ASCII, Binary B. Binary, ASCII C. ASCII, ASCII D. Binary, Binary 12. 直接封装 FTP、DNS、DHCP 报文的协议分别是( )。 A. TCP、UDP、UDP B. UDP、TCP、TCP C. TCP、UDP、IP D. UDP、UDP、UDP 13. 【2009 统考真题】FTP 客户和服务器间传递 FTP 命令时,使用的连接是( )。 A. 建立在 TCP 之上的控制连接 B. 建立在 TCP 之上的数据连接 C. 建立在 UDP 之上的控制连接 D. 建立在 UDP 之上的数据连接 14. 【2017 统考真题】下列关于 FTP 的叙述中,错误的是( )。 A. 数据连接在每次数据传输完毕后就关闭 B. 控制连接在整个会话期间保持打开状态 C. 服务器与客户端的 TCP 20 端口建立数据连接 D. 客户端与服务器的 TCP 21 端口建立控制连接 ## 二、综合应用题 01. 文件传输协议的主要工作过程是怎样的?主进程和从属进程各起什么作用? 02. 为什么 FTP 要使用两个独立的连接,即控制连接和数据连接? 03. 主机 A 想下载文件 ftp://ftp.abc.edu.cn/file,大致描述下载过程中主机和服务器的交互过程。 04. 【2023 统考真题】某网络拓扑如下图所示,主机 H 登录 FTP 服务器后,向服务器上传一个大小为 18000B 的文件 F。假设 H 为传输 F 建立数据连接时,选择的初始序号为 100,MSS = 1000B,拥塞控制初始阈值为 4MSS,RTT = 10ms,忽略 TCP 段的传输时延;在 F 的传输过程中,H 均以 MSS 段向服务器发送数据,且未发生差错、丢包和失序现象。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
请回答下列问题。 1)FTP 的控制连接是持久的还是非持久的?FTP 的数据连接是持久的还是非持久的?当 H 登录 FTP 服务器时,建立的 TCP 连接是控制连接还是数据连接? 2)当 H 通过数据连接发送 F 时,F 的第一个字节的序号是多少?在断开数据连接过程中,FTP 服务器发送的第二次挥手 ACK 段的确认序号是多少? 3)在 H 通过数据连接发送 F 的过程中,当 H 收到确认序号为 2101 的确认段时,H 的拥塞窗口调整为多少?收到确认序号为 7101 的确认段时,H 的拥塞窗口调整为多少? 4)H 从请求建立数据连接开始,到确认 F 已被服务器全部接收为止,至少需要多长时间?期间应用层数据平均发送速率是多少?