日期:2017-07-10 10:37:13 来源: IT猫扑网
相信没有比FTP文件传输协议更为基础的协议了。那么对于这种协议,想必大家也多少有所接触。那么很多服务器和站点的建设都将用到它,如果你还不清楚它的细节,那就来看看文章吧。
1. FTP文件传输协议概述
FTP是文件传输协议(File Transfer Protocol )的简称?FTP是TCP IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证?
FTP工作模式与客户/服务器模式相似?与大多数的其他TCP应用不相同的是,FTP在客户与服务器之间使用两个TCP连接――控制连接和数据连接,控制连接在客户与服务器交互的整个过程中一直存在,而数据连接只在有文件或目录传输的时候才被创建,用完了后就被关闭了?控制连接用于发送指令给服务器以及等待服务器响应;数据连接是用来建立数据传输通道的?
2.FTP文件传输协议的Port模式
根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号?
FTP Port模式
Port模式的FTP文件传输协议步骤如下:
1 客户端发送一个TCPSYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口;
2 服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口;
3 客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP文件传输协议命令,服务器端使用这个连接来发送FTP应答;
4 当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服 务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方 (third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接;
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 FTP文件传输协议中规定,客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认?
相关文章
相关下载
ChinaFTP客户端 FTP工具7.00 MBv7.57.8.20 简体中文版
下载andftp去广告破解版 系统工具2.47 MBv4.5 安卓版
下载andftp pro已付费版 系统工具2.60 MBv4.5 安卓专业中文版
下载8uftp上传工具 FTP工具484.00 KBv3.8.2.0 中文绿色免费版
下载Batch File FTP Sync Uploader FTP工具471.00 KB绿色特别版
下载Cerberus FTP Server破解版 服务器区4.76 MBv9.0.5.2 特别版
下载网友评论