核心结论是标准 FTP 协议,控制连接默认端口是 21,主动模式下的数据连接默认端口是 20,这个是计算机网络考试最常考的知识点,很多同学只记住 21,容易漏掉数据端口 20,这里一定要理解,FTP 是双连接机制,分成控制通道和数据通道两条独立 TCP 连接,控制通道一直保持在线,负责传输登录指令目录命令,数据通道只在传文件列目录的时候临时建立,传完就断开。还要区分 FTPS 和 SFTP 端口,FTPS 常用 990,SFTP 走 SSH 协议端口是 22,很多考题会把这几个端口放在一起挖坑,不要混淆,原始明文 FTP 本身的标准答案就是控制端口 21,数据端口 20,选择题如果只问默认端口,绝大多数情况填写 21。

双端口工作原理

FTP 和普通单端口协议不一样,底层基于 TCP,同时建立两条连接

控制连接 端口 21,全程保持连接,发送账号密码,上传下载命令,切换目录等指令

数据连接 主动模式 PORT,服务器使用 20 端口,专门用来传输文件数据,目录列表数据

被动模式 PASV,数据端口不再固定是 20,服务器会随机开放高位端口,由客户端去连接,这是非常重要的细节,被动模式下 20 端口就不再固定使用,考试经常在这里设置陷阱。

相关协议端口对照表

协议默认端口说明
FTP 控制连接21经典明文 FTP
FTP 主动模式数据连接20仅主动模式固定端口
FTPS990SSL 加密 FTP
SFTP22SSH 文件传输,不属于原 FTP

主动模式与被动模式端口流程

1 主动模式 PORT 流程

客户端先连接服务器 21 端口,建立控制连接,客户端把自己的数据端口号告诉服务器,服务器主动从本机 20 端口,去连接客户端的数据端口,完成文件数据传输。

2 被动模式 PASV 流程

客户端连接服务器 21 控制端口,发送 PASV 命令,服务器返回一个随机高位数据端口,客户端主动连接这个高位端口,不再使用固定 20 端口,这种方式适合 NAT 内网防火墙环境。

实操识别步骤

第一步 看题目问法,如果题目单纯问 FTP 默认端口,优先回答控制端口 21

第二步 如果题目提到主动模式数据通道,补充数据端口 20

第三步 如果题目提到被动模式,说明数据端口为随机高位端口,不再固定 20

第四步 区分干扰项,识别 SFTP 22,FTPS 990,不要和原 FTP 端口弄混

常见易错点

第一 误以为 FTP 只有一个端口,忽略 FTP 双连接设计

第二 认为被动模式数据端口也是 20,这个是高频错题

第三 把 SFTP 的 22 端口当成 FTP 端口,SFTP 属于 SSH 协议,并不是原版 FTP

第四 认为端口可以修改,工程部署管理员可以自定义 FTP 监听端口,不再使用默认 21,但是考试默认还是标准端口数值

【常见问题】

问题 1 ftp 使用的端口里面控制连接端口是多少

回答 1 ftp 使用的端口中,控制连接默认端口是 21,所有登录指令命令都通过这个端口传输,是考试最核心答案。

问题 2 ftp 使用的端口被动模式下数据端口还是 20 吗

回答 2 ftp 使用的端口被动模式下数据端口不再固定为 20,被动模式服务器会分配随机高位端口,只有主动模式数据连接才固定使用 20 端口。

问题 3 ftp 使用的端口和 sftp 端口是同一个吗

回答 3 ftp 使用的端口和 sftp 端口不是同一个,原版 ftp 控制端口是 21,sftp 依托 ssh 使用端口 22,考题经常把这两个端口作为干扰选项。

【免责申明】

本内容属于计算机网络应试知识讲解,实际服务器部署可以修改监听端口,不同版本 FTP 服务实现略有差异,内容仅供备考学习参考,不作为网络工程部署唯一标准。