FTP,文件传输协议,很多人搞不清楚,既然网络中已经有了文件服务器,那为什么还要设置FTP服务器呢?其实它们之间的主要区别是,文件服务器仅能在局域网内部使用,而FTP服务器是可以发布到公网上的,可以作为专门的下载网站。
FTP服务的另一个显著特点是既可以上传,也可以下载,可以控制文件的双向传输。在早些年,FTP曾作为主要的下载服务,为大量网站所应用。但近年来,随着P2P下载的流行,已很少有人会再去使用FTP进行下载。但是FTP强大的上传功能却是不能为其他软件所代替的,尤其是在更新Web网站时,更是少不了FTP。当用户需要向远处计算机上存放文件时,FTP也通常被作为首选。
FTP属于TCP/IP协议栈,因此无论是Windows系统还是Linux系统,只要操作系统支持TCP/IP协议,就可以在不同类型的计算机之间传输文件。
综合来看,目前FTP服务主要用来实现以下3种功能:
(1) 软件高速下载
(2) Web网站的更新维护
(3) 不同类型的计算机之间传输文件
FTP采用客户端/服务器工作模式,客户端和服务器之间使用TCP协议进行连接。与其它服务不同的是,FTP服务需要在客户端与服务器之间建立两条连接:一条是控制连接,专门用于传送控制信息;另一条是数据连接,专门用于数据发送。
在服务器端,控制连接的默认端口为TCP 21,21端口始终处于打开状态,以监听客户端的请求信息;数据连接的默认端口为TCP 20,该端口只在上传或下载文件,需要传输数据时打开,数据传输结束后关闭。
如何在客户端与服务器之间建立连接,这涉及到FTP服务的两种不同工作模式:主动模式和被动模式,这部分内容较为复杂,将在后面的博文中专门讲解。
用户访问FTP网站可以使用两种形式:匿名FTP与用户FTP。
如果FTP服务器启用了匿名访问,那么任何用户都可以访问该服务器,而不需要输入用户名和密码登录。实际上,匿名FTP是默认自动使用“anonymous”账户进行登录的。匿名FTP主要用于文件下载功能。
当使用用户FTP时,用户访问FTP网站必须使用用户名和密码登录,并且根据所具有的权限对FTP网站中的文件进行操作,没有登录权限的用户将不允许访问。
微软实现FTP服务的方法是利用IIS中的FTP组件,并结合NTFS文件系统来配置用户的权限,利用磁盘配额或配额管理来限制用户的可用空间等。
不过,要使用Windows Server系统中提供的FTP服务器功能,则用户需要熟悉FTP服务、NTFS权限等操作的设置,对用户要求较高。因此,出现了很多专门搭建FTP服务器的软件,如Serv-U就是其中比较著名的一款FTP服务器软件。
对于客户端,访问FTP服务器可以采用三种不同的方法:
(1)使用IE浏览器或Windows资源管理器。
(2)使用ftp命令
(3)使用专门的工具软件,如CuteFTP。
本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1178663