在数字化时代,文件传输的重要性日益突显。无论是个人用户还是企业组织,都需要高效、可靠地共享和传输文件。而 FTP(文件传输协议)作为一种广泛使用的传输协议,扮演着关键的角色。然而,在深入了解 FTP 之前,让我们先聚焦于 FTP 的核心组成部分之一 – FTP 端口。
FTP 端口是支持在终端设备和服务器之间传输文件的通信端点。 FTP 会话可以以被动模式或主动模式进行,被动模式与防火墙更兼容。 然而,FTP 并不是一个特别安全的协议。
本文将带您深入探索 FTP 端口的奥秘。无论您是刚刚接触 FTP 还是希望深入了解其工作原理,本文都将为您提供全面的指南。现在就让我们揭开 FTP 端口的神秘面纱,探索这一关键组成部分如何为文件传输提供支持。
FTP 端口如何融入文件传输协议?
FTP(文件传输协议)是一种在 OSI 模型的应用层上运行的网络协议,在 RFC 959 中定义。该协议最初定义于 1971 年,可以在终端设备之间来回传输数据 和服务器。 它建立在客户端-服务器架构之上,可用于上传和下载文件以及创建目录。
FTP 使用请求和响应来工作。 使用 FileZilla 和 FTP 命令等 FTP 程序,可以请求数据并(如有必要)更改数据。 然后使用数据通道进行传输。 FTP 端口用于确保设备可以与服务器建立安全连接。
FTP 端口有什么用?
FTP 端口是确保终端设备和 FTP 服务器之间建立连接的通信端点。 FTP 端口用于识别您想要在服务器上访问的应用程序和服务。 为此,端口将使用 0 到 65535 之间的数字。 仅当您知道相关的 FTP 端口号时才能建立安全连接。 获得正确的 FTP 端口号后,您就可以开始文件传输。 可以以 ASCII 模式传输图像和程序等二进制文件或文本文件。
FTP 端口如何工作?
为了保证传输顺利,文件传输协议通常使用两个 FTP 端口。 第一步是在端口 21 上在服务器和客户端之间建立连接。这称为命令或控制通道。 之后,客户端将建立到端口20的连接,该连接称为数据通道。
您可能会问自己为什么我们需要使用两个 FTP 端口。 答案在于两个端口的角色。 控制通道仅用于发送 FTP 命令。 客户端向服务器发送命令,服务器用状态码响应每个命令。 使用此 FTP 端口通常需要使用用户名和密码进行身份验证。
使用控制通道启动或中止数据传输。 然而,数据本身是使用第二个通道(数据通道)发送和接收的。 传输可以双向进行,从服务器到客户端或客户端到服务器,具体取决于给出的命令。 也可以发送目录列表。
使用两个独立的通道可确保客户端和服务器之间随时可以进行联系。 数据传输问题通过状态代码进行传达,然后可以使用新命令来解决。
FTP 被动模式和主动模式有什么区别?
FTP被动模式和主动模式也有区别。 区别在于服务器的角色:在主动模式下,服务器发起连接。 在被动模式下,服务器让客户端建立连接并简单地确认它。 下面我们将解释这两种不同模式背后的原因以及为什么有时需要被动模式。 但首先我们将解释如何建立被动和主动 FTP 连接。 两个过程比较相似。
如何建立主动 FTP 连接
通过以下步骤建立活动 FTP 连接:
- 首先客户端向 FTP 端口 21 发送连接请求。
- 如果连接可行,服务器将使用临时客户端端口进行响应。
- 然后客户端响应服务器的响应并确认活动连接。
- 现在客户端发送 FTP 端口命令。 这确认了活动 FTP 端口的使用、其 IP 地址以及服务器应连接的 FTP 端口的确切编号。
- 如果所有条目均正确,服务器将使用状态代码确认该命令。
- 客户端指示服务器使用 FTP。
- 现在是活动部分:服务器创建数据连接,并从 FTP 端口 20(数据通道)向客户端已提供编号的 FTP 端口发送请求。
- 客户端向服务器确认数据连接处于活动状态并且没有错误。
- 服务器还发送确认并授予客户端传输数据的权限。
- 现在 FTP 端口可用于请求和发送/接收数据。
如何以被动模式设置 FTP 端口
对于被动模式下的 FTP,这些步骤看起来非常相似。 只有到最后我们才能看到显着的差异。
- 如上,客户端从 1024 到 65535 之间的临时 FTP 端口向服务器的 FTP 端口 21 发送请求。
- 服务器应答请求并向发送请求的端口发送确认。
- 客户端确认连接。
- 然后,客户端不发送 FTP 端口命令,而是发送 PASV 命令,该命令请求被动协议。
- 服务器将确认该请求。 然后它发送客户端将连接的 IP 地址和 FTP 端口号。
- 然后客户端将向服务器发送的 FTP 端口发送连接请求。
- 如果一切正常,服务器将确认连接。
- 客户端现在将使用该 FTP 端口与服务器建立连接。
- 最后,客户端将从其控制端口向服务器的端口 21 发送传输命令。现在可以进行数据传输,不再需要 FTP 端口 20。
如何判断连接是主动连接还是被动连接?
主动模式通常用于 FTP 传输。 如果未使用主动模式,您的托管服务通常会通知您已更改为被动模式。 如果您想测试自己处于哪种模式,可以尝试创建连接。 如果不起作用,请更改为其他模式。
设置服务器时,您可以决定是否要使用主动模式或被动模式进行 FTP。 您还可以选择安装自己的 Debian FTP 服务器或 Ubuntu FTP 服务器安装程序。 为了您系统的安全,我们建议定期进行端口检查。
FTP 被动模式有什么用?
您可能会问自己为什么 FTP 被动模式首先有用。 主要原因与使用防火墙的用户可能出现的问题有关。 当客户端位于正确执行其工作的防火墙后面时,防火墙将阻止尝试从外部访问客户端的活动连接。 对于活动 FTP 端口,这将包括服务器。 您可以通过在被动模式下使用 FTP 端口来解决此问题。 在被动模式下,客户端发起连接,这意味着防火墙的防御不会被触发,数据传输可以按预期进行。
您总是需要端口 21 吗?
虽然被动模式不需要端口 20,但被动和主动模式都需要端口 21。 由于端口 20 仅用于数据传输,因此传输完成后连接将终止。 相反,端口 21 始终处于活动状态。 它用于控制通道并涉及各种传输。 仅当用户发出命令或超时后自动关闭时,才会发生断开连接。 这一事实以及用户名和密码的未加密传输使得 FTP 成为未经授权访问的潜在危险网关。
FTP 和 SFTP 有什么区别?
这就是 SSH 文件传输协议 (SFTP) 的用武之地。从其名称中您已经可以看出它与 FTP 具有一些相似之处。 但这两种协议之间也存在显着差异,以至于 SFTP 服务器和标准客户端无法相互通信。 两个协议之间最重要的区别如下:
- 加密:与标准 FTP 端口不同,SFTP 端口是加密的。 这适用于用户名和密码以及正在传输的实际文件,从而使未经授权的访问变得更加困难。
- 端口号:FTP 使用端口 21,而 SFTP 使用端口 22。
- 协议:FTP 使用 TCIP/IP,而 SFTP 使用SSH。
FTP 端口很有用,但不安全
FTP 端口是在互联网上传输文件的一项重要且有用的发明。 FTP 被动模式也是朝着正确方向迈出的重要一步。 但 FTP(与普通文件传输协议 (TFTP) 一样)的最大缺陷是缺乏加密。 对于安全文件传输,SFTP 是更好的选择。