WEB开发网
开发学院服务器FTP服务器 从TCP/IP模型全面认识FTP 阅读

从TCP/IP模型全面认识FTP

 2007-08-18 00:00:00 来源:WEB开发网   
核心提示: 5、服务器端进行应答,应答包括服务器的IP地址和一个暂时的端口,从TCP/IP模型全面认识FTP(5),这个暂时的端口是客户端在打开数据传输连接时应该使用的端口;6、客户端发送一个SYN包,源端口为客户端自己选择的一个暂时端口,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,

5、服务器端进行应答,应答包括服务器的IP地址和一个暂时的端口,这个暂时的端口是客户端在打开数据传输连接时应该使用的端口;

6、客户端发送一个SYN包,源端口为客户端自己选择的一个暂时端口,目的端口为服务器在PASV 应答命令中指定的暂时端口号;

7、服务器端发送SYN ACK包给客户端,目的端口为客户端自己选择的暂时端口,源端口为PASV 应答中指定的暂时端口号;

8、客户端发送一个ACK包;

9、发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送( 一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认;

10、当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认;

11、客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。

下面是Passive模式FTP的开始几个步骤:

以下是引用片段:
  /=====================================================
  ||
  |[ftpClient][ftpServer]|
  ||
  |(TCP:21连接初始化,控制端口)|
  |SYN|
  |Portxxxx---------------------->Port21[TCP]|
  |SYN+ACK|
  |Portxxxx<----------------------Port21|
  |ACK|
  |Portxxxx---------------------->Port21|
  ||
  |(PASV操作:被动连接数据端口初始化)|
  ||
  |PASV|
  |Portxxxx---------------------->Port21|
  |PASVOK,IP,Portyyyy|
  |Portxxxx<----------------------Port21|
  |SYN|
  |Portzzzz---------------------->Portyyyy|
  |SYN+ACK|
  |Portzzzz<----------------------Portyyyy|
  |ACK|
  |Portzzzz---------------------->Portyyyy|
  ||
  ||
  |(数据操作:数据传输)|
  |List,RetrorStor|
  |Portxxxx---------------------->Port21|
  |Data+ACK|
  |Portzzzz<--------------------->Portyyyy|
  |.|
  |.|
  |.|
  ||
  ======================================================/

上一页  1 2 3 4 5 6 7  下一页

Tags:TCP IP 模型

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接