【云计算 IT 基础知识】系列1 目录/汇总(持续更新)
------------------------------------------------------------
5.5.7 FTP
概念
文件传输协议FTP(File Transfer Protocol)是一个用于在两台装有不同操作系统的机器中传输文件的协议。
FTP 连接
采用两个TCP连接来传输一个文件:
l 控制连接
控制连接一直持续到客户端和服务器端进程间的通信完成为止,用于传输控制命令,服务器使用21端口。
l 数据连接
数据连接根据通信的需要随时建立和释放,用于数据的传输,服务器常使用20端口。
客户端与服务器以及它们之间的连接情况如图5-40所示。
工作方式
FTP的工作方式有两种:
l 主动方式
客户端首先和服务器的TCP 21端口建立控制连接,并通过此通道发送命令。客户端需要接收数据的时候在此通道上发送Port命令,该命令包含了客户端用什么端口接收数据。在传送数据时,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。服务器必须和客户端建立数据连接用来传送数据。
l 被动方式
在建立控制通道时,被动方式和主动方式类似。但建立连接后发送的不是Port命令,而是Pasv命令。服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在此端口上传送数据的请求。客户端连接服务器此端口。服务器通过此端口进行数据的传送,此时服务器不再需要建立一个新的和客户端之间的连接。
常用命令
FTP客户端与服务器之间交互的部分常用命令如表5-19所示。
FTP 应答
FTP客户端与服务器之间交互的应答使用3位应答码,其每一位数字都有不同的含义。应答码第1位和第2位的含义如表5-20所示。第3位数字给出差错报文的附加含义。
FTP典型的应答码如表5-21所示。
------------------------------------------------------------