ftp是什么 ftp数据传输
admin
2023-10-31 16:03:32

FTP文件传输协议是应用层实现的一种通过网络传输文件的协议,这种协议采用C/S架构(即客户端/服务器模式)。

ftp是什么 ftp数据传输

C/S架构

FTP采用双连接的方式来进行文件的传输(TCP或UDP连接均可):

控制连接;数据连接;

控制连接用于服务器和客户端之间命令的交互以及响应,而数据连接则用于文件数据的传输。

一个FTP控制连接的建立过程通常如下:

服务端打开用于FTP控制连接的TCP端口21(标准),等待FTP客户端的连接。当客户端需要登陆FTP服务器时,主动打开本地TCP端口21,与服务端建立连接(控制连接)。该连接始终等待客户和服务器之间的通信,将命令从客户端传递到服务器,并传回服务器的应答。每当需要文件传输时,就创建一个数据连接。大致过程如下图:

文件传输中的处理过程

模式选择

ASCII码文件类型(默认选择)

文本格式以ASCII码形式在数据连接中传输。这就要求发送方将本地文件转换为ASCII码形式,而接收方 再将ASCII码还原成本地文件。采用ASCII码形式传输,每一行都带有一个回车字符,而后是一个换行符。这就意味着接收方需要扫描每一个字节,查找CR,LF对。

二进制文件类型

数据发送呈现为一个连续的比特流。通常用于传输二进制文件。

格式控制--

非打印(默认选择)

文件不含有垂直格式信息。

结构--

文件结构(默认选择)

文件被认为是一个连续的字节流,不存在内部的文件结构。

传输方式--

流方式(默认选择)

文件以字节流的形式传输。对于文件结构,发方尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。

FTP命令

命令和应答在客户和服务器的控制连接上以ASCII码形式传送。以下为常用的FTP命令:

FTP命令

FTP应答

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

下图是应答代码第1位和第2位的含义。

FTP应答报文解析

第3位数字给出差错报文的附加含义。以下是一些典型的应答:

125 数据连接已经打开;传输开始。200 就绪命令。214 帮助报文(面向用户)。331 用户名就绪,要求输入口令。425 不能打开数据连接。452 错写文件。500 语法错误(未认可的命令)。501 语法错误(无效参数)。502 未实现的MODE(方式命令)类型。

如果需要产生一条多行应答,第1行在3为数字应答代码之后包含一个连字号,而不是空格。如:

报文示例

连接管理

数据连接有以下三大用途:

从客户向服务器发送一个文件;从服务器向客户发送一个文件;从服务器向客户发送文件或目录列表;

FTP把文件列表从数据连接上发回,而不是从控制连接上多行发回,这就避免了行的有限性对目录大小的限制,而且更易于客户将目录列表以文件形式保存,而不是把列表显示在终端上。

在上面的介绍中,我们简单叙述了一个FTP控制连接的建立过程,下面介绍FTP数据连接的建立过程。

由于通用的传输方式是采用流方式进行传输,这种传输方式的特点是结尾以关闭数据连接为标志。这就意味着每一个文件和文件列表的传输都要建立一个全新的数据连接。其过程一般如下:

由于是客户发出命令要求建立数据连接的,所以数据连接是在客户的控制下建立的。客户通常需要在本地主机上打开一个临时端口号,从该端口号发布一个被动的打开。客户使用PORT命令从控制连接上把端口号发向服务器。服务器在控制连接上接收到端口号后,并向客户端主机上的端口发布一个主动的打开,这样服务器和客户端就建立了一条数据连接通信。对于服务器,数据连接端口号一直使用端口20。

下图是这个过程的简单示例:

控制连接过程

服务器总是执行数据连接的主动打开。通常也执行数据连接的主动关闭,除非当客户端向服务器发送流形式的文件时,需要客户来关闭连接(它给服务器一个文件结束的通知)。

相关内容

热门资讯

十字架的车标是什么车 十字架车... 作为一款经典的礼宾车,林肯领袖一号十字盾形车标镶嵌在车头的正中位置,特别醒目,极有视觉冲击力,磅礴大...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...