1 / 9
FTP协议及数据包浅析
第27章FTP:文件传送协议
引言
FTP是另一个常见的应用程序。它是用于文件传输的I n t e r n e t标准。我们必须分清文件传
送(file transfer)和文件存取(file access)之间的区别,前者是F T P提供的,后者是如N F S
(S u n的网络文件系统,第2 9章)等应用系统提供的。由F T P提供的文件传送是将一个完整的
文件从一个系统复制到另一个系统中。要使用F T P,就需要有登录服务器的注册帐号,或者通
过允许匿名F T P的服务器来使用(本章我们将给出这样的一个例子)。
与Te l n e t类似,F T P最早的设计是用于两台不同的主机,这两个主机可能运行在不同的操作系
统下、使用不同的文件结构、并可能使用不同字符集。但不同的是,Te l n e t获得异构性是强制两端
都采用同一个标准:使用7比特A S C I I码的N V T。而F T P是采用另一种方法来处理不同系统间的差
异。F T P支持有限数量的文件类型(A S C I I,二进制,等等)和文件结构(面向字节流或记录)。
参考文献959 [Postel 和Reynolds 1985] 是F T P的正式规范。该文献叙述了近年来文件传输
的历史演变。
FTP协议
F T P与我们已描述的另一种应用不同,它采用两个T C P连接来传输一个文件。
1) 控制连接以通常的客户服务器方式建立。服务器以被动方式打开众所周知的用于
F T P的端口(2 1),等待客户的连接。客户则以主动方式打开T C P端口2 1,来建立连
接。控制连接始终等待客户与服务器之间的通信。该连接将命令从客户传给服务器,
并传回服务器的应答。
由于命令通常是由用户键入的,所以I P对控制连接的服务类型就是“最大限度地减小迟延”。
2) 每当一个文件在客户与服务器之间传输时,就创建一个数据连接。(其他时间也可以创
建,后面我们将说到)。
由于该连接用于传输目的,所以I P对数据连接的服务特点就是“最大限度提高吞吐量”。
图2 7 - 1描述了客户与服务器以及它们之间的连接情况
从图中可以看出,交互式用户通常不处理在控制连接中转换的命令和应答。这些细节均
由两个协议解释器来完成。标有“用户接口”的方框功能是按用户所需提供各种交互界面
(全屏幕菜单选择,逐行输入命令,等等),并把它们转换成在控制连接上发送的F T P命令。
类似地,从控制连接上传回的服务器应答也被转换成用户所需的交互格式。
从图中还可以看出,正是这两个协议解释器根据需要激活文件传送功能。
数据表示
FTP协议规范提供了控制文件传送与存储的多种选择。在以下四个方面中每一个方面都必
须作出一个选择。
1. 文件类型
(a) ASCII码文件类型(默认选择)文本文件以NVT ASCII码形式在数据连接中传输。这要求
发方将本地文本文件转换成NVT ASCII码形式,而收方则将NVT ASCII码再还原成本地文本文件。
其中,用NVT ASCII码传输的每行都带有一个回车,而后是一个换行。这意
ftp协议及数据包浅析 来自淘豆网m.daumloan.com转载请标明出处.