FTP下载业务流程.doc_第1页
FTP下载业务流程.doc_第2页
FTP下载业务流程.doc_第3页
FTP下载业务流程.doc_第4页
FTP下载业务流程.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FTP下载业务流程1 FTP协议FTP文件传送协议(File Transfer Protocol,简称FTP),是一个用于从一台主机到另送文件的协议。 FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。 与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。2 FTP状态码110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm servers equivalent marker (note the spaces between markers and =). 重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格) 120 Service ready in nnn minutes. 服务在NNN时间内可用 125 Data connection already open; transfer starting. 数据连接已经打开,开始传送数据. 150 File status okay; about to open data connection. 文件状态正确,正在打开数据连接. 200 Command okay. 命令执行正常结束. 202 Command not implemented, superfluous at this site. 命令未被执行,此站点不支持此命令. 211 System status, or system help reply. 系统状态或系统帮助信息回应. 212 Directory status. 目录状态信息. 213 File status. 文件状态信息. 214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 帮助信息。关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。 215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document. NAME系统类型。 220 Service ready for new user. 新连接的用户的服务已就绪 221 Service closing control connection. 控制连接关闭 225 Data connection open; no transfer in progress. 数据连接已打开,没有进行中的数据传送 226 Closing data connection. Requested file action successful (for example, file transfer or file abort). 正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止) 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 进入被动模式 230 User logged in, proceed. Logged out if appropriate. 用户已登入。 如果不需要可以登出。 250 Requested file action okay, completed. 被请求文件操作成功完成 257 PATHNAME created. 路径已建立 331 User name okay, need password. 用户名存在,需要输入密码 332 Need account for login. 需要登陆的账户 350 Requested file action pending further information 对被请求文件的操作需要进一步更多的信息 421 Service not available, closing control connection.This may be a reply to any command if the service knows it must shut down. 服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭 425 Cant open data connection. 打开数据连接失败 426 Connection closed; transfer aborted. 连接关闭,传送中止。 450 Requested file action not taken. 对被请求文件的操作未被执行 451 Requested action aborted. Local error in processing. 请求的操作中止。处理中发生本地错误。 452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy). 请求的操作没有被执行。 系统存储空间不足。 文件不可用 500 Syntax error, command unrecognized. This may include errors such as command line too long. 语法错误,不可识别的命令。 这可能是命令行过长。 501 Syntax error in parameters or arguments. 参数错误导致的语法错误 502 Command not implemented. 命令未被执行 503 Bad sequence of commands. 命令的次序错误。 504 Command not implemented for that parameter. 由于参数错误,命令未被执行 530 Not logged in. 没有登录 532 Need account for storing files. 存储文件需要账户信息 550 Requested action not taken. File unavailable (e.g., file not found, no access). 请求操作未被执行,文件不可用。 551 Requested action aborted. Page type unknown. 请求操作中止,页面类型未知 552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset). 对请求文件的操作中止。 超出存储分配 553 Requested action not taken. File name not allowed 请求操作未被执行。 文件名不允许 3 FTP下载流程(1) 终端与FTP建立连接终端与FTP服务器经过三次握手建立连接,建立连接成功后,FTP服务器返回状态码220,表示服务就绪。(2) 登陆FTP服务器身份验证登陆过程首先由终端向FTP服务器发送登陆用户名“hrb”并等待验证。用户名验证通过后,FTP服务器返回状态码331,表示用户名验证已通过并需要输入密码。终端将登陆密码发送给FTP服务器,FTP服务器验证后返回状态码230,表示用户已经登陆。(3) 设置文件传输类型终端向FTP服务器发送命令“TYPE I”,表示设置文件传输类型为二进制,FTP服务器返回状态码200,表示命令执行成功。若命令“TYPE A”,则表示文件传输类型为ASCII。(4) 指定接收数据的客户端地址及端口号终端向FTP服务器发送命令“PORT 10,63,194,230,6,103”,其中10,63,194,230指定了接收数据的客户端地址,即手机终端的IP地址30。6,103指定了客户端上接收数据的端口号,具体算法为6*256+103=1639,所以客户端上接收数据时使用端口1639。FTP返回状态码200,表示命令执行成功。(5) 指定接收的文件并建立数据连接终端向FTP服务器发送命令“RETR 500k.bin”,表示要下载文件500k.bin,图中第四条信息ftp 1635 ACK是对该条命令的确认。指定要下载的文件后,终端与FTP服务器还需要建立数据连接“ftp-data”,数据连接用于传输数据。FTP协议有两种连接,控制连接和数据连接。控制连接用于发送和响应FTP指令,数据连接用来传输数据。本例中,在终端上控制连接使用的端口是1635,数据连接使用的端口是1639。(6) 打开数据连接建立数据连接后,FTP服务器返回状态码150,表示文件状态正确,正在打开数据连接。终端返回ACK,表示已经可以传输数据。(7) 传输数据FTP服务器在数据连接上下发数据包,终端收到数据包后在TCP层上进行确认。(8) 断开数据连接,数据传输结束接收到最后一个数据包后,终端向FTP服务器发送FIN,ACK,表示要求中断数据连接,FTP服务器返回ACK,表示接受请求。FTP服务器返回状态码226,表示正在中断数据连接,且请求文件动作执行成功。(9) 断开控制连接4 流程分析3.1 TCP层分析3.2 FTP层分析(1)返回FTP服务器状态终端与FTP服务器建立控制连接后,FTP服务器会返回状态码,不同的状态吗表示服务器的不同状态,上图中,220表示服务就绪。(2)身份验证 客户端提交用户名“hrb”。FTP服务器通过用户名验证,要求提交密码。客户端提交密码“hrb!#”。FTP服务器会返回状态码230,表示用户已经登陆。(3)指定文件传输类型文件的传输类型由客户端(终端)指定,“TYPE I”,表示设置文件传输类型为二进制。若为命令“TYPE A”,则表示文件传输类型为ASCII。FTP服务器返回状态码200,表示命令执行成功。FTP服务器返回状态码200,表示命令执行成功。(4)指定客户端的IP地址及接收数据的端口号终端向FTP服务器发送命令“PORT 10,63,194,230,6,103”,其中10,63,194,230指定了接收数据的客户端地址(Active IP address),即手机终端的IP地址30。6,103指定了客户端上接收数据的端口号(Active port),具体算法为6*256+103=1639,所以客户端上接收数据时使用端口1639。FTP返回状态码200,表示命令执行成功。(5)指定接收的文件接收的文件由终端指定,使用RETR命令,500k.bin是接收的文件名。(6)打开数据连接FT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论