被动ftp端口管理



我在软件中使用了被动ftp,这样客户就可以下载软件更新。现在我的疑问是,如果有这么多ftp请求(用于下载更新),那么被动ftp端口可以管理所有请求吗?它究竟是如何工作的?

一个编写良好的通用服务器可以在一个端口上处理数万个连接,这没有问题。客户端IP/端口是连接的一部分,因此理论上单个端口上可以有数百万个连接。

使用FTP PASV传输时,服务器会为客户端提供一个额外的端口,以便连接到该端口,以便在控制通道之外传输文件体。

一个幼稚的服务器只需为每个未完成的传输绑定一个临时端口。这将导致上限远高于30000。

一些FTP服务器将允许您配置PASV端口范围,这可以使这个数字小得多,这可以在一个简单的实现中限制连接到服务器的并发用户的数量。

更高级的FTP服务器实现将允许多个客户端连接到PASV传输端口,并使用客户端的公共IP来管理每个公共IP请求或发送的文件。

事实上,如果您使用的端口范围很宽,那么您更有可能在服务器上遇到带宽、CPU、磁盘或其他系统限制,而不是遇到某种网络/端口范围限制。

最新更新