ftp协议的工作过程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

ftp协议的工作过程

FTP(FileTransferProtocol)协议的工作过程主要分为以下几个阶段:

连接建立阶段

1.客户端与服务器的通信初始化

客户端首先会启动一个FTP客户端程序,该程序会随机选择一个本地端口(通常是1024以上的端口)作为源端口,然后向服务器的FTP控制端口(默认是21)发起TCP连接请求。这个连接用于在客户端和服务器之间传输控制信息,例如用户登录命令、文件操作命令等。

2.TCP三次握手

-客户端向服务器发送SYN包,请求建立连接,其中包含客户端初始的序列号(ISN)。

-服务器收到SYN包后,向客户端发送SYN+ACK包,确认客户端的请求,并包含服务器自己的初始序列号。

-客户端收到SYN+ACK包后,向服务器发送ACK包,完成三次握手,此时控制连接建立成功。

用户认证阶段

1.用户名和密码传输

控制连接建立后,客户端通过控制连接向服务器发送用户名(USER命令)。服务器收到用户名后,会提示客户端发送密码(PASS命令)。客户端接着发送密码,服务器对用户名和密码进行验证。

2.认证结果反馈

如果用户名和密码正确,服务器会返回一个成功的响应码,允许客户端进行后续操作;如果认证失败,服务器会返回相应的错误码,提示客户端认证不通过。

数据传输阶段

1.数据连接建立方式

-主动模式(PORT模式)

-客户端通过控制连接向服务器发送PORT命令,该命令包含客户端用于数据传输的IP地址和端口号(通常是一个1024以上的端口)。

-服务器收到PORT命令后,使用自己的20号端口(默认数据端口)向客户端指定的IP地址和端口发起TCP连接请求。经过TCP三次握手后,数据连接建立。

-被动模式(PASV模式)

-客户端通过控制连接向服务器发送PASV命令,请求服务器进入被动模式。

-服务器收到PASV命令后,会在自己的高端端口(通常是1024以上的端口)监听数据连接,并通过控制连接将该端口号和服务器的IP地址返回给客户端。

-客户端收到服务器的响应后,使用自己的一个随机端口向服务器指定的IP地址和端口发起TCP连接请求,完成数据连接的建立。

2.数据传输操作

数据连接建立后,客户端和服务器可以进行数据传输。例如,客户端执行下载文件操作时,服务器会从存储设备读取文件数据,并通过数据连接发送给客户端;若执行上传文件操作,客户端则将本地文件数据通过数据连接发送给服务器。

3.数据连接关闭

数据传输完成后,无论是上传还是下载操作结束,客户端和服务器会关闭数据连接。通常是一方发送FIN包,另一方响应ACK包,然后另一方再发送FIN包,最后双方都发送ACK包,完成数据连接的四次挥手关闭过程。

会话结束阶段

1.控制连接关闭请求

当客户端完成所有的文件传输操作后,会通过控制连接向服务器发送QUIT命令,表示会话结束。

2.控制连接关闭过程

服务器收到QUIT命令后,会返回一个确认响应,并关闭控制连接。与数据连接关闭类似,也是通过TCP的四次挥手过程,即一方发送FIN包,另一方响应ACK包,然后另一方再发送FIN包,最后双方都发送ACK包,彻底关闭控制连接,整个FTP会话结束。

文档评论(0)

177****2390 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档