
FTP空间是指通过FTP协议进行文件传输的一种服务。FTP(File Transfer Protocol)的主要功能是实现从一个系统到另一个系统的完整文件拷贝。FTP协议使用两个TCP连接:一个是控制连接,负责在FTP客户端与服务器之间传递命令;另一个是数据连接,负责上传或下载数据。FTP协议的建立连接过程分为三个步骤。第一步是监听。对于一个FTP服务器来说,它会自动对默认端口进行监听,这个默认端口通常是21,但也可以根据需要进行修改。当客户机向这个专用端口请求建立连接时,服务器上的控制进程会被激活,用于进行用户名、密码及权限的验证。第二步是数据传输连接的建立。验证完成后,服务器和客户机之间会建立另外一条专有连接,用于传输文件数据。第三步是传输过程中的控制。在传输过程中,服务器上的控制进程将一直工作,发出指令操作整个FTP传输。传输完毕后,控制进程会发送结束指令。FTP协议有两种工作模式,分别是主动模式和被动模式。主动模式下,客户端向服务器的FTP端口发送连接请求,服务器接受连接,建立命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。服务器从20端口向客户端的XXXX端口发送连接请求,建立数据链路来传送数据。被动模式下,客户端同样向服务器的FTP端口发送连接请求,服务器接受连接,建立命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。客户端向服务器的XXXX端口发送连接请求,建立数据链路来传送数据。两种模式的命令链路连接方法是一样的,但数据链路的建立方法不同。在被动模式下,客户控制进程成为了连接的接受者,而服务器数据传输进程成为了连接的请求者。客户控制进程通过控制连接告诉服务器控制进程自己的数据连接端口号;服务器控制进程将它转告自己的数据传输进程,服务器便利用这个端口与客户建立数据连接。对于IP地址动态变化的情况,可以使用花生壳这样的软件来解决。通过花生壳,用户可以轻松实现动态IP地址的稳定访问。
