首页 > 其他分享 >《计算机网络微课堂》6-5 文件传送协议FTP

《计算机网络微课堂》6-5 文件传送协议FTP

时间:2024-05-30 09:02:59浏览次数:27  
标签:FTP 计算机 TCP 计算机网络 客户 服务器 连接 文件传送

本节课我们介绍文件传送协议 FTP:

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

  • 文件传送协议 FTP 是因特网上使用的最广泛的文件传送协议

    • FTP 提供交互式的访问,允许客户指明文件的类型与格式,例如指明是否使用 ASCII,并允许文件具有存取权限。比如访问文件的用户必须经过授权并输入有效的口令
    • FTP 屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间的传送文件
  • 在因特网发展的早期阶段,用 FTP 传送文件,约占整个因特网的通信量的 1/3,而由电子邮件和域名系统所产生的通信量还要小于 FTP 所产生的通信量,只是到了 1995 年万维网的通信量才首次超过了 FTP

接下来我们举例说明 FTP 的应用。如图所示 FTP 采用客户服务器方式,因特网上的 FTP 客户计算机可将各种类型的文件上传到 FTP 服务器计算机,FTP 客户计算机也可以从 FTP 服务器计算机下载文件,根据应用需求的不同,FTP 服务器可能需要一台高性能高可靠性的服务器计算机,也可能只需要一台普通的个人计算机即可。

例如本例也可以采用普通的个人计算机作为 FTP 服务器计算机,为了简单起见,我们假设 FTP 客户计算机与 FTP 服务器计算机处于同一个局域网中,我们在 FTP 服务器计算机中创建 FTP 服务器,可以使用第三方的 FTP 服务器软件,也可以使用操作系统自带的 FTP 服务器软件,例如我们可以在 Windows 系统中使用其自带的 FTP 服务器功能,创建一个 FTP 服务器站点,具体方法比较简单,请同学们在网上自行查阅。

假设这是我所创建的 FTP 服务器的 IP 地址,我们可以在 FTP 客户计算机中需要浏览器软件,通过该地址来访问 FTP 服务器,需要注意的是这里使用的是文件传送协议 FTP,而不是浏览器最常用的超文本传送协议 HTTP。

我们也可以在 FTP 客户计算机中需要 Windows 系统自带的命令行工具,通过该地址来访问 FTP 服务器,例如这是连接 FTP 服务器,采用匿名登录,因此无需输入密码,登录成功后可以列出 FTP 服务器当前目录下的所有文件和文件夹,可从 FTP 服务器下载文件,也可向 FTP 服务器上传文件,命令行方式需要用户记住相关命令,这对普通用户而言并不友好,因此大多数用户在 FTP 客户计算机上使用第三方的 FTP 客户工具软件,通过友好的用户界面来完成 FTP 服务器的登录以及文件的上传和下载。

FTP 的常见用途是在计算机之间传输文件,尤其是用于批量传输文件,FTP 的另一个常见用途是让网站设计者将构成网站内容的大量文件,批量上传到他们的 Web 服务器。


接下来我们介绍 FTP 的基本工作原理,如图所示 FTP 服务器监听熟知端口号 21,FTP 客户随机选择一个临时端口号,与其建立 TCP 连接,这条 TCP 连接用于 FTP 客户与服务器之间传送 FTP 的相关控制命令,也就是说这条 TCP 连接是 FTP 客户与服务器之间的命令通道,当有数据要传输时,FTP 客户通过命令通道告知 FTP 服务器来与自己的另一个临时端口号建立 TCP 连接,即建立数据通道,这是 FTP 客户随机选择的另一个端口号,FTP 服务器使用自己的熟知端口号 20 与其建立 TCP 连接,这条 TCP 连接用于 FTP 客户与服务器之间传送文件,也就是说这条 TCP 连接是 FTP 客户与服务器之间的数据通道。

由于在建立数据通道时,FTP 服务器主动连接 FTP 客户,因此称为主动模式,需要注意的是控制连接在整个会话期间一直保持打开,用于传送 FTP 相关的控制命令,而数据连接用于文件传输,在每次文件传输时才建立,传输结束就关闭。

再来看被动模式,对于 FTP 客户与服务器之间命令通道的建立,它与主动模式并没有什么。不同之处,在于当有数据要传输时,FTP 客户通过命令通道通知 FTP 服务器开启某个协商好的临时端口,被动等待来自 FTP 客户的 TCP 连接,以建立数据通道,这是 FTP 服务器使用的与 FTP 客户协商好的临时端口号,这是 FTP 客户随机选择的另一个端口号。FTP 客户发起与 FTP 服务器的 TCP 连接,以建立数据通道,由于在建立数据通道时,FTP 服务器被动等待 FTP 客户的连接,因此称为被动模式。


最后我们来做两个相关的练习题,这是计算机专业考研全国统考计算机网络部分 2009 年的题 40,答案是选项 A

FTP 客户和服务器之间要建立以下两个并行的 TCP 连接。

一个是控制连接,在整个会话期间一直保持打开,用于传送 FTP 相关控制命令。

另一个是数据连接用于文件传输,在每次文件传输时才建立,传输结束就关闭。

这是 2017 年的题 40,答案是选项 C。

FTP 客户和服务器之间要建立控制连接和数据连接,这两个并行的 TCP 连接,控制连接在整个会话期间都保持打开状态,而数据连接在每次文件传输时才建立,传输结束就关闭。默认情况下,FTP 使用 TCP21 号端口进行控制连接,TCP20 号端口进行数据连接,但是是否使用 TCP20 号端口建立数据连接与传输模式有关,主动方式使用 TCP20 号端口,而被动方式由服务器和客户端自行协商决定。

本节课的内容小结如下:

标签:FTP,计算机,TCP,计算机网络,客户,服务器,连接,文件传送
From: https://www.cnblogs.com/PeterJXL/p/18215007

相关文章

  • 《计算机网络微课堂》6-3 动态主机配置协议DHCP
    本节课我们介绍动态主机配置协议DHCP。我们首先来举例说明DHCP的作用。如图所示有这样一个网络拓扑,请同学们思考一下,我们应该给网络中的各主机设置怎样的网络相关配置信息,才能使他们可以正常访问网络中的WEB服务器。根据我们之前课程所介绍过的相关知识可知,需要给网络中的各......
  • 《计算机网络微课堂》6-2 客户—服务器方式和对等方式
    本节课我们介绍客户服务器方式和对等方式。我们知道网络应用程序运行在处于网络边缘的不同端系统上,通过彼此间的通信来共同完成某项任务。因此开发一种新的网络应用,首先要考虑的问题就是网络应用程序,在各种端系统上的组织方式和他们之间的关系。目前流行的主要有以下两种,一种是......
  • 《计算机网络微课堂》第六章 应用层
    6-1应用层概述从本节课开始,我们进入第6章应用层的学习。本节课我们对应用层进行概述,在之前的课程中,我们按计算机网络体系结构,由低到高的顺序,依次学习了物理层、数据链路层、网络层、运输层。物理层解决使用何种信号来传输比特的问题数据链路层解决分组在一个网络或一段链路......
  • 计算机网络——三种交换方式
    电路交换(CircuitSwitching)要实现每台主机相互连接是不现实,假如一台主机要和另外一台主机相连,则需要一根连接线,五台就需要十条连接线,而更多则需要的连接线成指数级上升(代词),如果有n个主机则需要的连接线计算公式为:2/n(n-1) 那么怎么实现通过减少连接线还能让主机与主机......
  • 计算机网络中的负载均衡
    本期从什么是负载均衡,为什么要有负载均衡,如何实现负载均衡,以及负载均衡相关的算法来讨论负载均衡1.什么是负载均衡:负载均衡(LoadBalancing)是一种在计算机网络中用于分发网络流量或工作负载的方法,以确保资源的高效利用和系统的高可用性。它通过将请求或任务分发到多个服务器......
  • 计算机网络的网络拥塞
    1.什么是网络拥塞:对网络中的某一资源的需求超过了资源所能提供的可用部分,网络性能就要变坏;这种情况就叫拥塞(网络资源包括带宽,交换节点中的缓存和处理机等),拥塞会导致网络的性能随着负荷的增大而下降。所以如何减少拥塞是网络重中之重的问题。2.TCP拥塞控制算法:以下算法都是建......
  • 在Linux中,如何进行FTP服务器配置?
    在Linux中配置FTP服务器通常涉及安装FTP服务器软件、配置FTP服务、设置用户权限和安全性。以下是使用vsftpd(一个安全且高效的FTP服务器软件)进行配置的步骤:1.安装FTP服务器对于基于Debian的系统(如Ubuntu):sudoaptupdatesudoaptinstallvsftpd对于基于RedHat的系统(如CentO......
  • 《计算机网络微课堂》5-9 TCP报文段的首部格式
    本节课我们介绍TCP报文段的首部格式。在之前的课程中我们曾介绍过,为了实现可靠传输,TCP采用了面向字节流的方式,如图所示TCP将应用进程交付下来的应用报文看作是字节流,存入TCP发送缓存中,但TCP在发送数据时是否发送缓存,取出一部分或全部字节,并给其添加一个首部使之成为TCP......
  • 《计算机网络微课堂》5-8 TCP的运输连接管理
    从本节课开始,我们将分两次课来介绍TCP的运输连接管理。5.8.1TCP的连接建立TCP是面向连接的协议,它基于运输连接来传送TCP报文段TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程TCP运输连接有以下三个阶段第一个阶段是建立TCP连接,也就是通过......
  • 《计算机网络微课堂》5-7 TCP 可靠传输的实现
    本节课我们介绍TCP可靠传输的实现。TCP基于以字节为单位的滑动窗口来实现可靠传输。我们来举例说明,这是因特网上的两台主机,他们之间已经建立了一个TCP连接,为了简单起见,我们假定数据传输只在一个方向进行,换句话说,发送方给接收方发送TCP数据报文段,接收方给发送方发送相应的......