当客户端想要从FTP服务器下载东西时,服务器会打开一个端口,并将其提供给客户端以连接服务器。我的问题是,为什么客户自己不这么做?(实际上,在这个问题中,我们谈论的是本地主机中的客户端和服务器(
实际上FTP有active
和passive
模式。在active
模式下,客户端打开一个端口m
,服务器连接到该端口。但许多客户端都在防火墙后面,无法接受传入连接,因此过程颠倒。
你可以在维基百科上阅读更多关于FTP及其模式的信息。
感谢Rezart Qelibari,在这种情况下,由于客户端(我(位于防火墙后面,无法接受传入的TCP连接,因此可以使用被动模式。在这种模式下,客户端使用控制连接向服务器发送PASV命令,然后从服务器接收服务器IP地址和服务器端口号。