FTP服务器端口多个连接

我被问了2个问题,我不确定答案。

*假设PC X的端口21上有一个FTP服务器。有两个不同的PC(Y和Z)可以在端口21上同时连接这个FTP服务器吗? 为什么或者为什么不?

我认为这是可能的,但我不确定原因。

*电脑Y可以在端口21上同时连接多个FTP服务器吗? 为什么或者为什么不?

我认为不是,但我又不确定确切的原因。

是的,是的。 服务器连接都是基于“套接字”而不仅仅是端口。 每个sockets由以下信息组成:

SRC-IP
SRC-PORT
DEST-IP
DEST-PORT
协议

一台服务器可以处理多个套接字。 如果两台机器连接,则它们的源IP将是唯一的,并且每个连接在连接时被赋予一个随机源端口。 服务器可以处理的连接数有多less,受内存,networking带宽等因素的限制。您的FTP服务器软件应为最大数量的客户端连接提供configuration选项。

是的,是的。 当一个服务器正在监听端口时,它可以在该端口上同时有多个连接。 考虑一下如果服务器一次只能在端口80上接受一个连接,那么我们可能会遇到这样的问题:网站一次只允许加载一个页面。

您也可以在同一端口上build立从一台计算机到另一台计算机的多个连接,因为源端口将随机更改。

希望这回答你的问题。

是的,每个连接到您的计算机是由其目的地址/端口和源地址/端口标识。

可以使用上述信息唯一标识来自不同主机(甚至是同一主机)的多个连接。

由于源端口通常是随机的,因此对于每个连接都是不同的,FTP服务器有足够的信息来区分来自同一台PC的两个连接(当PC回复时PC也有足够的信息来区分它们)。 所以,是的,是的,即使FTP是一个有状态的协议。

此外,大多数FTP实现支持并使用PASV命令协商一个额外的端口来build立数据连接。 这允许使用相同的FTP会话传输多个数据stream。