FTP Modo Activo vs Pasivo: Funcionamiento y Diferencias
Clasificado en Informática
Escrito el en español con un tamaño de 3,04 KB
Modos de Conexión FTP: Activo y Pasivo
El protocolo FTP (File Transfer Protocol) permite la transferencia de archivos entre un cliente y un servidor. Existen dos modos principales de conexión para la transferencia de datos: el modo activo y el modo pasivo. Comprender sus diferencias es crucial, especialmente en entornos con cortafuegos.
FTP en Modo Activo
En este modo, el servidor es el encargado de iniciar el canal de datos mediante la creación de una sesión TCP con el cliente. Este es el modo de conexión por defecto y su funcionamiento consiste en los siguientes pasos:
- El cliente envía una petición (Comando PORT) desde cualquier puerto superior al 1024, al puerto de control 21 del servidor. La solicitud contiene el puerto que el cliente empleará para recibir datos; en el ejemplo de la figura es el 1052.
- El servidor responde con un paquete de aceptación ACK. El canal de control queda activo y configurado.
- El servidor inicia la conexión de datos desde su puerto 20 al puerto de datos especificado por el cliente (en la figura 1052).
- El cliente responde con un paquete de aceptación ACK y el canal de datos queda configurado.
- El servidor y el cliente proceden al envío y/o la recepción de datos y su posterior confirmación si llegan correctamente.
- Por último, se libera el canal de datos.
FTP en Modo Pasivo
En este modo, el cliente es el encargado de iniciar el canal de datos mediante la creación de una conexión TCP con el servidor. Este modo de conexión permite resolver el inconveniente principal del modo activo en relación con los cortafuegos del cliente.
- El cliente envía una petición (Comando PASV) desde cualquier puerto superior al 1024 (por ejemplo, el 1051), al puerto 21 del servidor.
- El servidor responde con un mensaje que incluye la dirección IP y el puerto de datos al que el cliente debe dirigirse para crear la conexión de datos (en la figura, el 5002). El canal de control queda activo y configurado.
- El cliente inicia la conexión desde su puerto de datos (en la figura, el 1052) al puerto de datos especificado por el servidor (5002).
- El servidor responde con un paquete de aceptación ACK y el canal de datos queda configurado.
- El servidor y el cliente proceden al envío y/o recepción de datos y su posterior confirmación si llegan correctamente.
- Por último, se libera el canal de datos.
El inconveniente principal del modo activo surge cuando el cliente se encuentra detrás de un cortafuegos, ya que el servidor intenta iniciar la conexión de datos hacia un puerto alto del cliente, lo cual suele ser bloqueado por políticas de seguridad. En contraste, el modo pasivo resuelve este problema para el cliente, pero traslada el desafío al servidor, que debe permitir conexiones entrantes en un rango de puertos altos para que el cliente pueda iniciar la conexión de datos. Esto puede requerir configuraciones específicas en el cortafuegos del servidor para abrir dicho rango de puertos.