...

*Cube-Host – 完整的雲端服務!

什么是FTP,它是如何工作的?

What is FTP and how does it work?

FTP 是通过互联网传输文件的最古老方法之一。它用于网络中不同设备之间的信息交换,但最常用于从服务器上传和下载数据。让我们来看看 FTP 是什么,它是如何工作的,它与其他数据传输协议有何不同,以及哪些程序最适合用于 FTP。

为什么需要 FTP?

如今,设备之间的信息交换似乎是一项简单的任务。但是,如果您需要确保服务器和客户端之间安全、持续的数据交换,该怎么办?FTP 已用于此目的超过半个世纪。尽管有许多更现代的技术,但 FTP 仍然活跃在网络托管、企业网络和 IT 基础设施中。

工作原理

FTP 基于用户与服务器之间的交互原理工作。FTP 服务器是一个物理设备或软件,用于存储数据并在需要时提供访问权限。FTP 客户端是一个专用程序,用户可以通过它与服务器连接,并在两个方向传输文件(上传或下载)。

该系统支持两种类型的连接:控制连接,用于身份验证和命令传输;数据连接,用于在客户端和服务器之间传输文件。要通过 FTP 连接到服务器,通常需要登录,然后使用文件管理器(通常使用标准的 Total Commander)上传或下载文件。然而,也有一些匿名 FTP 服务器,允许在无需身份验证的情况下进行数据交换。

FTP 还支持两种操作模式:主动模式和被动模式。在主动模式下,用户在其端打开一个端口并等待服务器建立连接。在被动模式下,情况则相反:服务器打开一个端口,等待客户端连接。由于主动方法的数据传输可能会被防火墙阻止,因此使用被动选项更实用,这样可以避免操作过程中出现防火墙问题。

规则的历史

这些规则由技术大学学生阿拜·布尚(Abhay Bhushan)于 1971 年为 ARPANET 网络开发。FTP 最初是在个人电脑尚无图形界面的环境中运行的。

FTP 的第一个版本只使用一个通道进行数据传输和命令,这影响了吞吐量。为了提高协议的性能,1972 年在软件中引入了两个通道:第一个通道控制命令,第二个通道传输数据。这种 FTP 结构一直沿用至今。

从 1980 年起,该规则集不断更新,并增加了新功能,使 FTP 发展成为一种通用工具。21 世纪初,加密版本(FTPS、SFTP)出现,消除了原始协议的弱点。

时至今日,FTP 仍被广泛应用于许多产品中——它已集成到所有主流操作系统(Windows、Linux 和 macOS)中,并被用于网站管理的主机服务。

FTP 的优缺点

尽管该数据传输协议已问世 50 多年,但仍然具有某些优势:

  • 可传输大文件;
  • 易于自动化(使用脚本进行操作);
  • 可使用带图形界面的客户端程序;
  • 与大多数操作系统兼容;
  • 数据传输速度快;
  • 配置简单(FTP 服务器可快速部署)。

缺点包括:

  • 安全性较低(密码以明文传输);
  • 防火墙配置复杂(需要端口配置);
  • 数据传输标准过时(不支持文件元数据)。

为了确保高度安全性,建议使用更先进的產品:FTPS(FTP Secure)或 SFTP(SSH File Transfer Protocol),它们可以以加密形式传输数据。

FTP 的替代方案

如今,有更安全、更方便的 FTP 替代方案,包括 SFTP(安全 FTP),它使用 SSH 协议进行安全数据传输;FTPS(FTP Secure),即经典 FTP 加上 SSL/TLS 加密;以及 HTTP(S) 协议,用于在现代网站上将文件下载到浏览器。云服务(云存储)如 Google Drive、Dropbox、OneDrive 等也可用于数据传输。它们大大简化了文件共享。

换句话说,在现代条件下,FTP 用于某些任务(如管理网络服务器上的网站)是合理的。

FTP 客户端

可以使用控制台程序和带图形界面的软件来处理 FTP。最受欢迎的 FTP 客户端包括:

  • FileZilla——一款支持跨平台的免费实用程序;
  • WinSCP——适用于 Windows 的安全软件;
  • Cyberduck——一款支持云服务的 macOS 和 Windows FTP 客户端;
  • Total Commander——一款带集成 FTP 支持的文件管理器。

以上所有程序都可简化文件在服务器上的上传和下载、访问权限的管理,在某些情况下甚至可直接在服务器上编辑文档。

FTP 命令示例

与该协议配合使用的命令有很多,以下是最重要的几个:

连接到服务器 ftp.example.com;

  open ftp.example.com  

输入用于授权的用户名;

  user username  

输入密码;

  pass password  

在服务器上创建一个目录;

  mkdir new_directory  

删除空目录;

  rmdir empty_directory  

显示服务器上当前目录的内容;

  ls  

或者

  dir  

请转到服务器上的指定目录;

  cd directory_name  

显示服务器上的当前目录;

  pwd  

删除文件“file.txt”;

  delete file.txt  

重命名文件;

  rename old_name new_name  

将文件“local_file.txt”上传至服务器;

  put local_file.txt  

从服务器下载文件 remote_file.txt;

  get remote_file.txt  

下载所有扩展名为 .txt 的文件;

  mget *.txt  

关闭连接并退出FTP客户端。

  quit  

  bye  

为了简化操作,用户通常会使用图形化客户端来自动化这些过程。
尽管FTP已存在多年,但它仍然是一种流行的数据传输协议。它非常适合服务器管理和传输大量数据。然而,出于安全考虑,它正逐渐被SFTP、FTPS和云技术所取代。尽管如此,了解FTP的基础知识仍有助于您更深入地理解网络技术,并更自信地处理IT基础设施。