本文介绍FTP的概念、工作方式以及通过FTP客户端连接云虚拟主机时的注意事项。

FTP简介

  • 文件传输协议FTP(File Transfer Protocol)是TCP/IP协议组中的协议之一。在开发网站的时候,您可以使用FTP客户端将网站程序或者网页通过FTP协议上传到Web服务器。
  • FTP的工作方式分为主动方式(PORT)和被动方式(PASV),工作流程如下所示:
    工作流程 主动方式(PORT) 被动方式(PASV)
    发送连接请求 FTP客户端向服务器的FTP端口(默认是21)发送连接请求。
    建立命令链路 服务器接受连接请求后,建立一条命令链路。
    发送命令 传送数据时,客户端会在命令链路上向服务器发送PORT命令,命令中包含了客户端接收数据的端口。 传送数据时,客户端会在命令链路上向服务器发送PASV命令。服务器收到命令后,随机开启一个端口并向客户端发送端口信息。
    传送数据 服务器收到命令后,会通过自己的20端口向PORT命令中的指定端口发送连接请求,建立一条数据链路来传送数据。 客户端向服务器的端口发送连接请求,建立一条数据链路来传送数据。

FTP注意事项

根据FTP客户端是否有公网IP、是否安装防火墙以及连接的云虚拟主机的搭建方式,您需要注意以下事项:

  • 如果您的FTP客户端没有公网IP,只能使用PASV方式才可以连接云虚拟主机。
  • 如果您的FTP客户端有公网IP,且安装了防火墙。当使用PORT方式连接云虚拟主机时,必须在防火墙上打开1024以上的高端端口,保证建立数据链路时,云虚拟主机向FTP客户端发送的连接请求不会被防火墙拦截。