- 作者:xiaoxiao
- 发表时间:2020-12-23 10:40
- 来源:未知
1. 介绍
FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。
2. 概览
在本节中我们将讨论一些表面上的问题,有些名词的定义请参阅TCP和Telnet参考文献。我们先介绍一下
(1)字节大小,在FTP中字节大小有两个:逻辑字节大小和用于传输的字节大小。后者通常是8位,而前者可不一定是多少了。传输字节不必等 于逻辑字节大小,也不必对数据结构进行解释。(2)控制连接是建立在USER-PIT和SERVER-PI之间用于交换命令与应答的通信链路。(3)数据连接是传输数据的全双工连接。传输数据可以发生在服务器DTP和用户DTP之间也可以发生在两个服务器DTP之间。(4)DTP:数据传输过程(DTP)建立和管理数据连接,DTP可以是主动的也可以是被动的。(5)EOR代表记录尾。(6)NTV代表网络虚拟终端,它的定义与在Telnet协议中的定义一致。(7)NVFS代表网络虚拟文件系统。(8)FTP可以传输非连续的文件,这些文件的一部分称为页。(9)PI代表协议解释器。(10)服务器DTP代表一种传输过程,它通常处于“主动”状态,它和侦听端口建立数据连接,它还可以为传输和存储设置参数,并根据PI的指 令传输数据。当然,DTP也可以转入“被动”状态。(11)服务器FTP进程,它是和用户FTP进程一起工作的,它由PI和DTP组成。至于用户FTP进程则是由PI,DTP和用户接口组成的。下图是FTP服务 示意图:
------------------ |/-------/| || 用户 || --- || 接口 |<--->|用户| |/-------/| --- ------------ | | | |/----/| FTP命令 |/---V ---/| ||服务器|<--------------------> User || || PI || FTP响应 || PI || |/----/| |/-------/| | | | | | | ------------ |/--V -/| 数据 |/---V ---/| | 文 件 <------>||服务器|<--------------------> | 用户 || ----- | 系 统 | || DTP || 连接 || DTP |<--->|文件系统| ------------ |/----/| |/-------/| ----- ------------ ------------------