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基础设施。