Il protocollo Ftp ha bisogno di più porte di rete per funzionare in modo corretto.
Quando un client FTP si connette a un server FTP, sul server viene aperta la porta 21, chiamata porta di comando, attraverso la quale vengono inviati i comandi al server.
I dati richiesti vengono inviati al client utilizzando un’altra porta, chiamata porta dati.
Il numero della porta dati e il funzionamento del collegamento cambia a seconda della modalità FTP
FTP supporta due modalità, attiva e passiva.
La modalità attiva è quella originale utilizzata dal protocollo ftp per il trasferimento dei dati, quando si utilizza questa modalità, viene aperto un collegamento dalla porta 20 sul server a una porta random superiore a 1024 sul client.
Questo significa che per il funzionamento del trasferimento dei dati è necessario che il client sia abilitato a accettare connessioni sulle porte superiori alla 1024 e questo è solitamente impedito dai firewall.
La modalità passiva permette di superare questo problema, quando si utilizza questa modalità, il server che riceve la richiesta da un client risponde fornendo l’indirizzo ip e una porta random superiore alla 1024 sul server.
Il client si connette quindi a questa porta per il trasferimento dei dati.