在 FTP 服务器中,为什么服务器应该打开一个端口而不是客户端?
In an FTP server, why should server open a port and not the client?
当客户端想从FTP服务器下载东西时,服务器会打开一个端口并将其提供给客户端以连接到服务器。我的问题是,为什么客户自己不这样做?
(实际上在这个问题中我们讨论的是本地主机中的客户端和服务器)
实际上FTP有一个active
和一个passive
模式。在 active
模式下,客户端打开一个端口 m
,服务器连接到该端口。许多客户端虽然在防火墙后面并且不能接受传入连接,因此过程相反。
您可以在 Wikipedia 上阅读有关 FTP 及其模式的更多信息。
感谢 Rezart Qelibari,在这种情况下,因为客户端(我)在防火墙后面并且无法接受传入的 TCP 连接,所以可以使用被动模式。在这种模式下,客户端使用控制连接向服务器发送PASV命令,然后从服务器接收服务器IP地址和服务器端口号。
当客户端想从FTP服务器下载东西时,服务器会打开一个端口并将其提供给客户端以连接到服务器。我的问题是,为什么客户自己不这样做? (实际上在这个问题中我们讨论的是本地主机中的客户端和服务器)
实际上FTP有一个active
和一个passive
模式。在 active
模式下,客户端打开一个端口 m
,服务器连接到该端口。许多客户端虽然在防火墙后面并且不能接受传入连接,因此过程相反。
您可以在 Wikipedia 上阅读有关 FTP 及其模式的更多信息。
感谢 Rezart Qelibari,在这种情况下,因为客户端(我)在防火墙后面并且无法接受传入的 TCP 连接,所以可以使用被动模式。在这种模式下,客户端使用控制连接向服务器发送PASV命令,然后从服务器接收服务器IP地址和服务器端口号。