FTP主动模式

FTP主动模式

在主动模式下运行 ftp 如下所示(在地点):

在主动模式 FTP 中,客户端从随机的非特权端口 (N > 1023) 连接到 FTP 服务器的命令端口,即端口 21。然后,客户端开始监听端口 N+1,并将 FTP 命令 PORT N+1 发送到 FTP 服务器。然后,服务器将从其本地数据端口(即端口 20)连接回客户端指定的数据端口

这是我的问题。当有额外的客户端连接时会发生什么?服务器是否会为该新连接打开额外的数据端口?如果是,它会选择哪个端口?

答案1

一个tcp会话包括源端口、源IP、目标端口和目标IP。

对于每个会话,这些必须是唯一的。

假设客户端一打开一个会话,并取回数据连接:

Control: source_ip:1024 -> server_ip:21
Data:    source_ip:1025 <- server_ip:20

现在打开了第二个会话。1024 和 1025 都已在使用中,因此接下来的是:

Control: source_ip:1026 -> server_ip:21
Data:    source_ip:1027 <- server_ip:20

它不一定会按那样的顺序增加,这取决于服务器上发生的其他事情。

相关内容