FTP介绍及工作模式说明
FTP的全称是什么? FTP(File Transfer Protocol),中文名称是”文传协议”是一个用于文件传输的协议。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
通俗一点FTP能做什么用,FTP作为一种文件传输协议,创建FTP服务器后,可以通过遵守FTP协议的工具将本地文件上传到服务器,或从服务器中下载文件。
FTP是一个文件传输协议并不是一个具体的服务,应用遵守FTP协议的服务工具有很多,例如:vsftpd, pure-ftpd, Filezila Server等。
FTP有几种工作模式呢!
FTP的完整工作有2个TCP连接,分别用于命令传输和数据传输(文件传输)。FTP分开为2个连接主要是为了防止传输二进制文件破坏了命令连接的终端,可以在命令连接中指定数据传输的模式,以此来降低程序开发的复杂性。
FTP 的工作模式有两种:主动连接和被动连接,这两者的区别主要就在于数据连接的连接方式:
主动连接:服务器 20/TCP 端口主动发起连接到客户端指定的端口。
被动连接:客户端主动发起连接到服务器端指定端口
FTP主动模式和被动模式差异是什么?
现在大部分用户的网络其实都并不是公网地址,都是使用NAT转换过的内网地址,如果使用主动连接模式服务器不可能连接到客户端开启的端口。所以只能使用被动连接模式,让客户端主动连接服务器端口,以此来达到数据传输的目的。 主动连接的好处其实就在于便于配置防火墙规则,由服务器的20/TCP主动连接客户端端口,防火墙只需要配置出口允许20/TCP连接即可,不像被动连接需要开启多个TCP端口监听数据连接。