6.5、文件传送协议FTP

将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送。

文件传送协议 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 服务器计算机

ftpup.gif

FTP 客户计算机可以从 FTP 服务器计算机下载文件

ftpdown.gif

根据应用需求的不同,FTP 服务器可能需要一台高性能、高可靠性的服务器计算机

  • 也可能只需要一台普通的个人计算机即可

例如:本例中也可以采用个人计算机作为 FTP 服务器计算机

image-20230109215049730

为了简单起见:我们假设 FTP 客户计算机与 FTP 服务器计算机处于同一个局域网

我们在 FTP 服务器计算机中创建 FTP 服务器

  • 可以使用第三方的 FTP 服务器软件(例如:Xftp),也可以使用操作系统自带的 FTP 服务器软件。

    例如:在 windows 系统中使用其自带的 FTP 服务器功能创建一个 FTP 服务器站点(上网查阅)


假设这是创建的 FTP 服务器的 IP 地址

我们可以在客户计算机中使用游览器软件通过该地址访问 FTP 服务器

ftpfangwen.gif

注意:这里使用的是文件传送协议 FTP

  • 而不是游览器最常用的超文本传输协议 HTTP

我们也可以在 FTP 客户计算机中使用 windows 系统自带的命令行工具

  • 通过该地址来访问 FTP 服务器

image-20230109215934177

这种方式需要记住相关命令,这对普通用户并不友好

  • 因此,大多数用户在 FTP 客户计算机上,使用第三方的 FTP 客户工具软件

image-20230109220107486


FTP 的常见用途是在计算机之间传输文件,尤其是用于批量传输文件。

FTP 的另一个常见用途是让网站设计者将构成网站内容的大量文件批量上传到他们的 Web 服务器。

2、FTP的基本工作原理

2.1、主动模式

如下所示,FTP 服务器监听数值端口号 21 21 21

FTP 客户随机选择一个临时端口号与其建立 TCP 连接

image-20230109220837158

这条 TCP 连接(①)用于 FTP 客户与服务器之间传送 FTP 的相关控制命令

  • 即:这条 TCP 连接(①)是 FTP 客户与服务器之间的 命令通道 \color{blue}命令通道 命令通道(②)

当有数据要传输时,FTP 客户通过命令通道告知 FTP 服务器来与自己的另一个临时端口号建立 TCP 连接

  • 建立数据通道

image-20230109220556356

这条 TCP 连接(④)用于 FTP 客户与服务器之间传送文件

  • 即:这条 TCP 连接(④)是 FTP 客户与服务器之间的 数据通道 \color{blue}数据通道 数据通道(⑤)

说明:若采用一条 TCP 连接,FTP 服务器并不知道是控制命令还是数据文件

由于在建立数据通道时,FTP 服务器主动连接 FTP 客户

  • 因此称为主动模式

image-20230109221202613


image-20230109221249016

2.2、被动模式

不同之处在于:有数据要传输时,FTP 客户通过命令通道告知 FTP 服务器开启某个协商好的临时端口

  • 被动等待 TCP 连接 \color{blue}被动等待\texttt{TCP} 连接 被动等待TCP连接,建立数据通道。

如下所示,TCP 服务器使用的、与 FTP 客户协商好的临时端口号

  • FTP 客户随机选择的另一个端口号

image-20230109221610683


FTP 客户发起与 FTP 服务器的 TCP 连接已建立数据通道

由于在建立数据通道时,FTP 服务器被动等待 FTP 客户的连接

  • 因此称为被动模式

image-20230109221738050

3、习题

image-20230109221805980

image-20230109221852400

答案:A


image-20230109221900859

image-20230109222041162

答案:C

4、小结

image-20230109222059713

image-20230109222119309

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值