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

从TCP/IP模型全面认识FTP

 2007-08-18 00:00:00 来源:WEB开发网   
核心提示: 5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,从TCP/IP模型全面认识FTP(2),暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;7、 服务器端发送一个ACK包;8、 发送数据的主机以这个连

5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;

6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;

7、 服务器端发送一个ACK包;

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

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

10、 客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。

下面是FTP PORT模式前几步步骤:

以下是引用片段:
  /==================================
  ||
  |[ftpClient][ftpServer]|
  ||
  |(TCP:21连接初始化,控制端口)|
  |SYN|
  |Portxxxx---------------------->Port21[TCP]|
  |SYN+ACK|
  |Portxxxx<----------------------Port21|
  |ACK|
  |Portxxxx---------------------->Port21|
  ||
  |(控制操作:用户列目录或传输文件)|
  ||
  |Port,IP,Portyyyy|
  |Portxxxx--------------------àPort21|
  |PortSeccussful|
  |Portxxxx<----------------------Port21|
  |List,RetrorStor|
  |Portxxxx---------------------->Port21|
  ||
  ||
  |(TCP:20连接初始化,数据端口)|
  |SYN|
  |Portyyyy<----------------------Port20|
  |SYN+ACK|
  |Portyyyy---------------------->Port20|
  |ACK|
  |Portyyyy<----------------------Port20|
  ||
  ||
  |(数据操作:数据传输)|
  |Data+ACK|
  |Portyyyy<--------------------->Port20|
  |.|
  |.|
  |.|
  ||
  ==================================/

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

Tags:TCP IP 模型

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