Skip to content

2017年 408 计算机网络 第 40 题

计算机网络2017年选择题2分

题目

下列关于 FTP 协议的叙述中,错误的是( )。

错因

A

A 命题"数据连接每次传输完后关闭"是对的——FTP 主动模式下每次执行 LIST、RETR、STOR 等命令都新建一条 TCP 数据连接,传完即关;下次再建。这是 FTP 的"按需新建数据连接"机制。

B

B 命题"控制连接整个会话保持打开"是对的——FTP 用控制连接传所有命令-响应(USER / PASS / CWD / LIST / RETR ...),登录起到 QUIT 期间一直保持。这是 FTP 协议的设计:"控制信道常驻、数据信道按需"。

D

D 命题"客户端与服务器的 21 端口建立控制连接"是对的——FTP 服务器在 21 端口监听,客户端用任意临时端口主动连服务器 21 端口建立控制连接。这就是 FTP 控制连接的标准建立方式。

总解析

FTP 协议的两条 TCP 连接

连接谁主动端口何时建立 / 关闭
控制连接客户端 → 服务器 21服务器 21登录建立、QUIT 关闭,整个会话保持
数据连接(主动模式)服务器 → 客户端 临时端口服务器 20每次传输任务建立、完成即关
数据连接(被动模式)客户端 → 服务器临时端口服务器临时端口同上

主动模式(PORT)流程

  1. 客户端在控制连接里告知服务器:"我开了端口 P 等你来连"
  2. 服务器从自己 20 端口主动发起 TCP 连接到客户端的端口 P —— 这是 FTP 区别于其他协议的特点
  3. 数据连接打开,传文件 / 目录列表
  4. 传完关闭

为什么 C 错

C 命题"服务器与客户端的 TCP 20 端口建立数据连接"——这把"客户端某临时端口"误说成"客户端 20 端口"。20 端口是服务器自己的端口,不是客户端的端口。客户端的端口是临时分配的(如 49152~65535 中的某个)。

如果改写正确:应该是"服务器从自己的 TCP 20 端口主动连接客户端的某个临时端口"——主动方是服务器、20 是服务器自己的端口、客户端用的不是 20。

逐项判定

选项命题判定
A数据连接每次传输后关闭✅ 对
B控制连接全会话保持✅ 对
C服务器与客户端的 20 端口建立数据连接错(20 是服务器端口,不是客户端)
D客户端连服务器 21 端口建立控制连接✅ 对

题问"错误的",唯一错误项是 C。

最终答案是 C

编者注(生僻术语):FTP 主动模式(PORT 命令)和被动模式(PASV 命令)区别——

  • 主动模式:服务器从自己 20 端口主动连客户端某临时端口;防火墙友好性差(需要客户端开放入向端口)
  • 被动模式:服务器开自己一个临时端口监听,客户端主动连这个临时端口;现代防火墙下更常用

408 题里"FTP 数据连接用服务器 20 端口"特指主动模式。被动模式下服务器 20 端口不参与,但题面默认主动模式。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题