应用层中的文件传输协议 (FTP)
文件传输协议 (FTP) 是一种应用层协议,用于将本地设备(PC、智能手机等)之间的文件传输到服务器。它通过互联网传输文本和二进制文件。
- FTP 在计算机之间打开两个连接 - 一个用于命令和回复(控制连接),另一个用于数据传输(数据连接)。
- FTP 建立在客户端-服务器模型架构上,使用客户端和服务器之间的控制连接和数据连接。
控制连接
在端口号 21 上建立控制连接。它是主要连接,用于在客户端和服务器之间来回发送命令。一旦控制连接建立,它就用于发送控制信息,如用户标识、密码和远程目录等。
数据连接
数据连接在端口号 20 上启动。使用已建立的控制连接,客户端和服务器将创建单独的数据连接来传输请求的数据。
数据连接保持打开状态,直到传输完成,之后数据连接关闭。
数据连接由客户端或服务器关闭,具体取决于哪一方发送信息。当客户端从服务器检索数据时,服务器将在传输完所有数据后关闭连接。当客户端正在向服务器传输数据时,客户端将在所有数据传输完成后终止连接。
FTP 以三种不同模式传输文件 -
- 流模式 - 在此模式下,FTP 将数据作为一串字节处理,没有分隔边界。
- 块模式 - 在块模式下,FTP 将整个数据分解为不同的数据块。
- 压缩模式 - 在此模式下,FTP 使用 Lempel-Ziv 算法来压缩数据。