FTP与大部分Internet服务项目一样,应用基本都是“客户端/服务器”方式。用户使用一个适用FTP协议的远程服务器程序流程,联接在远程主机里的FTP服务器程序流程。以在客户端向服务器端推送FTP命令,服务器实行该命令,并把执行结果回到给客户端。因为“操纵联接”的影响因素,客户端上传的FTP命令,服务器都有相对应的应答。FTP工作流程如下图1所显示。
图1 工作流程
图1中显示FTP开展文件传送的最基本工作流程。主要分4个阶段,即建立连接阶段、身份验证阶段、命令互动阶段和中断连接阶段。下边对此4个阶段进行讲解。
1、建立连接阶段
该阶段是FTP客户端根据TCP三次握手与FTP服务器端开展建立连接。客户端向FTP服务器传出建立连接要求,FTP服务器对申请开展应答。假如FTP服务器里的21端口号是开启的,能接受来源于别的主机要求,得出应答220,表明服务项目准备就绪,即告知客户端所需要的FTP服务项目早已做好准备。回到应答之后,FTP服务器必须客户端开展身份验证,向客户端推送身份验证要求。
2、身份验证阶段
身份验证就是指客户端应当向FTP服务提供登陆所需要的账户密码。FTP服务器对客户端输入账户密码都是会得出对应的应答。假如客户端输入账户密码恰当,将完成登陆FTP服务器,这时进到FTP对话。
3、命令互动阶段
在FTP会话中,用户可实行FTP命令开展文件传送,如查看目录信息内容、提交或下载文件等。客户端键入要实施的FTP命令后,服务器同样也会得出应答。假如输入执命令恰当,服务器会把命令的执行结果回到给客户端。执行结果回到结束后,服务器再次得出应答。
4、中断连接阶段
当客户端不会再与FTP服务器开展文件传送时,必须中断连接。客户端向FTP服务器推送中断连接要求,服务器接到中断连接后得出对应的应答。
5、认证工作流程
为了能可以更好的了解FTP客户端与服务器的工作流程,下边以一个简单的案例进行讲解。
已经知道FTP服务器的IP地址为192.168.59.135。应用一个服务器做为FTP客户端与FTP服务器开展文件传送。这儿查询FTP服务器上文件目录content中的数据。实行命令如下所示:
root@daxueba:~# ftp
为了更好地剖析,下边将根据FIP的4个工作流程阶段展开分析。
1)建立连接。
ftp> open 192.168.59.135 #客户端要求建立连接
Connected to 192.168.59.135.220 Welcome #服务器应答,应答码为220
之上导出数据显示客户端向FTP服务器192.168.59.135发起接入要求,服务器提出了相对应的应答码220,表明取得成功设立了联接。
2)身份验证。
Name (192.168.59.135:root): sm #客户端输入登录名(密文表明),这儿为sm
331 User name ok, need password. #服务器应答,应答码为331
Password: #客户端输入登陆密码
230 User logged in, proceed. #服务器应答,应答码为230
之上导出数据显示了客户端输入账户密码,并显示相对应的应答码。登录名的应答码为331,表明还要客户端输入支付密码;登陆密码的应答码为230,表明登录成功。
3)命令互动。
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir content #客户端实施的命令
200 Connected. #服务器应答,应答码为200
150 Start of file list. #服务器应答,应答码为150
-rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-3.txt #文件目录目录信息内容
-rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-1.txt #文件目录目录信息内容
-rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-2.txt #文件目录目录信息内容
226 Transfer complete. #服务器应答,应答码为226
之上导出数据显示了登录名要实施的命令dir content,表明显示FTP服务器上content的文件目录目录信息内容;服务器提出了应答,这儿提出了2个应答码。应答码为200,表明FTP服务器能够实行该命令;应答码为150,表明服务器早已做好准备文件目录目录,开启移动数据,将执行结果发给客户端。这儿标注的文件目录目录信息内容能够看见content含有3个文档file-1.txt,file-2.txt和file-3.txt。导出信息内容最终一行显示了服务器的应答码226,表明执行结果早已回到。
4)中断连接。
ftp> quit #客户端指定断掉FTP子命令
221 Service closing control connection. #服务器应答,应答码为221
之上导出数据显示了客户端实施的中断连接的FTP子命令quit。最终一行显示了服务器的应答,应答码为221,表明服务器确定退出登录。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。