将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送。
文件传送协议 FTP \color{red}文件传送协议\texttt{FTP} 文件传送协议FTP (File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。
-
FTP
提供交互式的访问 \color{red}提供交互式的访问 提供交互式的访问,允许客户 指明文件的类型与格式 \color{red}指明文件的类型与格式 指明文件的类型与格式(如指明是否使用ASCII码),并允许 文件具有存取权限 \color{red}文件具有存取权限 文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。
-
FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件 \color{red}\texttt{FTP} 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件 FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
在因特网发展的早期阶段,用FTP传送文件约占整个因特网的通信量的三分之一,而由电子邮件和域名系统所产生的通信量还要小于FTP所产生的通信量。只是到了
1995
1995
1995 年,万维网 WWW
的通信量才首次超过了 FTP
。
1、FTP的应用
FTP
采用 C/S
方式
因特网上 FTP
客户计算机可将各种类型的文件上传到 FTP
服务器计算机
FTP
客户计算机可以从 FTP
服务器计算机下载文件
根据应用需求的不同,FTP
服务器可能需要一台高性能、高可靠性的服务器计算机
- 也可能只需要一台普通的个人计算机即可
例如:本例中也可以采用个人计算机作为 FTP
服务器计算机
为了简单起见:我们假设 FTP
客户计算机与 FTP
服务器计算机处于同一个局域网
我们在 FTP
服务器计算机中创建 FTP
服务器
-
可以使用第三方的
FTP
服务器软件(例如:Xftp),也可以使用操作系统自带的FTP
服务器软件。例如:在 windows 系统中使用其自带的
FTP
服务器功能创建一个FTP
服务器站点(上网查阅)
假设这是创建的 FTP
服务器的 IP
地址
我们可以在客户计算机中使用游览器软件通过该地址访问 FTP
服务器
注意
:这里使用的是文件传送协议 FTP
- 而不是游览器最常用的超文本传输协议
HTTP
我们也可以在 FTP
客户计算机中使用 windows 系统自带的命令行工具
- 通过该地址来访问
FTP
服务器
这种方式需要记住相关命令,这对普通用户并不友好
- 因此,大多数用户在
FTP
客户计算机上,使用第三方的FTP
客户工具软件
FTP
的常见用途是在计算机之间传输文件,尤其是用于批量传输文件。
FTP
的另一个常见用途是让网站设计者将构成网站内容的大量文件批量上传到他们的 Web
服务器。
2、FTP的基本工作原理
2.1、主动模式
如下所示,FTP
服务器监听数值端口号
21
21
21
FTP
客户随机选择一个临时端口号与其建立 TCP
连接
这条 TCP
连接(①)用于 FTP
客户与服务器之间传送 FTP
的相关控制命令
- 即:这条
TCP
连接(①)是FTP
客户与服务器之间的 命令通道 \color{blue}命令通道 命令通道(②)
当有数据要传输时,FTP
客户通过命令通道告知 FTP
服务器来与自己的另一个临时端口号建立 TCP
连接
- 建立数据通道
这条 TCP
连接(④)用于 FTP
客户与服务器之间传送文件
- 即:这条
TCP
连接(④)是FTP
客户与服务器之间的 数据通道 \color{blue}数据通道 数据通道(⑤)
说明:若采用一条 TCP
连接,FTP
服务器并不知道是控制命令还是数据文件
由于在建立数据通道时,FTP
服务器主动连接 FTP
客户
- 因此称为主动模式
2.2、被动模式
不同之处在于:有数据要传输时,FTP
客户通过命令通道告知 FTP
服务器开启某个协商好的临时端口
- 被动等待 TCP 连接 \color{blue}被动等待\texttt{TCP} 连接 被动等待TCP连接,建立数据通道。
如下所示,TCP
服务器使用的、与 FTP
客户协商好的临时端口号
FTP
客户随机选择的另一个端口号
FTP
客户发起与 FTP
服务器的 TCP
连接已建立数据通道
由于在建立数据通道时,FTP
服务器被动等待 FTP
客户的连接
- 因此称为被动模式
3、习题
答案:A
答案:C