在 FTP 服务器中,为什么要服务器打开端口而不是客户端?

时间:2021-04-09 23:05:14

标签: sockets ftp

当客户端想要从 FTP 服务器下载某些东西时,服务器会打开一个端口并将其提供给客户端以与服务器连接。我的问题是,为什么客户本身不这样做? (实际上在这个问题中,我们谈论的是本地主机中的客户端和服务器)

2 个答案:

答案 0 :(得分:2)

实际上 FTP 有 activepassive 模式。在 active 模式下,客户端打开一个端口 m,服务器连接到该端口。但是,许多客户端都在防火墙后面,无法接受传入的连接,因此该过程会反过来。

您可以在 Wikipedia 上阅读有关 FTP 及其模式的更多信息。

答案 1 :(得分:-1)

感谢 Rezart Qelibari,在这种情况下,由于客户端(我)在防火墙后面并且无法接受传入的 TCP 连接,因此可以使用被动模式。在这种模式下,客户端使用控制连接向服务器发送PASV命令,然后从服务器接收服务器IP地址和服务器端口号。