`
gaofen100
  • 浏览: 1187560 次
文章分类
社区版块
存档分类
最新评论

TCP/IP 详解 卷1 ch27 FTP: 文件传送协议

 
阅读更多

1. FTP 采用2个TCP连接来传输一个文件

1) 控制连接以CS方式建立, server port is 21.

2) 当一个文件在客户端和服务器端之间传输时,就创建一个数据连接。

2. Data Representation数据表示的4个方面

文件类型、格式控制、结构、传输方式

3. 应答代码三位数字每位都有一定的意义,第一位确定响应是好的,坏的还是不完全的,通过检查第一位,用户进程通常就能够知道大致要采取什么行动了。如果用户程序希望了解出了什么问题,可以检查第二位,第三位留表示其它信息。

第一位有五个值:


1yz 确定预备应答 请求的操作正在被初始化;在进入下一个命令前等待另外的应答。这类响应用于说明命令被接受,在实现中如何同步监视有困难,用户进程现在可以关注数据连接了。服务器FTP进程对第个命令几乎都返回1yz响应。

2yz 确定完成应答 要求的操作已经完成,可以执行新命令。

3yz 确定中间应答 命令已接受,但要求的操作被停止,停止接收更新的信息。

4yz 暂时拒绝完成应答 未接受命令,要求的操作未执行,但错误是临时的,过一会儿可以再次发送消息。用户应该返回命令序列的开始。这个暂时可是不好确定,此命令的意思就是让用户进程再次尝试使用此命令。

5yz 永远拒绝完成应答 它与暂时拒绝完成应答的区别就在于错误条件是一时半会不会消失。

下面我们来看看第二位所代表的意义:

x0z 格式错误;

x1z 此类应答是为了请求信息的;

x2z 此类应答是关于控制和数据连接的;

x3z 关于认证和帐户登录过程;

x4z 未使用;

x5z 此类应答是关于文件系统的;

第三个数字是在第二个数字的基础上对应答内容的进一步细化。

4. 连接管理

1) port command, client need to upload a file, and selected port is 3662.

2) server response, OK

3) client run "put 1", and server setup a TCP connection for Data transfer, and selected port is 4566.

4) after data transfer done, client close the TCP connection, then server close the TCP connection, and server response with 226, transfer complete.

debug info in ftp,

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics