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.

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

2) server response, OK

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

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

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

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

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

debug info in ftp,

>ftp -d a.b.com Connected to a.b.com (135.52.4.8). 220 a FTP server ready. Name (a.b.com:nomad2): nomad2 ---> USER nomad2 331 Password required for nomad2 Password: ---> PASS XXXX 230 User nomad2 logged in. ---> SYST 215 UNIX Type: L8 Version: SUNOS Remote system type is UNIX. Using binary mode to transfer files. ftp> passive Passive mode off. ftp> passive Passive mode on.

相关文章:

  • 2021-05-04
  • 2022-12-23
  • 2021-04-02
  • 2021-04-13
  • 2021-09-08
  • 2021-12-02
  • 2022-01-06
  • 2021-07-05
猜你喜欢
  • 2021-08-29
  • 2021-06-05
  • 2022-01-17
  • 2022-12-23
  • 2021-12-30
  • 2022-02-04
  • 2021-05-22
相关资源
相似解决方案