当前位置:首页>科技>文件传输使用的协议ftpFTP文件传输协议详解
发布时间:2026-07-25阅读(0)
FTP文件传输协议是应用层实现的一种通过网络传输文件的协议,这种协议采用C/S架构(即客户端/服务器模式)。

C/S架构
FTP采用双连接的方式来进行文件的传输(TCP或UDP连接均可):
控制连接用于服务器和客户端之间命令的交互以及响应,而数据连接则用于文件数据的传输。
一个FTP控制连接的建立过程通常如下:

文件传输中的处理过程
模式选择
文本格式以ASCII码形式在数据连接中传输。这就要求发送方将本地文件转换为ASCII码形式,而接收方 再将ASCII码还原成本地文件。采用ASCII码形式传输,每一行都带有一个回车字符,而后是一个换行符。这就意味着接收方需要扫描每一个字节,查找CR,LF对。
数据发送呈现为一个连续的比特流。通常用于传输二进制文件。
格式控制--
文件不含有垂直格式信息。
结构--
文件被认为是一个连续的字节流,不存在内部的文件结构。
传输方式--
文件以字节流的形式传输。对于文件结构,发方尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
FTP命令
命令和应答在客户和服务器的控制连接上以ASCII码形式传送。以下为常用的FTP命令:

FTP命令
FTP应答
应答都是ASCII码形式的3位数字,并跟有报文选项。其原因是软件系统需要根据数字代码来决定如何应答,而选项串是面向人工处理的。由于客户通常需要输出数字应答和报文串,一个可以交互的用户可以通过阅读报文串来确定应答的含义。
下图是应答代码第1位和第2位的含义。

FTP应答报文解析
第3位数字给出差错报文的附加含义。以下是一些典型的应答:
如果需要产生一条多行应答,第1行在3为数字应答代码之后包含一个连字号,而不是空格。如:

报文示例
连接管理
数据连接有以下三大用途:
FTP把文件列表从数据连接上发回,而不是从控制连接上多行发回,这就避免了行的有限性对目录大小的限制,而且更易于客户将目录列表以文件形式保存,而不是把列表显示在终端上。
在上面的介绍中,我们简单叙述了一个FTP控制连接的建立过程,下面介绍FTP数据连接的建立过程。
由于通用的传输方式是采用流方式进行传输,这种传输方式的特点是结尾以关闭数据连接为标志。这就意味着每一个文件和文件列表的传输都要建立一个全新的数据连接。其过程一般如下:
下图是这个过程的简单示例:

控制连接过程
服务器总是执行数据连接的主动打开。通常也执行数据连接的主动关闭,除非当客户端向服务器发送流形式的文件时,需要客户来关闭连接(它给服务器一个文件结束的通知)。
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图