FTP全称是File Transfer Protocol,是工作在应用层的协议。它的目的是在不同的主机之间传送文件。这两台主机可能是不同的操作系统、使用不同的文件结构、使用不同的字符集。
FTP是使用两个连接来传送文件:
1、 控制连接用于传送命令
通常控制连接以客户端服务器方式建立。服务器被动打开(FTP端口21),等待客户端连接。控制连接传送客户端发送的命令,并传回服务器的应答。
该连接是用于与用户的交互,IP对控制连接的服务类型是“最大限度地减小延迟”。
2、 数据连接用来传送数据
当客户端和服务器需要文件传输时,就创建一个数据连接。服务器向客户端发送文件列表是通过数据连接的。
数据连接需要时就建立,通常是客户端发出命令要求建立连接。客户端选择一个临时端口号,被动打开。之后使用PORT命令通过控制连接把端口号发给服务器,服务器数据连接使用20。服务器在控制连接上收到端口号,并向客户机端口发起连接,服务器数据连接使用20端口。
通常也是服务器执行数据连接的主动关闭。但是当客户端向服务器发送流形式文件时,客户端来关闭连接。
FTP发送的文件类型
1、 ASCII码
这是FTP发送文件的默认形式。发送发将文件转为NVT ASCII形式,接收方再讲NVT ASCII码还原。NVT ASCII每一行都有一个回车和换行,接收方要扫描每个字节来查找。
2、 EBCDIC 该文本要求传输双方都是EBCDIC系统
3、 二进制文件 数据发送为一个连续的比特流,例如图像。
4、 本地文件类型 用于不同字节大小的主机间传送文件。
FTP制定于上世纪八十年代,随着时间流逝和技术发展,使用越来越少吧。下面博客讲FTP必将消失