快速业务通道

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

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-05


550

未执行请求的操作

551

请求操作中止:页类型未知

552

请求的文件操作中止,存储分配溢出

553

未执行请求的操作:文件名不合法

5. 说明

5.1. 最小实现

下面是Ftp服务器的最小实现:

类型 - ASCII Non-print

模式 - Stream

结构 - File, Record

命令 - USER, QUIT, PORT,TYPE, MODE, STRU,RETR, STOR,NOOP.

传输的默认参数为:

类型 - ASCII Non-print

模式 - Stream

结构 - File

所有主机都将上面的值作为默认值。

5.2. 连接

服务器协议解释器会在端口L侦听,用户或用户协议解释器初始化全双工控制连接,服务器和用户进程应该遵守Telnet协议的说明进行。服务器不提供对命令行的编辑功能,应该由用户负责这一切。在全部传送和应答结束后,在用户的请求下服务器关闭控制连接。用户DTP必须在指定的数据端口上侦听,它可以是默认端口U或由PORT命令指定的端口。服务器的默认数据端口为L-1。传输方向和端口均可由FTP命令决定。只有用户PI可以改变默认端口。当数据在服务器A 和B之间传送时,用户PI,C,在两个服务器PI之间建立控制连接。其中一个服务器A,在接收到传输服务命令时接收PASV命令初始化连接,用户PI接收到PASV命令的确认时(确认内包括主机标识和端口),将端口以PORT命令发送到B。在接收到确认后,用户PI可以发送相应的命令给A和B了,B初始连接和传输进程,命令应答序列如下面所示,请根据位置注意时差:

在任何时间,服务器和用户只要有一方关闭连接,另一方就要赶快读取缓冲中的数据,然后也关闭本方的连接。
上一页[1][2][3]下一页 5.3. 命令

本节主要讨论命令格式。命令对大小写不敏感。命令通常由命令码和相应的参数组成。中间由一个或几个空格分开。参数域由结束,服务器在未接收到行结束符时不会采取任何动作。下面描述的格式是以NVT-ASCII以准的,方括号代表可选的参数域,如果未选择可选的参数域则采用默认值。

5.3.1. FTP命令

下面是FTP命令,其中username代表用户名,password代表口令,pathname代表路径名,host-port代表主机端口, account-information代表帐户信息,typecode代表类型代码,decimal-integer代表十进制整数,marker代表标记,string代表字符串:

USER

PASS

ACCT

CWD

CDUP

SMNT

QUIT

REIN

PORT

PASV

TYPE

STRU

MODE

RETR

STOR

STOU

APPE

ALLO

[ R ]

REST

RNFR

RNTO

ABOR

DELE

RMD

MKD

PWD

LIST [ ]

NLST [ ]

SITE

SYST

STAT [ ]

HELP [ ]

NOOP

5.3.2. FTP命令参数

下面是用BNF范式表示的参数格式:

::=

::=

::=

::= |

::= 除和外的所有ASCII字符

::=

::= |

::= 可打印ASCII字符,从33到126

::=

::= ,

::= ,,,

::= ,

::= 从1到255的十进制整数

::= N | T | C

::= A [ ]| E [ ]| I| L

::= F | R | P

::= S | B | C

::=

::= 任何十进制整数

5.4. 命令和响应序列

服务器和用户之间的通信是对话的过程,用户发送FTP命令,然后等待服务器的一个(或多个)响应,根据响应再发送新命令。

连接时的响应带有许多信息,通常情况下,服务器会返回220应答,等待输入,用户在接收到此响应后才发送新命令,如果服务器不能立即接收输入,会在220后面返回120。有些信息如服务器将在15分钟后停止工作是要服务器发向用户的,但是服务器却不能直接发向用户,处理的方法是将消息缓冲,在下一个响应中返回给用户。下面列出命令的应答,第一个是预备应答,第二个是确定完成,第三个是拒绝完成,最后是中间应答。这些应答是构成状态图的基础,状态图会在下节中给出:

建立连接

120

220

220

421

登录

USER

230

530

500, 501, 421

331, 332

PASS

230

202

530

500, 501, 503, 421

332

ACCT

230

202

530

500, 501, 503, 421

CWD

250

500, 501, 502, 421, 530, 550

CDUP

200

500, 501, 502, 421, 530, 550

SMNT

202, 250

500, 501, 502, 421, 530, 550

退出登录

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号