VSftp服务--简介与原理

一、简介

ftp是什么?
ftp(File Transfer Protocol)中文称为“文件传输协议”,即在服务器上,进行文件的上传、下载以及共享。它是C/S的架构,需要用户名与密码登录后才可以正常获取数据。

现在有qq文件传输以及网盘共享这些,为什么我还需要ftp呢?
qq文件传输、bt、网盘共享等等这些,针对的是个人用户;而ftp,针对的是企业用户。两者最大的区别在在于:个人用户的文件传输方式基本上都不能设定用户权限,即一个文件,我只想一部分人能下载,而另外一部人可能只需要查看就可以了,做不到这个需求。而在企业中,带权限控制的文件传输就变的很重要,比如说有些资料只能经理层能看到,而普通基层员工是没有权限的,所以,就需要这种专业的文件服务器才能实现。

二、原理

ftp有两种模式,一个是主动模式,一个是被动模式,默认是主动模式。这个主动与被动都是针对服务器端来说的,而不是客户端。

主动模式:服务器从20端口主动向客户端发起连接。
21端口用来验证用户,发送ftp命令信息;而20端口用来上传、下载数据。随机端口,指的是1024以上的端口;这里的PORT命令,也会把随机端口号告诉服务器。具体如下:
VSftp服务--简介与原理
被动模式:服务器在指定范围内某个端口被动等待客户端连接。
具体如下:
VSftp服务--简介与原理
那么主动模式与被动模式哪一个更加好呢?
主要是从管理员的工作量出发,被动模式更加好。
因为是这样,如果是主动模式,服务器通过20端口主动发起连接,那么客户端的防火墙可能屏蔽端口(防火墙一般考虑的是入站规则),导致ftp传输失败。客户端数量一多,又因为这些客户端不在管理员的可控范围内,所以就需要很多时间去配置防火墙或者干脆关掉。
如果是被动模式,客户端的端口主动访问服务器的端口,服务器的端口在管理员控制范围内,虽然是随机端口,但是可以在配置文件里,将这个随机端口的范围缩小。