FTP

FTP为文件传输协议,运行在TCP上。FTP使用两个并行的TCP来传输文件,一个是控制连接(control connection),一个是数据连接(data connection)。控制连接用于在客户端和服务器之间传输控制信息,如用户标识、口令、改变远程目录的命令以及存放(storage)和获取(retrieve)。

客户端首先在服务器的21端口与服务器建立一个用于控制的TCP连接,当服务器从该连接上接收到一个文件传输命令后,就发起一个到客户端20端口的TCP数据连接。

对FTP而言,控制连接贯穿整个会话过程,而数据连接在每次传输后就会关闭。

FTP命令与回答

命令:

  • USER username
  • PASS password
  • LIST
  • RETR filename
  • STOR filename

回答:

  • 331 Username OK, Password required
  • 125 Data connection already open; transfer starting
  • 425 Can’t open data connection
  • 452 Error writing file