首页 通信协议之FTP协议ftp协议详解

通信协议之FTP协议ftp协议详解

举报
开通vip

通信协议之FTP协议ftp协议详解l 通信协议之FTP协议完全详解 1. 介绍 FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。 2. 概览 在本节中我们将讨论一些表面上的问题,有些名词的定义请参阅TCP和Telnet参考文献。我们先介绍一下(1)字节大小,在FTP中字节大小有两个:逻辑字节大小和用于传输的字节大小。后者通常是8位,而前者可不一定是多少了。传输字节不...

通信协议之FTP协议ftp协议详解
l 通信协议之FTP协议完全详解 1. 介绍 FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。 2. 概览 在本节中我们将讨论一些表面上的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,有些名词的定义请参阅TCP和Telnet参考文献。我们先介绍一下(1)字节大小,在FTP中字节大小有两个:逻辑字节大小和用于传输的字节大小。后者通常是8位,而前者可不一定是多少了。传输字节不必等于逻辑字节大小,也不必对数据结构进行解释。(2)控制连接是建立在USER-PIT和SERVER-PI之间用于交换命令与应答的通信链路。(3)数据连接是传输数据的全双工连接。传输数据可以发生在服务器DTP和用户DTP之间也可以发生在两个服务器DTP之间。(4)DTP:数据传输过程(DTP)建立和管理数据连接,DTP可以是主动的也可以是被动的。(5)EOR代表记录尾。(6)NTV代表网络虚拟终端,它的定义与在Telnet协议中的定义一致。(7)NVFS代表网络虚拟文件系统。(8)FTP可以传输非连续的文件,这些文件的一部分称为页。(9)PI代表协议解释器。(10)服务器DTP代表一种传输过程,它通常处于“主动”状态,它和侦听端口建立数据连接,它还可以为传输和存储设置参数,并根据PI的指令传输数据。当然,DTP也可以转入“被动”状态。(11)服务器FTP进程,它是和用户FTP进程一起工作的,它由PI和DTP组成。至于用户FTP进程则是由PI,DTP和用户接口组成的。下图是FTP服务示意图: 注意:数据连接是双向的,它不用整个时间都存在。上图中用户PI开始控制连接,控制连接与Telnet协议很象。在开始阶段,标准FTP命令由用户PI产生并通过控制连接传送到服务器进程。服务器PI向用户PI返回标准应答。FTP命令指定数据连接参数和文件系统操作。用户DTP在特定数据端口侦听,服务器开始数据连接并以指定的参数开始数据传输。数据端口不必在开始FTP命令的机器上,但用户或用户FTP进程必须确定它在指定的数据端口上侦听。这个数据连接是全双工的。 在另外一种情况下,用户或许希望在两个主机间传送文件,不是两个本地主机。用户在两台主机间建立控制连接,然后规划数据连接。用这种方式,控制信息由用户PI获得,但是数据在服务器DTP之间传送。下面就是一个例子: 协议要求数据传输在处理时打开控制连接。在完成FTP服务后由用户中止控制连接,而服务器具体操作。如果在未接收命令时关闭了控制连接,服务器也会关闭数据传输。FTP和Telnet很有联系,FTP使用Telnet协议进行控制连接,可有两种方法达到目的:用户PI或服务器PI可以在自己的过程中实现Telnet协议的功能;第二种方法是利用系统中现有的Telnet模块。实现上,FTP对Telnet协议的依赖也不多,即使重新实现,代码量也不大。 3. 数据传输功能 数据连接只传输数据,控制连接传送命令和响应。几个命令是关于在主机间传输数据的,数据传输基本上独立于物理结构的,但是如果在压缩传输模式下流式传输与文件结构有关,文件的属性与表示类型有关。 3.1. 数据表示与保存 数据是在主机间的存储设置间传送的。因为两个系统的数据存储方式不同,因此需要对它进行转换,在传送文本时会有对ASCII表示的问题,在进行二进制传送的时候,会有不同系统对字节长度规定不同的问题,有的系统是7位,有的系统可能是32位,这也需要进行转换。需要提供数据表示与传输模型函数,但是FTP提供这方面的功能不多,超过FTP提供功能的那一部分要用户自己实现。 3.1.1. 数据类型 数据表示是由用户指定的表示类型,它可以是隐含的,也可以是用户指定的。请一定注意:逻辑字节长度与物理字节长度是不同的。 3.1.1.1. ASCII类型 这是所有FTP必须实现的默认类型,用于传送文本文件,当在主机间使用EBCDIC传送时更方便,则不使用ASCII类型。发送方将内部表示转换为NVT-ASCII格式,接收方则进行相反的过程接收数据。根据NVT标准,要在行结束处使用序列。NVT-ASCII是8位的。ASCII和EBCDIC的格式参数在下面讨论。 3.1.1.2. EBCDIC类型 它是作为ASCII的另一种方法在主机间传送数据的数据类型。EBCDIC和ASCII很象,仅在类型的功能描述上有一些差别。行结束符使用很少。 3.1.1.3. 图象类型 在此类型下传送的数据被看作连续的位,发送方将数据打包到8位传输字节中传送。因为结构的需要要对传送数据进行填充,填充字节全部为0,填充必须在文件结构时使用,而且要标记出以便接收方过滤掉。它用于传送二进制数据和有效地传送和存储文件,因此所有FTP也必须实现。 3.1.1.4. 本地类型 也可以以十进制指定逻辑字节大小。如果物理字节大小和逻辑字节大小不同,直接将物理数据打包为逻辑字节,不用什么填充。接收方根据逻辑字节大小进行和本机的存储特点进行转换。传输必须是可重复的,也就是说,相同的文件相同的参数,那内容必须是一样的。 3.1.1.5. 格式控制 ASCII和EBCDIC有一个可选参数,它说明文件垂直格式控制,下面的数据表示类型在FTP中有定义。字符文件可能有三种用途,打印,存储或留待以后处理。如果是用于打印,那主机必须知道垂直格式控制的表示,如果存储或等以后处理,也需要保留文件格式。如果在远程主机上处理完后传输回本地主机,要保证远程主机处理时没有麻烦。这都需要在ASCII和EBCDIC格式上加入新的参数。 3.1.1.5.1. NON PRINT 未指定第二个参数是它是默认值。它必须为所有FTP接受。如果传输的文件是用于打印的,则使用边界和间隔的默认值。通常它不用于打印目的,而用于保存文件或执行文件。 3.1.1.5.2. TELNET格式控制 文件包括ASCII/EBCDIC垂直格式控制,这些控制字符可以使打印正常进行。 3.1.1.5.3. CARRIAGE CONTROL (ASA) 文件包含ASA (FORTRAN)垂直格式控制字符。在以ASA标准形成的行中,第一个字符不打印,它用于决定打印前的走纸量。下面是定义了的ASA字符: blank: 向下移动1行;0:向下移动2行;1:移动至下一页;+:不移动 打印机必须能够决定结构体的结束。如果文件本身有记录结构就没有问题,如果没有,用于区别打印行,但这些格式标记已经由ASA控制字符使用了。 3.1.2. 数据结构 除了有不同的数据类型外,FTP还允许有不同的文件结构,下面是三种文件结构:文件式结构:文件中没有内部结构,文件被看作是二进制流;记录结构:文件是由一系列记录组成的;页结构:文件是由不同的索引页组成的。 如果未使用STRU命令,文件结构是默认值。文件的结构会影响传输模型,存储和数据表示。文件本来的属性和保存它的主机有关,不同的机器会以自己的方式保存文件。在不同主机间传送文件时必须使主机能够识别相互的表示。有些主机上的文件是面向字节的,有些是面向记录的,在传送时就会出现问题。那就要在接收方进行内部转换。在进行转换的时候,需要区别记录的边界,在ASCII中使用,在EBCDIC中使用作为分隔符。采用这种实现方法的必须保证转换是可逆的。 3.1.2.1. 文件结构 如果未使用STRU命令,文件结构是默认值。文件结构中没有默认值,文件被看作是连续的字节串。 3.1.2.2. 记录结构 对于文本文件,记录结构必须是所有FTP实现必须有的。记录结构文件是由连续的记录构成的。 3.1.2.3. 页结构 文件是非连续时使用页结构。这种文件称为随机访问文件。这些文件中有时会的和文件整体或部分相关的信息出现。在FTP中,文件的一个部分称为页。为了提供不同的页大小和相关信息,每页都带页头发送。页头中有如下域: 头长度 包括此字节的页头长度,单位为字节,最小长度为4 页索引 指出此部分在原文件中的位置,它和传输编号不是一回事 数据长度 页数据中的逻辑字节数,最小值为0 页类型 页的类型有以下几种:0=未页,指示传输结构,包头必须为4,数据长度必须为0;1=通常页,没有控制信息的通常页文件的普通类型;2=描述子页,用于传送整体文件的描述信息;3=访问控制页,包括页级访问控制信息的页文件头域,包头长度必须为5 可选域 提供每页的控制信息     描述子 8位 字节计数 16位     描述子代码由在描述子字节中的位标记说明,下面是已经指定的四种代码及其意义: 代码 意义 128 数据块结束是EOR 64 数据块结束是EOF 32 数据块内有怀疑错误 16 数据块是重新开始标记     以这种编码,对于特定块可能存在多个描述子编码条件,所需要的位必须全部设置。重新开始标记包括在数据流中,它作为8位整数代表在控制连接上使用语言的可打印字节,但不得出现在其中。例如要传送6字节标记,下面就是例子: Descrptr code = 16 Byte count = 6     Marker 8位 Marker 8位 Marker 8位       Marker 8位 Marker 8位 Marker 8位       3.4.3. 压缩模式 有三种信息需要传送:常规数据以字节串传送;压缩数据,包括复本和过滤器;控制信息,以两个转义字符传送。如果有N(>0但小于127)个常规数据传送,在数据前一位加上一个字节,这个字节最高位为0,其它位表示的数值等于N。如下图:
本文档为【通信协议之FTP协议ftp协议详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:33KB
软件:Word
页数:7
分类:互联网
上传时间:2018-11-24
浏览量:12