📜  文件传输协议 (FTP)

📅  最后修改于: 2022-05-13 01:57:35.536000             🧑  作者: Mango

文件传输协议 (FTP)

文件传输协议 (FTP)是 TCP/IP 提供的一种 Internet 工具。 FTP 的第一个功能是 Abhay Bhushan 于 1971 年开发的。它通过提供对远程计算机上的目录或文件夹的访问来帮助将文件从一台计算机传输到另一台计算机,并允许在不同类型的计算机之间传输软件、数据、文本文件。连接中的最终用户称为 localhost,提供数据的服务器称为远程主机。

FTP的目标是:

  • 它鼓励直接使用远程计算机。
  • 它保护用户免受系统变化(操作系统、目录结构、文件结构等)的影响
  • 它促进文件和其他类型数据的共享。

为什么是 FTP?

FTP 是一种标准的通信协议。还有各种其他协议,例如 HTTP,用于在计算机之间传输文件,但与 FTP 相比,它们缺乏清晰度和重点。此外,连接所涉及的系统是异构系统,即它们在操作系统、目录、结构、字符集等方面存在差异,FTP 为用户屏蔽了这些差异,并有效、可靠地传输数据。 FTP 可以传输 ASCII、EBCDIC 或图像文件。 ASCII 是默认的文件共享格式,在这种情况下,每个字符都由 NVT ASCII 编码。在 ASCII 或 EBCDIC 中,目标必须准备好接受此模式下的文件。图像文件格式是转换二进制文件的默认格式。

FTP 客户端

FTP 在客户端-服务器模型上工作。 FTP 客户端是在用户计算机上运行的程序,使用户能够与远程计算机对话并从远程计算机获取文件。它是一组命令,用于在两台主机之间建立连接,帮助传输文件,然后关闭连接。其中一些命令是: get filename(从服务器检索文件)、mget filename(从服务器检索多个文件)、ls(列出服务器当前目录中可用的文件)。还有内置的 FTP 程序,可以更轻松地传输文件,并且不需要记住命令。

FTP 连接类型

FTP 连接有两种类型:

Active FTP 连接:在Active FTP 连接中,客户端建立命令通道,服务器建立数据通道。当客户端通过连接请求数据时,服务器启动将数据传输到客户端。它不是默认连接,因为如果客户端和服务器之间有防火墙,它可能会导致问题。

被动 FTP 连接:在被动 FTP 连接中, 客户端建立数据通道和命令通道。当客户端通过连接请求数据时,服务器会向客户端发送一个随机端口号,客户端一收到该端口号就建立数据通道。这是默认连接,因为即使客户端受到防火墙保护,它也能更好地工作。

匿名 FTP

一些站点可以启用匿名 FTP,其文件可供公众访问。因此,用户无需任何用户名或密码即可访问这些文件。相反,默认情况下,用户名设置为匿名,密码设置为访客。在这里,用户的访问是非常有限的。例如,用户可以复制文件但不允许浏览目录。

FTP 是如何工作的?

FTP 连接在两个系统之间建立,它们使用网络相互通信。因此,对于连接,用户可以通过向 FTP 服务器提供凭据来获得许可,也可以使用匿名 FTP。

建立FTP连接时,也建立了两种通信通道,分别称为命令通道和数据通道。命令通道用于将命令和响应从客户端传输到服务器以及从服务器传输到客户端。 FTP 使用与 TELNET 或 SMTP 相同的方法通过控制连接进行通信。它使用 NVT ASCII字符集进行通信。它使用端口号 21。而数据通道用于在客户端和服务器之间实际传输数据。它使用端口号 20。

使用 URL 的 FTP 客户端提供 FTP 命令以及 FTP 服务器地址。一旦服务器和客户端连接到网络,用户使用用户 ID 和密码登录。如果用户没有在服务器上注册,那么他/她也可以使用匿名登录访问文件,密码是客户的电子邮件地址。服务器验证用户登录并允许客户端访问文件。客户端传输所需的文件并退出连接。下图显示了 FTP 的工作原理。

传输方式

FTP 使用以下任一模式传输文件:

  • 流模式:这是默认模式。在蒸汽模式下,数据以流字节的形式从 FTP 传输到 TCP。这里 TCP 是将数据分成小段的原因。如果转换数据在流字节中,则连接会自动关闭。否则,发送者将关闭连接。
  • 块模式:在块模式下,数据以块的形式从 FTP 传输到 TCP,每个块后跟一个 3 字节的头。块的第一个字节包含有关块的信息,因此称为描述块,其他两个字节包含块的大小。
  • 压缩模式:此模式用于传输大文件。众所周知,由于大小限制,我们无法在互联网上传输大文件,因此使用压缩模式将文件缩小为小文件并将其发送到互联网上。

FTP的应用

以下是FTP的应用:

  • 不同的大型企业组织使用 FTP 连接在它们之间传输文件,例如将文件共享给在组织的不同位置或不同分支机构工作的其他员工。
  • IT 公司使用 FTP 连接在灾难恢复站点提供备份文件。
  • 金融服务使用 FTP 连接将金融文档安全地传输到相应的公司、组织或政府。
  • 员工使用 FTP 连接与他们的同事共享任何数据。

好处

  • 多次传输: FTP 有助于在系统之间传输多个大文件。
  • 效率: FTP 有助于以有效的方式组织文件并通过网络有效地传输它们。
  • 安全性: FTP 仅通过用户 ID 和密码为任何用户提供访问权限。此外,服务器可以创建多级访问。
  • 持续传输:如果文件的传输被任何方式中断,那么只要建立连接,用户就可以恢复文件传输。
  • 简单: FTP 的实现和使用都非常简单,因此它是一种广泛使用的连接方式。
  • 速度:这是将文件从一台计算机传输到另一台计算机的最快方式。

缺点

  • 安全性较低: FTP 在传输文件时不提供加密工具。此外,用户名和密码是纯文本,而不是符号、数字和字母的组合,更容易被黑客攻击。
  • 旧技术: FTP 是最古老的协议之一,因此它使用多个 TCP/IP 连接来传输文件。这些连接受到防火墙的阻碍。
  • 病毒: FTP连接很难被扫描病毒,这再次增加了漏洞的风险。
  • 有限: FTP 提供非常有限的用户权限和移动设备访问。
  • 内存和编程: FTP 需要更多的内存和编程工作,因为没有命令很难发现错误。