FTP:文件传输协议

1、 FTP协议:采用2个TCP连接来传输一个文件。
  (1) 控制连接:
  控制连接通常以客户服务器方式建立。控制连接始终等待客户与服务器的通信,该连接将命令从客户端传给服务器,并传回服务器的应答。
  (2) 数据连接:
  该连接用于数据传输。
  2、 数据表示:
  (1) 文件类型:
  ◆ ASCII文件:默认以NVT ASCII形式传输。这要求发送方将本地文本文件转换为NVT ASCII码,而接收方将NVT ASCII码再还原为本地文本文件。用NVT ASVCII码传输的每一行都以一个回车和一个换行结束。
  ◆ EBCDIC文件:要求两端都是EBCDIC系统。
  ◆ 二进制文件类型:数据发送一个连续的比特流,通常用于传输二进制文件。
  ◆ 本地文件类型:再具有不同字节大小的主机之间传输二进制文件。
  (2) 格式控制,只对ASCII和EBCDIC文件类型有效。
  ◆ 非打印(默认):文件中不含垂直格式信息。
  ◆ 远程登录格式控制:文件含有向打印机解释的远程登录垂直格式控制。
  ◆ Fortran回车控制:每行首字符是Fortran格式控制符。
  (3) 结构:
  ◆ 文件结构(默认):文件被认为是一个连续的字节流,不存在内部的文件结构。
  ◆ 记录结构:该结构只用于文本文件。
  ◆ 页结构:每页都带有页号发送,以便收方能随机存储各页。
  (4) 传输方式
  ◆ 流方式(默认):文件以字节流传输,对于文件结构,发送方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标记记录结束和文件结束。
  ◆ 块方式:文件以一系列块来传输,每块前面都带有一个或多个首部字节。
  ◆ 压缩方式:
  3、 FTP命令:
  命令和应答在客户和服务器的控制连接上以NVT ASCII形式传送,这要求在每行结尾都要返回CR/LF。
  
  4、 FTP应答:
  应答都是ASCII码形式的3位数字,并跟有报文选项。一些典型的应答:
  ◆ 125:数据连接已打开,传输开始
  ◆ 200:就绪
  ◆ 214:帮助报文
  ◆ 331:用户名就绪,要求输入口令
  ◆ 425:不能打开数据连接
  ◆ 452:错写文件
  ◆ 500:未知语法错误
  ◆ 501:无效参数
  ◆ 502:未实现的MODE类型
  5、 连接管理:
  数据连接有3大用途:
  (1) 从客户向服务器发送一个文件
  (2) 从服务器向客户发送一个文件
  (3) 从服务器向客户发送文件或目录列表。
  每一个数据连接对传输一个文件或目录序列都要建立一个新的连接。
  (1) 客户发出命令要求建立数据连接
  (2) 客户在客户主机上未数据连接选择一个临时端口号
  (3) 客户使用PORT命令从控制连接上把端口号发给服务器。
  (4) 服务器在控制连接上接收端口号,并向客户端主机上的端口发出主动打开,服务器的数据连接使用端口20。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值