RFC 959--File Transfer Protocol

本文详细介绍了RFC 959中的文件传输协议(FTP),包括其目标、连接管理、FTP的新命令及数据连接的用途。FTP使用两个TCP连接,控制连接用于客户与服务器通信,数据连接则按需创建。文章还涵盖了FTP中的关键术语和概念,如ASCII字符集、存取控制、数据传输模型等。

引入

FTP的目标是
- 促进文件的共享
- 支持对远程计算机的间接使用
- to shield a user from variations in file storage systems among hosts
- to transfer data reliably and efficiently

文件传输协议

FTP采用两个TCP连接来传输一个文件

  • 控制连接以通常的客户服务器方式建立。服务器以被动方式打开众所周知的FTP端口21,等待客户的连接。客户则以主动方式打开TCP端口21来建立连接。控制连接(Connection Control)始终等待客户与服务器之间的通信。
  • 每当一个文件在客户与服务器之间传输时,就创建一个数据连接。

连接管理

数据连接有以下三大用途
- 从客户向服务器发送一个文件
- 从服务器向客户发送一个文件
- 从服务器向客户发送文件或目录列表

FTP协议的新命令

  • CDUP :切换到上级目录
  • SMNT:结构数量
  • STOU:只读存储器
  • RMD:删除目录
  • MKD:创建目录
  • PWD:打印目录
  • SYST:系统

术语

ASC II
在FTP中,ASCII字符集被定义8位字符集的低半部
Access Controls:存取控制
存取控制用来防止未授权的或意外的文件存取。存取控制定义了用户对系统和系统中文件的存取权限。
byte size
FTP中有两种字节大小:逻辑字节大小和传输字节大小。传输字节大小永远为8字节。
server-DTP(数据传输过程):在监听的数据端口上建立数据连接。同时设置传输和存储的参数,然后通过command来传输数据
server-PI:服务器PI在端口L上监听用户PI的连接,然后建立一个连接。server-PI将接受来自用户-PT的FTP命令、发送回复和管理server-DTP

The FTP Model

这里写图片描述

注:1、数据连接可能是双向的,即是可以从服务器–客户端,也可以是从客户端–服务器
2、数据连接不需要一直存在

模型1分析
在图中,首先用户协议解释器PI初始化控制连接。在用户初始化过程中,标准FTP命令将由PI生成且会通过控制连接被传送到服务器进程。标准服务器回复是用来回复用户发送的FTP命令的,这些标准回复将会被服务器PI发送,然后由用户PI接受。
FTP命令指定了数据连接的参数,包括数据端口传输模式代理类型结构,用户DTP(数据传输进程)应该监听上述数据端口,服务器将初始化数据连接然后通过上述参数来协调数据传输。

FTP服务器代码

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值