美文网首页
《计算机网络——自顶向下方法》应用层——文件传输协议:FTP

《计算机网络——自顶向下方法》应用层——文件传输协议:FTP

作者: YAN_DAOJIANG | 来源:发表于2020-02-10 13:15 被阅读0次

    文件传输协议:FTP

    典型的FTP会话中,用户坐在一台本地主机前面,向一台远程主机传输/接收文件,为了使用户能够访问他的远程账户,用户必须提供一个用户标识和口令。
    HTTP和FTP都是文件传输协议,并且有很多的共同特点,然而这两个应用层协议也有一些重要的区别,之中最显著的就是FTP使用了两个并行的TCP连接来传输文件,一个是控制连接,一个是数据连接。控制连接用于在两台主机之间传输控制信息,如用户标识,口令,一些其他命令等;数据连接用于发发送实际文件。因此,我们称FTP的控制信息是带外传送的,而HTTP协议是在传输文件的同一个TCP连接中发送请求和响应行首部的,因此,HTTP也可以说是带内发送控制信息的。
    用户主机与远程主机开始一个FTP会话时,FTP客户端首先在服务器21号端口与服务器端发起一个用于控制的TCP连接。当FTP的服务器端从该连接上接收到一个文件传输命令后(无论是向还是来自远程主机),就发起一个到客户端的TCP数据连接。FTP在该数据连接上准确的传送一个文件,然后关闭该连接,在同一个会话期间,如果用户还需要传输另一个文件,FTP则打开另一个新的数据连接。因此,对于FTP传输而言,控制连接贯穿了整个会话,但是会话期间的每一次新的文件传输都需要建立一个新的数据连接。
    FTP服务器必须在整个会话期间保留用户的状态,而对每个进行中的用户会话的状态信息进行追踪大大限制了FTP同时维持的会话总数。

    FTP命令与回答

    FTP命令和回答都是以7比特的ASCII格式在控制连接上传送的,每个命令由4个大写的ASCII字符组成(有些具有可选参数),常见命令如下:

    • USER username
    • PASS password
    • LIST :用于请求服务器传送回当前远程目录中的所有文件列表(文件列表是新的数据连接传送的);
    • RETR filename : 用于从远程主机当前目录检索(即get)文件;
    • STOR filename : 用于远程主机当前目录存放文件;
      每个命令都对应着一个Fong服务器发向客户的回答,回答是一个3未数字加上可选信息,常见的回答如下:
    • 331 Username OK, password required
    • 125 Data connection already open; transfer starting
    • 425 Can't open data connection
    • 452 Error writing file

    相关文章

      网友评论

          本文标题:《计算机网络——自顶向下方法》应用层——文件传输协议:FTP

          本文链接:https://www.haomeiwen.com/subject/arjaxhtx.html