应用层学习笔记三.文件传输协议FTP

在这里插入图片描述

用户通过一个FTP用户代理和FTP交互。

  1. 用户提供远程主机的主机名,本地的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接
  2. 用户提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传送
  3. 服务器向用户授权,用户可以将存放在本地文件系统中的多个文件复制到远程文件系统

HTTP和FTP都是建立在TCP上的应用层文件传输协议。

FTP使用了两个并行的TCP连接来传输文件:

  • 控制连接:用于在两主机之间传输控制消息,如用户标识、口令、改变远程目录的命令以及存放/获取文件的命令
  • 数据连接:用于实际发送一个文件

FTP的控制信息是带外传送的。HTTP是带内发送控制信息的。

用户主机与远程主机开启一个FTP会话时:

  1. FTP的客户端在服务器21号端口与服务器端发起一个用于控制的TCP连接
  2. FTP的客户端通过控制连接发送用户的表示和口令,发送改变远程目录的命令
  3. 当FTP的服务器端从该连接上收到一个文件传输的命令后,就发起一个到客户端的TCP数据连接
  4. FTP在数据连接上传送一个文件,然后关闭该连接

注意:

  • 在同一个会话期间,如果用户还需要传输另外一个文件,FTP打开另一个数据连接
  • 对于控制连接,贯穿于整个会话期间
  • FTP服务器必须在整个会话期间保留用户的状态,是有状态的

FTP命令和回答

以7比特ASCII格式在控制连接上传送。每个命令由4个大写字母ASCII字符组成

  • User username:向服务器传送用户标识
  • PASS password:向服务器传送用户口令
  • LIST:用于请求服务器会送当前远程目录中的所有文件列表,文件列表在新建的数据连接上传送
  • RETR filename:用于从远程主机当前目录检索文件,该命令引起远程主机发起一个数据连接,并经该数据连接发送所请求的文件
  • STOR filename:用于在远程主机的当前目录上存放文件

典型的回答:

  • 331 Username OK , Password required
  • 125 Data connection already open; transfer starting
  • 425 Cam’t open data connection
  • 452 Error writing file
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值