FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP服务器常常被用来进行文件共享和传输,是互联网领域必不可少的一环。
FTP服务器的作用
FTP服务器是为了解决文件传输障碍问题而产生的。那么FTP服务器在这之间起到了什么作用呢?
在互联网起步时期,在网上进行传输文件是一件十分棘手的事情,不仅各个用户所使用终端不同,如个人电脑、Mac、工作站、大型机等种类各异,而且操作系统也有着很大的区别,Windows、Unix、Dos或者MacOS等系统,运行方式迥异,传输和分享都有着很大的限制。
FTP协议包括了各种客户端和FTP服务器
而为了消除这种交流问题,互联网工作者就需要建立一个统一的传输协议,这就是FTP协议。而FTP协议的两大组成部分就是FTP服务器和FTP客户端。而FTP服务器起到了中转站和存储中心的作用,用来传递、保存和分发文件给各个客户端。
二者间进行文件的上传和下载
FTP服务器内所存储的文件大多都是从用户的客户机程序中利用FTP协议传输拷贝到远程主机上FTP服务器程序后进行存储的,这个过程被称为上载(upload,也叫上传);同理,用户将文件从FTP服务器中拷贝并传输到自己的终端机的过程就是下载(download)。上传和下载过程是我们所能用到的再常见不过的操作过程。
FTP服务器的连接
由于FTP服务器承担有文件存储和传播的重任,所以其与用户的连接也有着三重限制。
FTP服务器在使用前必须要先登录获取远程连接后,用户才能接触到所需文件。用户想要取走自己想要的文件通常有两种方式,一种是Standard ,即PORT方式,是一种主动与服务器连接的方式;另一种是Passive,即PASV方式,是一种被动和服务器连接的方式。
FTP协议连接体系
想要取走想要的文件必须要经过三重门。第一重门就是用户登录,即用户ID和口令,否则便无法连接到FTP服务器获取文件。这道门是第一重门,但是问题在于他严重的限制了互联网的开放性,于是乎如今这道门的重要性已经大幅降低。
后两重门都是FTP服务器的端口。第二重门是FTP服务器的TCP 21端口,FTP客户端和这个端口建立连接以后,可以通过这个通道发送命令,客户在收到数据的时候在这个通道中发送命令。
Port方式建立连接
而第三重门则要复杂一些了。过去,上述的命令通常是Port命令,传输给FTP服务器后,服务器就会从自己的TCP20数据端口连接到客户指定的端口进行文件的拷贝和传输。而这种方式的话需要FTP服务器和客户端建立一个新的连接来传输数据,
由于这种新连接的安全性难以保证,FTP服务器的第三重门还有另外一种形态,即用户发送的命令不再使用Port命令,而是Pasv命令。FTP服务器接到这种命令后会打开一个端口号大于1024的高端随机端口,然后通知客户端在这个端口处传输数据请求,在这个端口直接完成数据的传送工作,而FTP服务器并不需要和客户端建立新的连接。
FTP服务器的匿名机制
而一些朋友会纳闷了,那我要是在网上下载软件的时候,我也没给他提供什么登录信息、用户ID和口令啊?那是因为FTP服务器还有一种匿名FTP机制。
前面提到,第一重门的存在阻碍了互联网的开放性,所以为了增加信息交流的便捷性,从而创造了一种匿名FTP机制。这种机制中,系统管理员建立了一个特殊的ID,anonymous。所有能上网的人都可以用了这个id,就相当于提供了一个挂在门上的钥匙,用户的口令也可以是任意字符串,登录不会存在任何障碍。
匿名FTP服务器有统一用户名
不过,匿名FTP机制的存在并非让全部文件都可以共享公开的。也就是说当远程主机提供匿名FTP服务的时候,往往开放的是一部分的目录,允许用户匿名存取,而大多数的目录都是处于隐匿状态。
另一个问题接踵而至,由于FTP服务器兼具存取功能,互联网中的木马文件和带有病毒的文件实在是太多,如果这些文件也放进去那不就很容易被传播开了吗?解决方法很简单,那就是大多数的匿名FTP服务器是只取不存的。
而即便是能够提供存放服务,用户能够放进去的也是一个特殊的共享空间,只存不取。而当系统管理员定期对这些文件进行整理之后,将危险文件直接删除弃置,安全文件则可以整理归类后,进行存储或者公开等用处。
这种的话就不允许匿名登录了
理论上来讲,匿名FTP有机会成为世界最大的信息库,因为这些信息和文件经过不断的整理,开放,增长和优化,几乎可以用不关闭,所有的主题都有可能涉及到,而且,这还都是免费的。而这也是当今软件发布和下载最常用的的方法。
某种程度上来讲,互联网能够发展至今就是因为使用的都是通过标准协议提供标准服务的程序,这才让交流有了基础,让信息流动有了价值。而FTP服务器无疑就是最大的助力,其为互联网注入了勃勃的生机。