当前位置:早雪网网络学院编程文档文件格式 → 文件传输协议(File Transfer Protocol, FTP)

文件传输协议(File Transfer Protocol, FTP)

减小字体 增大字体 作者:未知  来源:从互联网收集整理并转载  发布时间:2005-3-13 2:01:08
TP还允许有不同的文件结构,下面是三种文件结构:文件式结构:文件中没有内部结构,文件被看作是二进制流;记录结构:文件是由一系列记录组成的;页结构:文件是由不同的索引页组成的。

如果未使用STRU命令,文件结构是默认值。文件的结构会影响传输模型,存储和数据表示。文件本来的属性和保存它的主机有关,不同的机器会以自己的方式保存文件。在不同主机间传送文件时必须使主机能够识别相互的表示。有些主机上的文件是面向字节的,有些是面向记录的,在传送时就会出现问题。那就要在接收方进行内部转换。在进行转换的时候,需要区别记录的边界,在ASCII中使用<CRLF>,在EBCDIC中使用<NL>作为分隔符。采用这种实现方法的必须保证转换是可逆的。

3.1.2.1. 文件结构

如果未使用STRU命令,文件结构是默认值。文件结构中没有默认值,文件被看作是连续的字节串。

3.1.2.2. 记录结构

对于文本文件,记录结构必须是所有FTP实现必须有的。记录结构文件是由连续的记录构成的。

3.1.2.3. 页结构

文件是非连续时使用页结构。这种文件称为随机访问文件。这些文件中有时会的和文件整体或部分相关的信息出现。在FTP中,文件的一个部分称为页。为了提供不同的页大小和相关信息,每页都带页头发送。页头中有如下域:

头长度

包括此字节的页头长度,单位为字节,最小长度为4

页索引

指出此部分在原文件中的位置,它和传输编号不是一回事

数据长度

页数据中的逻辑字节数,最小值为0

页类型

页的类型有以下几种:0=未页,指示传输结构,包头必须为4,数据长度必须为0;1=通常页,没有控制信息的通常页文件的普通类型;2=描述子页,用于传送整体文件的描述信息;3=访问控制页,包括页级访问控制信息的页文件头域,包头长度必须为5

可选域

提供每页的控制信息

所有域均以1个逻辑字节长度为大小,逻辑字节长度由TYPE命令指定。如果读取版本与和开始版本号一致,文件访问时必须以相同的参数进行。如果参数相同,FTP实现要保证取得的文件内容是相同的。

3.2. 建立数据连接

传送数据机制包括建立连接选择数据参数。用户和服务器DTP有默认数据端口。用户进程默认数据端口和控制连接端口相同。服务器进程默认数据端口和控制连接端口相邻。传输字节大小是8位字节。此字节是实际传输字节,但不代表主机内的数据表示。被动数据传输进程在数据端口接收数据,FTP请求命令决定数据传输的方向。服务器在接收到请求以后,将初始化端口的数据连接。当连接建立后,传输在DTP之间传送,服务器PI对用户PI返回应答。FTP实现运行一个默认数据端口,用户PI才能改变默认端口。

通过PORT命令可能改变端口,用户可能希望数据在第三方主机上进行其它操作,用户PI需要在两个服务器PI上建立连接。一个服务器被告知侦听另一服务器的请求。用户PI通过PORT命令通知另一服务器的数据端口。最后双方发送相应的传送命令。通常,服务器负责支持数据连接,初始化并关闭它,除非用户DTP在传输模式下要求关闭连接。服务器在下面情况下关闭数据连接:

1. 服务器结束发送数据,通过EOF要求中止传送;

2. 用户发送ABORT命令;

3. 用户改变端口;

4. 控制连接关闭;

5. 发生不可恢复错误。

3.3. 数据连接管理

默认数据连接端口:所有FTP必须支持默认数据连接,只有用户PI能够初始化非默认端口的使用。

确定非默认数据端口:用户PI可以使用PORT命令指定非默认端口,它要求服务器方以PASV确定非默认数据端口。连接是由双方地址确定的,因此改变一方地址就改变了连接。

数据连接的重用:在使用流式数据传输模型时,文件结束通过关闭连接指示。如果要传送多个文件

上一页  [1] [2] 


Tags:文件,传输,协议,File,Transfer,Protocol,FTP
[数据载入中...] [返回上一页] [打 印]