浅谈FTP协议的工作方式( 二 )

浅谈FTP协议的工作方式

文章插图
 
2.TCP三次握手建立成功后,服务器也知道了客户端需要请求FTP服务,于是要求客户端提供相应的用户名(客户端在进行FTP连接时需要发送用户名和密码信息);
浅谈FTP协议的工作方式

文章插图
 
3.客户端收到服务器的验证需求后,立即发送用户名 user = 1;
浅谈FTP协议的工作方式

文章插图
 
4.服务器收到后,确认用户名OK,此时需要客户端提供password;
浅谈FTP协议的工作方式

文章插图
 
5.客户端发送password=1;
浅谈FTP协议的工作方式

文章插图
 
6.服务器端用户名密码验证成功允许用户登录;
浅谈FTP协议的工作方式

文章插图
 
7. 客户端登录到服务器之后开始发送查询命令 “PWD”查询FTP文件路径;
浅谈FTP协议的工作方式

文章插图
 
8.服务器回复客户端“PWD”查询,反馈文件路径信息;
浅谈FTP协议的工作方式

文章插图
 
9.客户端开始请求查询服务器发送文件的方式 ASCII/二进制;
浅谈FTP协议的工作方式

文章插图
 
10.服务器对客户端发送的文件类型查询进行响应,回复文件传输方式为ASCII;
浅谈FTP协议的工作方式

文章插图
 
上述1-10步完成了FTP在进行控制连接操作前,基本用户登录认证以及文件列表获取等内容;
 
11. FTP被动方式,由客户端发送“PASV”命令;
浅谈FTP协议的工作方式

文章插图
 
12.服务器收到PASV命令后,知道自己此时为被动方式,则开始生成随机的数据端口,以提供给客户端进行数据连接的时候使用;
浅谈FTP协议的工作方式

文章插图
 
13.客户端开始发送LIST命令查询文件列表信息;
浅谈FTP协议的工作方式

文章插图
 
14.在文件数据传输之前,先建立数据传输时的TCP三次握手;
浅谈FTP协议的工作方式

文章插图
 
15.数据传输的三次握手成功后,服务器开始向客户端通知自己已经准备就绪,马上开始文件传输;
浅谈FTP协议的工作方式

文章插图
 
16.文件开始传输,在传输过程中有TCP对文件传输进行确认;
浅谈FTP协议的工作方式

文章插图
 
17.客户端文件接收完毕 通过控制链路告知服务器;
浅谈FTP协议的工作方式

文章插图
 
18.服务器收到之后认为文件传输完成,此时关闭数据连接并告知客户端;
浅谈FTP协议的工作方式

文章插图
 
19.客户端收到服务器发送来的关闭数据连接信息后,则向服务器在进行确认FTP控制连接断开过程;
浅谈FTP协议的工作方式

文章插图
 
20.由客户端发起端开请求命令 QUIT;
浅谈FTP协议的工作方式

文章插图
 
21.服务器收到请求后同意断开 向客户端发送goodbye;
浅谈FTP协议的工作方式

文章插图
 
22.TCP会话也断开;
浅谈FTP协议的工作方式

文章插图
 
FTP 主动模式
 
连接建立发起前,基本用户登录认证以及文件列表获取等内容与被动方式相同参考上述1-10步骤 。
浅谈FTP协议的工作方式

文章插图
 
1.由客户端发送PORT命令,同时自己随机生成一个数据端口,并将该端口信息通过控制链路发送给服务器;
浅谈FTP协议的工作方式

文章插图
 
2.服务器收到PORT命令之后,此时就知道自己是处于主动模式,并开始与客户端进行TCP连接;


推荐阅读