4.2.2 相关知识:FTP

4.2.2 相关知识:FTP

FTP是Internet上用来传送文件的协议,是使用最普遍的文件传输协议。在Internet上通过FTP服务器可以进行文件的上传(upload)或者下载(download)。FTP是实时联机服务,在使用之前必须是具有该服务的一个用户(具有用户名和密码),工作时客户端必须先登录到作为服务器一方的计算机上。用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录、列文件目录、设置传输参数及传送文件等。使用FTP可以传送所有类型的文件,如文本文件、二进制可执行文件、图像文件、声音文件和数据压缩文件等。

FTP是TCP/IP的一种具体应用,工作在应用层。使用TCP传输,其意义在于客户机与服务器之间的连接是可靠的,而且是面向连接的,为数据的传输提供了可靠的保证。

整个FTP建立连接的过程有以下几步。

(1)对于一个FTP服务器来说,它会自动对默认端口进行监听(默认端口是可以修改的,一般为21),当某个客户机向这个专用端口请求建立连接时便激活了服务器上的控制进程,通过这个控制进程进行用户名密码及权限的验证。

(2)验证完成后,服务器与客户机之间还会建立另外一条专有连接进行文件数据的传输。

(3)在传输过程中服务器上的控制进程将一直工作,并不断发出指令操作整个FTP传输,传输完毕后控制进程发送给客户机结束指令。

FTP自身有两种工作模式,即在第二步中提示“建立另外一条专有连接方式”的方法有两种,习惯上称为主动模式和被动模式。

主动模式也称为port模式,在主动模式中,FTP客户端会向FTP服务器发送port命令。该模式的“数据传输专有连接”是在建立控制连接(用户认证完成)后,首先由服务器使用20端口主动向客户机进行连接,建立专有连接用于数据的传输,这种方式在网络管理上比较好控制。21端口用于用户验证,20端口用于数据传输,只要将这两个端口开放就可以随心所欲地使用FTP功能了。

被动模式也称为pasv模式,在被动模式中,客户端会向FTP服务器发送pasv命令。FTP服务器打开一个位于1024和5000之间的随机端口并且响应客户端在这个端口上传送数据的请求。该工作模式与主动模式不同,数据传输专有连接是在建立控制连接(用户认证完成)后,由客户机向FTP服务器发起连接的。客户机使用哪个端口以及连接到服务器的哪个端口都是随机产生的。

现在,很多FTP服务器的20端口被禁用或者被过滤掉了,这时就不能使用主动模式进行数据传输了,相应的,需要客户机采取被动模式建立连接。采用何种工作模式完全取决于客户机上的设置,因此,切换工作模式已经成为最简单的FTP故障排除方法。

早期的FTP是直接在DOS或者命令行模式下输入一条条指令来实现文件的传输,而目前随着图形界面软件的增多,用户只要通过简单的鼠标操作就可以轻松实现FTP传输功能了。这类软件如FlashFXP、CuteFTP等。