3.1.3 FTP服务的工作原理
FTP服务是一种有连接的文件传输服务,采用的传输层协议是TCP协议。FTP服务的基本过程是:建立连接、传输数据与释放连接。由于FTP服务的特点是数据量大、控制信息相对较少,因此在设计时采用分别对控制信息与数据进行处理的方式,这样用于通信的TCP连接也相应地分为两种类型:控制连接与数据连接。其中,控制连接用于在通信双方之间传输FTP命令与响应信息,完成连接建立、身份认证与异常处理等控制操作;数据连接用于在通信双方之间传输文件或目录信息。
图3-5给出了FTP服务的工作原理。FTP客户机向FTP服务器发送服务请求,FTP服务器接收与响应FTP客户机的请求,并向FTP客户机提供所需的文件传输服务。根据TCP协议的规定,FTP服务器使用熟知端口号来提供服务,FTP客户机使用临时端口号来发送请求。FTP协议为控制连接与数据连接规定不同的熟知端口号,为控制连接规定的熟知端口号是21,为数据连接规定的熟知端口号为20。FTP协议采用的是持续连接的通信方式,它所建立的控制连接的维持时间通常较长。
图3-5 FTP服务的工作原理
FTP协议规定了两种连接建立与释放的顺序。控制连接要在数据连接建立之前建立,在数据连接释放之后释放。只有建立数据连接之后才能传输数据,并在数据传输过程中要保持控制连接不中断。控制连接与数据连接的建立与释放有规定的发起者。控制连接与数据连接建立的发起者只能是FTP客户机;控制连接释放的发起者只能是FTP客户机,数据连接释放的发起者可以是FTP客户机或服务器。如果在数据连接保持的情况下控制连接中断,则可以由FTP服务器要求释放数据连接。
图3-6给出了FTP服务的工作过程。在FTP服务的工作过程中,FTP客户机向服务器请求建立控制连接,FTP客户机与服务器之间建立控制连接;FTP客户机请求登录到服务器,FTP服务器要求客户机提供用户名与密码;当FTP客户机成功登录到服务器后,FTP客户机通过控制连接向服务器发出命令,FTP服务器通过控制连接向客户机返回响应信息;当FTP客户机向服务器发出目录命令后,FTP服务器会通过控制连接返回响应信息,并通过新建立的数据连接返回目录信息。
图3-6 FTP服务的工作过程如果用户想改变在FTP服务器的当前目录,FTP客户机通过控制连接向服务器发出改变目录命令,FTP服务器通过数据连接返回改变后的目录列表;如果用户想下载当前目录中的某个文件,FTP客户机通过控制连接向服务器发出下载命令,FTP服务器通过数据连接将文件传输到客户机。数据连接有两种常用的工作模式:ASCII模式和BINARY模式。其中,ASCII模式适合传输文本文件,BINARY模式适合传输二进制文件。数据连接在目录列表或文件下载后关闭,而控制连接在程序关闭时才会关闭。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0