当前位置:首页>网络学院>服务器>Ftp服务器教程>文章内容

Linux架设FTP服务器之一

[ 来源:www.it55.com | 作者: | 时间:2007-06-29 | 收藏 | 推荐 ] 【

一、什么是FTP:文件传输协议原理


互联网文件传输协议(File Transfer Protocol ,FTP) 标准是在RFC959说明的。该协议定义了一个从远程计算机系统和本地计算机系统之间传输文件的一个标准。 一般来说,传输文件的用户需要先经过认证以后才能登录网站,然后方能访问在远程服务器的文件。而大多数的FTP服务器往往提供一个GUEST的公共帐户来允许没有远程服务器的用户可以访问该FTP服务器www.it55.com在线教程


一个FTP会话通常包括五个软件元素的交互。 sflj www.it55.com kg^&fgd


用户接口 提供了一个用户接口并使用客户端协议解释器的服务
客户 PI 客户协议解释器,其项远程服务器协议机发送命令并且驱动客户数据传输过程
服务器PI 服务器协议解释器,响应客户协议机发出的命令并驱动服务器端数据传输过程
客户 DTP 客户数据传输过程,其负责完成和服务器数据传输过程及客户端本地文件系统的通信
服务DTP 服务器数据传输过程,其负责完成和客户数据传输过程及服务器端文件系统的通信

www.it55.com在线教程


在RFC 959中,一般使用用户这个名词来指代客户。RFC 959定义了客户PI和服务器PI交互的方式和规范。用户接口与PI和DTP交互的机理都并不是协议标准的一部分。PI和DTP往往通常是在同一个程序模块中实现的。 www.it55.com在线教程


在FTP会话中,一共会存在有两个独立的网络连接,一个是由两端的PI使用的,另一个是由两端的DTP使用的。PI之间的连接一般被称作控制连接(control connection),DTP之间的连接被称做数据连接(data connection) 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


使用TCP服务的控制和数据连接

vd;k;l www.it55.com rdfg


通常情况下,FTO服务器监听端口号21来等待控制连接建立请求。而数据连接端口号的选择依赖于控制连接上命令。通常是客户发送一个控制消息来指定客户监听并等待服务器端发送数据连接建立请求的端口号。

sflj www.it55.com kg^&fgd


对数据传输和控制命令传输来使用不同的独立连接有如下优点:两个连接可以选择不同的合适服务质量,如:对控制连接来说高需要更小的延迟时间,对数据连接来说需要更大的数据吞吐量;而且可以避免实现数据流中的命令的通明性及逃逸。

http://www.it55.com/


当传输建立时,总是由客户端首先发起。然而客户和服务器都可能是数据发送者。除了传输用户请求下载文件,数据传输过程同样在客户端请求列服务器端目录结构时建立。 vd;k;l www.it55.com rdfg


1.命令选择 IT资讯之家 www.it55.com


当一个传输建立时,一般通常需要指定四个方面的属性:

www.it55.com在线教程


文件类型
该属性指定如何将文件的数据匹配成适于传输的格式,一共有四种可能的选择:

sflj www.it55.com kg^&fgd


ASCII文件类型
在发送端,文件从本地文本文件格式转换为 NVT ASCII格式,每行结束有一个CR/LF对来标识。 在接收端,再被转换为本地的文本格式。

vd;k;l www.it55.com rdfg


这说明了为什么Unix主机之间传输文本文件为何传输的数据量要大于文件的实际大小。若传输一段端或传输两端都不使用ASCII文本编码,则是应该由数据传输过程来实现本地编码和NVT ASCII 编码之间的转换。 it55.com


EBCDIC文件类型
类似于ASCII,区别仅仅上使用EBCDIC字符编码

vd;k;l www.it55.com rdfg


图象 (或二进制)文件类型
文件以本地传输内容传输,在远端以同本地完全相同的内容存储。

sflj www.it55.com kg^&fgd


本地文件系统
用在字节大小不是8位的环境下。没字节位数由发送者指定。

IT资讯之家 www.it55.com


在实际应用中,只有ASCII和图象格式使用的较多。 www.it55.com在线教程


格式控制
该属性是和将文本文件最后传送到打印设备相关的,其中有多种方式来实现将垂直格式信息编码到文件中,包括指示一个新页开始的方式。有如下方式可供选择:

it55.com


无须打印格式控制,这是缺省值
Telnet打印控制,在telnet协议中定义的控制字符包含在数据流中。.
Fortran打印控制,
该属性在实际中很少使用。 it55.com


结构
文件可以拥有内部结构,在传输中该结构被保留。由数据传输过程来负责在传输中的结构及本地结构之间相互匹配,有三种可能性: http://www.it55.com/


文件结构
这实际上意味着文件被看作没有内部结构的连续的字节流。

IT资讯之家 www.it55.com


记录结构
文件是有一系列记录组成的结构。这只适用于文本文件。

http://www.it55.com/


页面结构
也可以称做块结构。每一页都伴随一个页号来传输,从而以顺序的方式来完成传输。 IT资讯之家 www.it55.com


页面结构很少在实际中遇到。记录结构也不是很常见。对于文本文件使用ASCII文件类型可以获得相同的效果。 IT资讯之家 www.it55.com


传输模式
该属性可以取三个不同的值: vd;k;l www.it55.com rdfg


流模式
文件的以字节流的方式传输。 it55.com


块模式
文件以一个块连接一个块的方式传输,每个块的开头都有一个头。 www.it55.com在线教程


压缩模式
一个简单的运程长度压缩编码被应用,来压缩连续的相同的字节。

it55.com


实际中,一般只有流模式被使用。而压缩一般通过使用各种其他的工具程序来获得。 IT资讯之家 www.it55.com


当一次传输被建立,客户端一般指定一个或多个前面说明的属性。若服务器端不能支持某个选项,服务器将用一个错误信息来响应客户端,并不具有协商机制。

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


FTP提供了充足的命令来使用户和远程建立连接并访问远程文件系统。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


2.命令格式

http://www.it55.com/


命令以NVT ASCII串的格式被传输。每个命令以三个或四个大写的NVT ASCII字符开始,后面带有选项参数和一个CR/LF对来标识命令结束 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


应答由三个NVT ASCII数字及一个选项消息组成。

免费资源www.it55.com


一个长的应答也许会有多个消息组成,第一个消息的三个数字后带有一个破折号,最后的消息不带有破折号。中间的消息无须携带三个数字,但是如果带了三个数字,则也需要破折号。

www.it55.com


下面是所有的命令的列表。带有星号的命令一般很少使用,所以往往在具体实现中不支持。 IT资讯之家 www.it55.com


String Meaning
ABOR 放弃传输
*ACCT 某些系统将帐号和用户与文件系统相关联
*ALLO 为即将传送的文件分配空间。后面携带的参数来确定字节数
*APPE 将文件附加到已经存在的文件后面
CDUP 在远程系统上将当前目录切换到上级父目录

(编辑:IT资讯之家 www.it55.com

返回顶部
共2页: 上一页 1 [2] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章