[Linux]经典面试题 - 服务管理 - FTP
一、FTP概述
1.1 FTP是什么?
- FTP(File Transfer Protocol,文件传输协议),应用层协议。
- FTP分为:FTP服务端、FTP客户端,属于C/S模型。
- FTP协议通常使用TCP端口20和21,20用于传输数据,21用于传输控制信息。
二、FTP模式
2.1 主动模式(Port)
主动模式流程:
- FTP Client(随机端口)与FTP Server(21端口)建立连接,通过该连接通道传输控制命令。
- 若有数据需要传输时,通过控制通道发送PORT命令(包含客户端用于建立连接的端口)。
- FTP Client(随机端口)与FTP Server(20端口)建立连接,通过该连接通道传输数据。
2.2 被动模式(Passive)
被动模式流程:
- FTP Client(随机端口)与FTP Server(21端口)建立连接,通过该连接通道传输控制命令。
- 若有数据需要传输时,通过控制通道发送PASV命令,由服务器随机开放端口。
- FTP Client与FTP Server开放的端口进行连接,传输数据。