基本介绍:
FTP是文件传输协议的缩写,基于网络来传输文件的应用层协议。
FTP支持两种模式:Standard(PORT方式,主动方式),Passive(PASV,被动方式)。
Port模式:
FTP客户端首先和服务器的TCP21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令,PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器通过自己的TCP20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式:
建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
用途:
本地主机和远程主机之间传送文件。
实现文件传输协议的服务器和客户端软件非常多,VSftp就是服务器端的一个,一般安装在linux上。FileZilla Server也是服务器端的一个,一般安装在wind