File Transfer Protocol (FTP) 是一种网络协议,用于在计算机之间传输文件。
FTP具有两种主要的传输模式:主动模式和被动模式。
主动模式
在主动模式中,客户机建立到服务器的两个连接:一个用于控制通道,另一个用于数据通道。
控制通道用于发送命令和接收响应,而数据通道用于传输文件数据。
服务器在预定义端口(通常为20)上监听主动连接,客户端在随机端口上开启监听端口。
被动模式
在被动模式中,服务器监听一个随机端口,并向客户机发送该端口号。
客户端随后建立到该端口的连接,使用该连接来传输文件数据。
被动模式消除了一些防火墙和网络地址转换 (NAT) 带来的问题,因为它允许客户端发起数据连接。
FTP流程
FTP传输过程涉及以下步骤:
1.
建立连接:客户端和服务器使用FTP命令建立控制连接。
2.
身份验证:客户端通过发送用户名和密码进行身份验证。
3.
文件传输:客户端发出命令来检索或上传文件。
根据传输模式,数据在控制通道或数据通道上进行传输。
4.
关闭连接:传输完成后,客户端发出 QUIT 命令关闭连接。
![](https://tse1-mm.cn.bing.net/th/id/OIP-C.PKo6VTMc1kUf4Y0XvdaVEQHaHZ?w=.jpg)