从TCP/IP模型全面认识FTP

80酷酷网    80kuku.com

  

  1. FTP协议概述

  FTP是文件传输协议(File Transfer Protocol )的简称。FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP连接是可靠的,而且是面向连接,为数据的传输提供了可靠 的保证。

  FTP工作模式与客户/服务器模式相似。与大多数的其他TCP应用不相同的是,FTP在客户与服务器之间使用两个个TCP连接―――控制连接和数据连接,控制连接在客户与服务器交互的整个过程中一直存在,而数据连接只在有文件或目录传输的时候才被创建,用完了后就被关闭了。控制连接用于发送指令给服务器以及等待服务器响应;数据连接是用来建立数据传输通道的。

  2.FTP的两种连接模式―――Port模式和Passive模式

  根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号。

  2.1 FTP Port模式

  Port模式的FTP步骤如下:

  1、 客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口;

  2、 服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口;

  3、 客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答;

  4、 当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服 务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方 (third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接;



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: