我只是想检查我对 ftp 的理解是否正确。ftp 服务器在端口 21 上侦听。客户端使用连接到 ftp 服务器端口 21 的本地临时端口与 ftp 服务器建立连接。当 ftp 服务器将文件发送到客户端时,它会从端口 20 发送到客户端计算机上的临时端口,该端口与用于连接端口 21 的端口不同。
是这样吗?另外,如果多台计算机同时尝试连接 FTP 服务器会发生什么情况?它们都连接到端口 21 吗?端口上可以同时打开的连接数是否有限制?
答案1
你的理解是正确的。
服务器端口始终可以被多个客户端访问,因为 TCP 会话由 4 个元素标识:客户端IP地址+客户端端口+服务器IP地址+服务器端口,而不仅仅是通过服务器端口。
FTP 还存在被动模式,即客户端发起与服务器上临时端口的数据连接。这样 FTP 流量就可以穿过某些防火墙或 NATting 设备。