FTP文件传输协议 (转)

FTP(File Transfer Protocol)即文件传输协议,主要是用来在网络上进行文件传输的。要在两台主机直接直接传输文件,除了通过共享方式传输外,还有一类使用非常广泛的方式,即采用FTP方式。

     FTP的工作模式同其他的C/S模式的网络通信协议有很大的区别。通常在进行HTTP通信,只需要一个端口进行通信,即客户端只需要连接一个端口进行数据传输。但是FTP通信除了一个默认的端口21以外,还需要其他端口,通常是两个端口同时进行数据传输的。一是默认的端口,而另一个是按照一定原则由服务器或者客户端产生的非标准端口。其中默认端口主要进行控制连接,顾名思义,控制连接主要是进行命令协议的及服务器端的响应码的传输,另一个非标准端口主要是进行数据的传递,比如上传文件、下载文件、打印目录信息等。非标准端口的产生要根据用户选择的连接模式而定,如果客户选择的是PORT模式,则需要客户端提供服务器一个IP地址和一个非标准端口;如果用户采用被动模式,则服务器端要提供给客户端一个IP地址和一个非标准端口。在进行文件传输的时候,通常每传送完一个文件,又会重新建立连接模式并重新产生一个临时端口。

    在用户协议解释器和服务器协议解释器之间的控制连接上传输的是FTP命令和应答信息。用户协议解释器负责发送命令和解释收到的应答,由服务器协议解释器执行命令并把执行情况以应答的形式发送给客户。

    所有FTP命令和应答都在控制连接上以NVT ASCII码的形式传输,并且每一个命令都以<CR>和<LF>结尾,即是一个命令或应答占一行。

(1)FTP命令

访问控制命令:用户名:USER,口令:PASS,账号:ACCT,改变工作目录:CWD,回到上一层目录:CDUP,结构加载:SMNT,重新初始化:REIN,退出登录:QUIT

传输参数命令:数据端口:PORT,被动:PASV,表示类型:TYPE,文件结构:STRU,传输模式:MODE

FTP服务命令:RETR:用于从服务器获取指定路径内的文件复本,服务器上的文件内容和状态不受影响.

                        STOP:向服务器传送文件,如果文件存在,则覆盖源文件,否则创建文件

                        APPE:功能和STOP相似,但是如果文件在指定路径内已存在,则把数据附加到原文件尾部,如果不存在则新建文件。

                        ALLP:用于在主机上位新传送的文件分配足够的空间。参数是十进际的逻辑字节数。

                        REFR:该命令用于重命名指定的文件,它后面必须跟“rename to"来指定新的文件名。

                        RNTO:该命令用于指定新的文件名。

                        ABOR:关闭控制连接,但不关闭数据连接.

                        DEL:该命令用于删除指定路径下的文件,用户进程负责对删除的提示。

                        RMD:该命令用于删除指定目录。

                        MKD:该命令用于在指定的路径下创建新目录。

                        PWD:该命令用于返回当前工作目录。

                        LIST::该命令式服务器传送列表到客户。

                        SITE:用于获得服务器系统信息,信息因系统不同而不同。

                        NLIST:该命令式服务器传送目录表名到用户。

                        HELP:该命令与平常系统中得到的帮助相似。

                        NOOP:该命令不产生任何实际动作,它仅使服务器返回OK

(2)FTP应答

     FTP命令的应答是服务器对FTP命令执行情况的响应,它主要有两方面的功能:一是服务器对数据传输的请求和过程进行同步,这是TCP协议所要求的,TCP要求对接收到的数据都要进行确认;二是让用户了解服务器的状态,用户可以根据收到的状态信息对服务器是否正常执行了有关操作进行判断。

posted @ 2012-06-25 22:27  observer & executive  阅读(490)  评论(0编辑  收藏  举报