文件传输协议(File Transfer Protocol,FTP)是因特网上使用最广泛的文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型和格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件必须经过授权和输入有效口令)。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络、主机之间传输文件。
1.FTP的主要工作原理
在典型的FTP会话过程中,用户一般坐在本地主机前操作同远程主机之间的文件传输。为了能够访问远程账户,用户必须提供用户标识和密码。在通过身份验证以后,用户就可以在本地和远程主机之间传输文件了。用户通过FTP的用户代理与FTP进行交互,需要先提供远程主机名或IP地址,以便本地FTP的客户端进程能够同远程主机上的FTP服务器进程建立连接。然后用户提供其标识和密码,这些内容作为FTP的命令参数通过TCP连接送到FTP服务器。一旦验证通过,用户即可在两个系统之间传输文件了。
HTTP和FTP同样都可以传输文件并具有许多共同点,如这两个协议都需要TCP的支持,但也有很大区别,最为显著的是:FTP使用两个并行的TCP连接来传输文件,一个称为控制连接(control connection),另一个称为数据连接(data connection)。控制连接用来在两个主机之间传输控制信息,如用户标识、密码、操作远程主机文件目录的命令,发送文件(put)和取回(get)文件的命令等。而数据连接则真正用来发送文件。由于FTP使用单独的控制连接,所以FTP的控制信息被称为“分路(out—of—band)”发送的。FTP的控制和数据连接如图4-28所示。
图4-28 FTP连接
当用户启动一次与远程主机的FTP会话时,FTP首先建立一个TCP的连接到FTP服务器的21号端口。FTP客户端则通过该连接发送用户标识、密码等,还可以通过该连接发送命令改变远程系统的当前工作目录。当用户要求传送文件时,FTP服务器则在其20号端口上建立一个数据连接,FTP在该连接上传送完毕一个文件后立即断开该连接。如果在一次FTP会话过程中需要传送另一个文件,FTP服务器则会建立另一个连接。在整个FTP会话过程中,控制连接始终保持,而数据连接则随着文件的传输会不断地打开和关闭。
2.FTP的使用
使用FTP的条件是用户计算机和向用户提供因特网服务的计算机能够支持FTP命令。UNIX系统与其他支持TCP/IP的软件都包含FTP实用程序。FTP服务的使用方法很简单,启动FTP客户端程序,与远程主机建立链接,然后向远程主机发出传输命令,远程主机在接收到命令后,就会立即返回响应,并完成文件的传输。
FTP提供的命令十分丰富,涉及文件传输、文件管理、目录管理、连接管理等方面。根据所使用的用户账户不同,FTP服务可分为两类:普通FTP服务和匿名FTP服务。
用户在使用普通FTP服务时,必须建立与远程计算机之间的连接。为了实现FTP连接,首先要给出目的计算机的名称或地址,当连接到宿主机后,一般要进行登录,在检验用户账号和口令后,连接才得以建立。因此用户要在远程主机上建立一个账户。对于同一目录或文件,不同的用户拥有不同的权限,所以在使用FTP过程中,如果发现不能下载或上传某些文件时,一般是因为用户权限不够。下而介绍FTP的重要应用形式和要素。(www.xing528.com)
(1)匿名FTP
因特网上的许多公司和大学的主机都有大量有价值的文件,是因特网上的巨大信息资源。普通FTP服务要求用户在登录时提供相应的用户名和用户密码,即用户必须在远程主机上拥有自己的账户,否则无法使用FTP服务。这对于大量没有账户的用户来说是不方便的。为了便于用户获取因特网上公开发布的各种信息,许多机构提供了匿名FTP(anonymous FTP)服务。
匿名FTP服务的实质是:提供文件服务的机构在它的FTP服务器上建立一个公开账户(一般为anonymous),并赋予该账户访问公共目录的权限。用户想要登录到这些FTP服务器时,不需事先申请用户账户。如果用户要登录到匿名FTP服务器时,可以用“anonymous”作为用户名,匿名FTP服务器便可以允许这些用户登录到这台匿名FTP服务器中,提供文件传输服务。如果通过浏览器访问FTP服务器,则不用登录就可直接访问提供给匿名用户的目录和文件。
(2)普通FTP
与匿名FTP不同的是,普通FTP为企事业单位内部的信息发布提供方便。使用实名FTP,需要用户在远程主机上拥有实名账户、口令和相应的访问权限。例如,在UNIX系统中,如果给某个用户建立了一个实名账户,那么用户就可以使用该账户登录后,将文件上传到该用户在远程主机的个人主目录(Home Directory)下,如果该主机开放了个人网页的发布功能,那么在本地制作完成的网页就可以发布到个人网页的发布目录中。而且,使用同一套用户名和口令,可以同时使用Telnet、SSH、FTP进行远程登录,协同完成个人网页的上传(FTP)、发布测试(Web)、文件目录访问权限设置(Telnet/SSH)的设置。
(3)FTP的客户端
FTP的客户端分为专用客户端和通用客户端。专用客户端又可以分为字符界面(CUI)和图形界而的客户端。最为简单的专用客户端往往是操作系统自带的FTP客户端应用程序(如Windows系统中的ftp.exe),在了解了它的操作命令之后,在本地进行大型文件传递(如虚拟光盘文件)的传递,往往有很高的效率。
应用最方便的通用FTP客户端往往是各种浏览器(如IE、Firefox),浏览器除了可以直接下载嵌入在网页中的文件之外,也支持普通或匿名的FTP,条件是在浏览器的URL地址栏直接输入FTP协议名、远程主机域名等。浏览器除了支持FTP服务器的匿名登录外,也支持普通FTP的实名登录。
专用FTP客户端往往是图形界的,如LeapFTP和CuteFTP。专用FTP客户端的最大特色不仅仅在于它的界面友好,而且在于它们具有所谓的“断点续传”功能,便于传输大型文件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。