FTP文件传输协议浅述

网络 网络管理
还没有掌握FTP文件传输协议?那么就来看看下面的总结吧,肯定对您有所帮助的。浏览过文章,FTP文件传输协议的基础内容你也就掌握了。

相信没有比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来确认。

责任编辑:佟健 来源: 博客
相关推荐

2010-06-24 15:02:43

FTP协议

2010-06-28 14:25:16

2010-06-17 23:21:16

TCP传输控制协议

2010-06-09 15:40:01

FTP文件传输协议

2010-06-29 12:17:16

SIGTRAN协议

2023-11-19 11:44:45

2010-06-28 15:41:04

FTP文件传输协议

2010-06-09 15:55:20

FTP文件传输协议

2010-07-12 16:58:34

LEACH协议

2010-08-05 17:06:58

RIP路由协议

2010-07-06 17:05:22

PPPOE协议

2010-08-02 16:08:24

ICMP协议设置

2010-06-09 11:38:37

传输层通信协议

2011-03-04 11:23:55

FileZilla

2010-06-29 10:55:02

局域网协议

2009-09-28 14:49:44

Hiberante映射

2011-08-24 10:18:56

2010-09-08 16:01:57

SIP协议栈

2010-06-10 16:16:42

BGP路由协议

2009-01-18 09:28:00

点赞
收藏

51CTO技术栈公众号