首页 理论教育FTP基本工作原理:计算机网络技术

FTP基本工作原理:计算机网络技术

【摘要】:FTP 服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。这样,可以将传送命令与数据分开,有利于提高FTP 的效率。如上所述,FTP 使用控制连接在客户进程和服务器进程之间进行通信,通信是通过命令和响应来完成的。FTP 客户进程发送的命令形式是ASCII 码大写字符,后接可选变量。通常,使用FTP 的客户需要在远程服务器上设有账号和口令,作为安全验证的主要手段。

FTP 使用客户端服务器的工作模式。一个FTP 服务器进程可同时为多个客户进程提供服务。FTP 服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。FTP 客户与服务器的TCP 连接如图9.4所示。FTP 与其他采用客户端服务器模式的应用程序不同的地方是FTP 需要使用两条连接:一条是用于传送控制信息的控制连接(使用熟知端口号21),另一条是用于数据传送的数据连接(使用熟知端口号20)。这样,可以将传送命令与数据分开,有利于提高FTP 的效率

图9.4 FTP 客户与服务器的连接

FTP 创建连接的步骤如下:

①服务器主进程打开熟知端口号21,等待来自客户进程的请求。

②客户进程使用临时端口号,发起连接请求。

③服务器主进程收到客户请求后,启动从属进程来处理客户进程的请求。(www.chuimin.cn)

④服务器主进程重新回到等待状态,继续接收其他客户进程发来的请求。

在上述步骤中,服务器的从属进程负责与客户的数据传送。从属进程中的“控制进程”在接收到FTP 客户发来的文件传输请求后,便在客户端与服务器端的“数据传送进程”之间建立起“数据传送连接”。“数据传送进程”在完成文件传送后,关闭“数据传送连接”并结束运行。从属进程处理完客户进程的请求后,一个客户请求便处理完毕。从属进程在运行期间可根据需要创建其他子进程。

需要指出的是,上述主进程与从属进程的处理过程是并行的。

在整个FTP 的交互会话中,控制连接始终处于连接状态,而数据连接只是在每一次文件传送时才被打开和关闭。

如上所述,FTP 使用控制连接在客户进程和服务器进程之间进行通信,通信是通过命令和响应来完成的。在通信时,命令从客户传送到服务器,而响应则从服务器回送给客户。FTP 客户进程发送的命令形式是ASCII 码大写字符,后接可选变量。命令大致可分为六类:接入命令、文件管理命令、数据格式化命令、端口定义命令、文件传送命令和杂项命令。对于客户发送的命令,服务器至少回送一个响应。响应由两部分组成:一个三位数的伪码和文本,文本定义了所需的参数和解释。客户必须定义要传送的文件类型、数据结构和传输方式。每条命令和响应都是一个短行,最后用回车换行符作为行的结束。

通常,使用FTP 的客户需要在远程服务器上设有账号和口令,作为安全验证的主要手段。如果远程主机上的某些文件允许公共访问,可以使用匿名的身份登录,通常用户账号是“anonymous”,口令是“guest”或用户的电子邮箱地址等。