I was reading: Why port 20 is not used for data channel in FTP passive mode?
Where one answer says:
If you were to connect to the same port (20) every time, the server would not be able to tell, what file do you connect for. The port number serves as a link between a transfer request on the control connection and a data connection. Note that there's no "protocol" on the data connection, that could be used by the client to tell what it asks for. The port number is the only unique information the server has.
If two clients were to request a transfer at the same time, and the server were accepting data connections on the single port, the server would not be able to tell, what file to transfer. Of course, the server could use a client IP for the decision (actually many FTP server do validate that the client IP matches the IP used on the control connection for security).
But this would not work for:
Multiple connections from the same machine (most FTP clients do support parallel transfers/queues). Connection from different machines withing the same (corporate) network, as those have the same external IP.
which makes perfect sense for me.
But, in FTP active mode I learnt that data is served on port 20, so how does the above problem not exist in active mode?