文件传输协议与存取协议(资源子网高层协议-文件传输协议FTP)
将文件从一个系统发送到另一个系统是网络功能的重要组成部分。用户可以使用E-mail完成这一任务,但若要获得较快的传输速度,则可以使用文件传输协议,它包括文件传输协议(FTP,File Transfer Protocol)和简单文件传输协议(TFTP,Trivial File Transfer Protocol)。
大多数站点都使用Web在服务器间传送文件,文件传输协议FTP和TFTP已不如过去那么流行了。然而,并不是所有系统都运行了Web服务器。因此,在文件传输时,仍需要使用FTP和TFTP。
1.FTP基本原理
FTP是Internet和IP网络上传输文件的通用方法。在万维网(WWW)出现以前,用户使用命令行方式传输文件,最通用的应用程序是FTP。虽然,目前大多数用户选择使用E-mail和Web传输文件,以代替命令行方式的接口,但是FTP仍然被使用。FTP是TCP / IP应用,它工作在OSI模型的第7层,TCP模型的第4层上。FTP使用TCP传输而不是UDP。FTP位于OSI和TCP模型的应用层。
· FTP的目标
FTP的目标有如下几点:
(1)在主机之间共享计算机程序或数据;
(2)让本地主机间接地使用远程计算机;
(3)向用户屏蔽不同主机中各种文件存储系统的细节;
(4)可靠、有效的传输数据。
· FTP连接
图 FTP客户端与FTP服务器建立连接的过程
如上图所示,当用户建立FTP连接时,将与两个端口建立端口20和21。这两个端口有不同的功能:端口20是数据端口,21是控制端口。上图说明FTP客户端是如何与远程服务器FTP守护进程建立连接的。
表 控制端口和数据端口
控制端口 |
FTP控制端口用于交换命令信息及对命令的响应信息。其工作过程类似于军官和新兵。军官发出命令,新兵迅速响应命令。控制端口是用户发送命令的端口。 |
数据端口 |
数据端口是FTP数据文件发送到FTP服务器(ftpd)时所使用的端口。数据端口是用户传输文件的端口,一般端口号为20。 |
· FTP的主要特征
(1)控制连接。
控制连接是建立在用户协议解释器和服务器解释器之间用于交换命令与应答的通信链路。
(2)数据连接。
数据连接是传输数据的全双工连接。
(3)文件类型。
表 文件类型
ASCII文件类型 |
是默认文件类型。文本文件以NVT ASCII码形式在数据连接中传输。这要求发送方将本地文本文件转换成NVT ASCII码形式,接受方则将NVT ASCII码还原,把数据从内部表示格式转换成ASCII格式。 |
EBCDIC文件类型 |
EBCDIC(extended binary-coded decimal interchange code)字符编码,该编码采用8位二进制编码,共有256个编码状态。要求两端都是EBCDIC系统。目前美国IBM公司的系列机和日本富士通公司的M系列机均采用此编码。 |
图像文件类型 (二进制文件类型) |
在此类型下传输的数据呈现为连续的二进制比特流。通常用于传输二进制文件。 |
本地类型 |
用在本地字节大小不是8位的环境下。该方式用于具有不同字节位数的主机间传输二进制文件,每字节的位数由发送方指定。 |
· FTP的缺点
FTP具有高效的传输数据、允许远程访问文件等优点,同时也存在一些缺点。
(1)FTP用户密码和文件内容都使用明文传输,可能会产生一些安全性问题。
(2)由于需要开放一个随机端口来建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP数据流。
(3)服务器可能会被告知连接一个用户计算机的保留端口。
2.简单文件传输协议TFTP
TCP/IP协议族中还有一个简单文件传送协议TFTP(Trivial File Transfer Protocol),它是一个很小且易于实现的文件传送协议。
· FTP的用途
简单文件传输协议的应用包括:
(1)利用TFTP为打印机、集线器和路由器下载初始化代码;
(2)路由器的信息设置;
(3)引导协议(BOOTP)主机的信息设置。
· TFTP的主要特点
(1)每次传送的数据PDU中均有512字节的数据,但最后一次可以不足512字节。
(2)数据PDU也称为文件块(block),每块按顺序编号,从1开始。
(3)支持ASCII码或二进制传送。
(4)可对文件进行读或写。
(5)使用很简单的首部。
· TFTP与FTP的比较
TFTP用于从服务器请求文件然后传输文件。使用TFTP与使用电子邮件相似:首先由客户发出一个请求文件的消息,然后服务器把文件返回到本地客户系统中。
(1)TFTP协议的优势:
①TFTP能够用于那些有UDP而无TCP的环境;
②TFTP代码所占的内存要比FTP小;
③TFTP适用于只读存储器,仅用于无盘系统进行系统引导。
(2)TFTP协议与FTP协议的相同点和不同点 。
表 TFTP协议与FTP协议的异同点
TFTP协议 |
FTP协议 | ||
不同点 |
客户端验证 |
不需要验证客户端的权限 |
需要进行客户端验证 |
适用范围 |
多用于局域网以及远程UNIX计算机中 |
多用于互联网中 | |
与服务器间的通信 |
UDP |
TCP | |
功能 |
只支持文本传输,不支持交互,而且没有一个庞大的命令集。TFTP协议不允许用户列出目录内容或者与服务器协商来决定哪些是可以得到的文件。 |
支持文本传输和交互,有庞大的命令集。 | |
相同点 |
TFTP协议的作用和我们经常使用的FTP大致相同,都是用于文件传输,可以实现网络中两台计算机之间的文件上传与下载。可以将TFTP协议看作FTP协议的简化版本。 |
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com