ftp简略翻译

翻译 2002年11月18日 09:13:00

                           FTP  工作原理<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一:FTP的目标

1)      扩大文件共享;

2)      鼓励对远程计算机的间接使用;

3)      使用户免受不同主机之间不同文件存储系统的困扰;

4)      可靠,高效的数据传输;

二:主要术语

1)  控制连接(control connection :用户和服务器之间的通信路径之一,用于交换命令和响应信息。采用TELNET协议规则。

2)  数据连接(data connection):采用全双工工作模式,以特定的模式和类型传输数据。传输的内容可以是一个文件的一部分,一个完整的文件,或多个文件。传输路径可位于用户_DTP和服务器_DTP之间,或是两个服务器之间。

3)  数据传输进程(data transfer process ):建立,管理数据连接,可以是主动的,也可以是被动的。

4)  响应(reply):由服务器经由控制连接发给用户的响应其FTP命令的确认信息。

响应通常的形式是包括错误代码,文本字符串在内的编码。代码由程序处理,本文信息提供给用户使用。

5)  服务器数据传输进程(server_ DTP) server_DTP通常处于“主动”状态,它在用于侦听的数据端口建立连接。他负责建立用于传输和存储的参数集,并依靠它的协议解释器接收的命令传输数据。

6)  服务器_FTP进程(server_FTP  process):是一个或多个进程,它们执行与用户FTP进程或另一个服务器进程通信的文件传输功能。这些功能包括协议解释和数据传输处理。

7)  服务器-协议解释器(server—protocol interpreterserver_PI):它在端口’L’上侦听来自客户的连接信息并建立控制通信连接。他接收来自用户的标准的FTP命令,发送响应信息,并管理服务器_DTP;

8)  用户_DTPuser_DTP):用户_DTP在数据端口上侦听来自服务器_FTP进程的连接信息。

9)  用户_FTP 进程(user_FTP process):是包括PI, DTP和一个用户接口在内的功能集合,它们共同执行与一个或多个FTP服务器进程进行文件传输的功能。

三:工作模式

1

    用户协议解释器(user_PI) 启动控制连接,控制连接遵守TELNET协议规则,用户初始化好之后,由user_PI生成标准FTP命令,并经控制连接将它传送给服务器,由server_PIuser_PI经控制连接发出对用户命令的响应信息。

FTP命令指定建立数据连接所需的参数,和对文件系统要作的操作。

user__DTP在指定的数据端口进行侦听,服务器启动数据连接和执行指定参数的数据传输。

    其工作原理图如图所示:

 

 

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

Data connection

FTP commands

FTP replies

Server_PI

Server_DTP

文件系统

  user interface

  User

  PI

   User

  DTP

File

System

User

 Server  FTP

User  FTP

<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
 


2

   另一种情况是用户想在两个主机之间传输数据,这两个主机都不是本地的。用户与两个主机建立控制连接,并安排它们之间的数据连接。在这种模式下,控制信息由user_PI发出,但数据在两个server_DTP之间传递。工作原理图如下:

Server_FTP

   “A”

Server_FTP

   “B”

User_FTP

User_PI

Control

Control

Data connection


 



      

命令分类

1)  存取控制命令 access control commands):设置登录帐户和密码,使用权限。

例:USER--- user name ;    PASS—password ;     ACCT ---account; 

CWD---change working directory;  CDUP---change to parent directory

SMNT—structure mount(设置新的传输结构);  REIN---reinitialize(更换登录帐号);      QUIT---logout

2)  设置传输参数命令( transfer  parameter  commands):所有的数据传输参数都有默认值,在想改变默认值时,用这些命令设定自己的值;

例:PORT—data port(改变默认数据端口) ; 

PASV—passive (server_DTP设置为被动状态,使其在数据端口进行侦听数据连接,而不是启动一个数据连接);

TYPE---represention type (设置文件的表示类型);

STRU---file structure(设置文件结构)

 MODE---transfer  mode (设置传输模式)

3)  FTP 服务命令(FTP service commands):定义文件传输和文件系统功能,通常需要的

       参数是路径名(pathname)

      例:RETR—retrieve:该命令使服务器_DTP传输路径名指定的文件副本到数据连接另一端的服务器或用户DTP;

          STOR---store:该命令使服务器DTP接收经数据联接传输过来的数据,并将其作为文件存在服务器上。

          APPE---append ; ALLO—allocate ;  REST---restart(重传)RNFR—rename from;

          RNTO---rename to ; ABOR---abort ;  DELE---delete; REM—remove directory;

          MKD---make directory;PWD---print working directory; LIST—list ;

NLST—name list; SITE---site parameters ; SYST---system; STAT---status;

HELP---help;

  六:传输参数介绍

1:数据类型(data types):用于TYPE命令,即presention type

1)  ASCII 类型;

这是默认的值,所有FTP执行程序必须可接收该值,它一般用于传输文本文件。发送端将数据从内部字符表示类型转换为标准的8NVT-ASCII类型,然后接收端再将它转换为本机内部格式。

2)  EBCDIC 类型:

这种类型适用于在两个都采用EBCDIC作为其内部格式的主机之间的高效传输。在传输过程中,数据使用8位的EBCDIC字符表示。

3)  IMAGE 类型:

采用这种类型时,数据打包成8位传输字节作为连续位进行传送。接收方必须将这些数据作为连续的位进行存储。该类型适用于高效存储,文件恢复和二进制数据传输,推荐这种类型应被所有FTP执行程序接受。

4)  LOCAL类型:

采用这种类型时,数据以指定的逻辑字节大小传输时,必须在第二个参数上指定字节大小。表示字节大小的值必须是十进制整数。逻辑字节大小不一定和传输字节大小相同。当它们不同时,数据将以逻辑字节进行连续打包,而不管传输字节的边界,并在结尾进行必要的填充。

2:数据结构(data structure):用于STRU命令。

   作为表示类型的补充,FTP必须指定文件结构。在FTP中定义有三种文件结构:

1)  file-structure :文件被看作连续的数据字节序列,没有内部结构。

2)  record-structure:文件由连续的记录组成。

3)  page-structure:文件由独立的索引页组成。

3:传输模式(transmission modes):用于MODE命令。

   有三种传输模式:流模式,块模式和压缩模式。所有数据传输必须以EOF结尾,它可以明示或暗示关闭数据联接。

   1):流模式(stream mode)

数据以字节流的形式传送时,对使用的表示类型没有限制,允许文件使用记录结构。如果使用了文件结构,则传输结尾的EOF标示将表示关闭数据联接。

   2):块模式(block mode):

       在该模式下,文件以一系列数据块形式传送,每个数据块都有头字节,头字节可以是一个或多个字节。头字节包括一个值域和描述编码。值域指明该数据块有多少个字节,从而也就表明了下一个数据块的起始位。描述编码定义的内容有:128—数据块的结尾是EORend of record;64--数据块的结尾是EOFend of file;32—数据块中可能有错误的数据;16—数据块是重传标示符。

4)  压缩模式( compressed mode)

该模式有三种传送形式:

 

 


 

如果表示形式是ASCIIEBCDIC码,则填充字节是<SP>即空格。如果是图象类型(image type)或本地类型(local type) 则填充字节是0(零)。

(翻译)读文章--R-CNN

Rich feature hierarchies for accurate object detection and semantic segmentation的翻译文章,没有对语义分割部分进行翻译...
  • u010970698
  • u010970698
  • 2016年10月12日 21:47
  • 3659

用java做一个简单的英文翻译程序

1.功能简介 将文本文件中的英文转换为对应的中文 词库如下: 源文件: 翻译后的文件: 输入源文件路径,将翻译后的内容输出到result.txt文件中。 2.重要技术 ...
  • bobo1356
  • bobo1356
  • 2016年10月22日 15:12
  • 2918

C#调用微软在线翻译API实现简单的翻译功能

一直喜欢用Google Translate API进行在线翻译,但是,后来,大家都知道的,Google的服务越来越慢,无法忍受,只好寻找更快的在线翻译接口,后来找到Microsoft Translat...
  • linshichen
  • linshichen
  • 2016年05月27日 17:05
  • 1446

【翻译】Ubuntu中编译Linux内核的简略方法

本文转自http://www.cnblogs.com/liuyanghejerry/archive/2011/03/19/1988843.html   以下的内容来自于http://www.cy...
  • yihua0607
  • yihua0607
  • 2011年10月13日 16:19
  • 568

集合工具类Collections用法(API简略翻译)

翻译了下Collections的API文档。
  • violetjack0808
  • violetjack0808
  • 2016年04月13日 15:29
  • 431

STM32 stdint.h简略翻译

一定要看: 由于本人英语水平有限,且初学STM32,在翻译过程中出现错误,遗漏,不当之处在所难免,因此希望各位若发现错误请麻烦抖抖你的手指,敲出我的错误,本人非常渴望您的指正,以免害己害人! 看本文注...
  • you1314520me
  • you1314520me
  • 2013年10月13日 13:44
  • 1099

STM32 头文件stdint.h简略翻译

  • 2013年10月13日 14:10
  • 128KB
  • 下载

简略收集GO语言使用技巧

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。jin年来,越来越多人尝试运用GO语言,下面是简略收集一下GO语言的使用技巧,欢迎大家继续补充更多: ...
  • Trustauth
  • Trustauth
  • 2018年01月09日 11:44
  • 27

MAC泛洪攻击实现简略版

一、环境搭建 二、实现步骤 1、主机C(攻击机)的IP查询和ARP表查询: 主机A(服务机)的IP查询和ARP表查询: 主机B(客户机)的IP查询和ARP表查询: 2、攻击机pi...
  • chengxuya
  • chengxuya
  • 2017年12月19日 23:16
  • 39

CocoaPods / Pod 安装简略步骤

项目中用到CocoaPods来管理第三方库文件
  • mapboo
  • mapboo
  • 2014年11月11日 11:24
  • 6927
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ftp简略翻译
举报原因:
原因补充:

(最多只允许输入30个字)