FTP 文件传输协议

FTP

FTP (File Transfer Protocol、文件传输协议) 是一个采用 C/S 模式的应用层协议,通过 TCP 建立连接 (默认情况下数据端口 20,控制端口 21) 完成与远端计算机的文件传输

工作过程

  1. 用户操作 FTP 客户端,连接 FTP 服务器
  2. FTP 客户端向 FTP 服务器的控制端口建立连接
  3. FTP 服务器通过控制连接响应客户端的命令 (例如用户验证、切换目录等)
  4. 当 FTP 服务器收到涉及文件传输的命令 (上传/下载) 时,会与客户端建立数据连接用于文件传输
    上传 : 客户端会读取本地文件系统中的文件,传输给服务器端,服务端就将它写到服务器端对应的文件系统
    下载 : 服务器端读取文件系统中的数据,写入到数据连接,通过数据连接发送给客户端,客户端就读取数据连接中的数据,写入到本地的文件系统
  5. 文件传输完毕后关闭数据连接

数据连接并不是永久性存在的,一旦传输完毕就会将这个连接关闭掉,但是控制连接不会关闭,除非将客户端关闭了,控制连接才会随之关闭。控制连接是随客户端一起存在的,而数据连接是短暂存在的,只要文件传输或者列表传输完成,数据连接就关闭了

连接模式

控制连接是由客户端向服务器发起,但数据连接可以由任意一方主动发起

PORT (主动模式) : FTP 服务器主动向客户端发起连接请求

PASV (被动模式) : FTP 服务器等待客户端发起连接请求 (默认模式)

文件传输模式

ASCII 模式
假定用户正在拷贝的文件包含的简单 ASCII 码文本,如果在远程机器上运行的不是 UNIX,当文件传输时 FTP 通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式

Binary 模式
在二进制传输中,保存文件的位序,原始和拷贝的逐位一一对应。即使目的地机器上包含位序列的文件是没意义的。例如 macintosh 以二进制方式传送可执行文件到 Windows 系统,在对方系统上,此文件不能执行

上一篇
下一篇