由于FTP服务器承担有文件存储和传播的重任,所以其与用户的连接也有着三重限制。
FTP服务器在使用前必须要先登录获取远程连接后,用户才能接触到所需文件。用户想要取走自己想要的文件通常有两种方式,一种是Standard ,即PORT方式,是一种主动与服务器连接的方式;另一种是Passive,即PASV方式,是一种被动和服务器连接的方式。
FTP协议连接体系
想要取走想要的文件必须要经过三重门。第一重门就是用户登录,即用户ID和口令,否则便无法连接到FTP服务器获取文件。这道门是第一重门,但是问题在于他严重的限制了互联网的开放性,于是乎如今这道门的重要性已经大幅降低。
后两重门都是FTP服务器的端口。第二重门是FTP服务器的TCP 21端口,FTP客户端和这个端口建立连接以后,可以通过这个通道发送命令,客户在收到数据的时候在这个通道中发送命令。
而第三重门则要复杂一些了。过去,上述的命令通常是Port命令,传输给FTP服务器后,服务器就会从自己的TCP20数据端口连接到客户指定的端口进行文件的拷贝和传输。而这种方式的话需要FTP服务器和客户端建立一个新的连接来传输数据,
由于这种新连接的安全性难以保证,FTP服务器的第三重门还有另外一种形态,即用户发送的命令不再使用Port命令,而是Pasv命令。FTP服务器接到这种命令后会打开一个端口号大于1024的高端随机端口,然后通知客户端在这个端口处传输数据请求,在这个端口直接完成数据的传送工作,而FTP服务器并不需要和客户端建立新的连接。