Diferencias entre FTP activo y pasivo

Un temilla liante suele ser el del FTP activo y pasivo.
Como se sabe el FTP es un protocolo que establece dos conexiones una de control (puerto 21) y otra de datos (20), las dos son TCP.
NO hay conexiones UDP. Que no!

En el FTP Activo el cliente primero inicia una conexion al puerto 21 del servidor y luego le indica al servidor que puerto va a utilizar para los datos. Entonces el servidor es el que se encarga de abrir la conexion desde su puerto 20 al puerto que le ha indicado el cliente.

(la flecha indica de quien a quien se inicia)

cliente N --------> Server 21
cliente N+1 <--------- Server 20



En el FTP Pasivo, es el cliente quien inicia las dos conexiones.
Muchas veces se pasa a este modo de forma automatica porque hay un firewall por medio que no deja que alguien de fuera (el servidor en este caso) inicie la conexion hacia dentro.

cliente N --------> Server 21
cliente N+1 ---------> Server 20