FTP (File Transfer Protocol)

 El FTP (File Transfer Protocol) es uno de los protocolos más antiguos y conocidos para la transferencia de archivos entre dispositivos conectados a una red TCP/IP. Su origen se remonta a los años 70 y, aunque hoy existen alternativas más seguras, sigue siendo ampliamente utilizado en administración de sistemas, desarrollo web y entornos donde se requiere mover grandes volúmenes de datos.

¿Qué es FTP?

FTP es un protocolo de la capa de aplicación que permite que un equipo cliente se conecte a un servidor para subir (upload) o descargar (download) archivos. Funciona bajo una arquitectura cliente-servidor, donde:

  • El cliente FTP inicia la conexión.

  • El servidor FTP gestiona las peticiones y permite el acceso a los archivos.

FTP utiliza dos puertos bien definidos:

  • 21/TCP → canal de control (comandos)

  • 20/TCP → canal de datos (transferencia)

¿Cómo funciona FTP?

Cuando un cliente se conecta a un servidor FTP, se establecen dos canales:

  • Canal de comandos: donde se envían instrucciones como USER, PASS, LIST, RETR, STOR

  • Canal de datos: por donde viajan los archivos o listados de directorios.

Existen dos modos de conexión:

  • Modo activo: el servidor inicia la conexión de datos hacia el cliente.

  • Modo pasivo: el cliente inicia ambas conexiones, útil cuando hay firewalls de por medio.

Tipos de acceso

  • Acceso autenticado: requiere usuario y contraseña.

  • Acceso anónimo: algunos servidores permiten entrar usando anonymous como usuario.

Modos de transferencia

FTP permite dos formas principales de enviar archivos:

  • ASCII → para texto plano.

  • Binario → para imágenes, ejecutables, archivos comprimidos, etc. (El modo binario evita corrupción de datos).

Ventajas y desventajas

Ventajas

  • Transferencia eficiente de archivos grandes.

  • Compatible con múltiples sistemas operativos.

  • Muy utilizado en administración de servidores y hosting web.

Desventajas

  • No cifra la información: usuario, contraseña y archivos viajan en texto plano.

  • Vulnerable a ataques de interceptación.

  • Requiere configuraciones adicionales en firewalls.

Por ello, hoy se recomiendan alternativas como SFTP o SCP, que cifran todo el tráfico.

Software FTP habitual

  • Clientes: FileZilla, WinSCP, Cyberduck.

  • Servidores: vsftpd, ProFTPD, FileZilla Server.


Práctica propuesta: Conexión a un servidor FTP

Objetivo:

Aprender a conectarse a un servidor FTP, listar archivos y transferir un fichero.

Material necesario:

  • Un cliente FTP (recomendado: FileZilla).

  • Un servidor FTP local o remoto (puede ser uno creado con FileZilla Server o un servidor de prácticas).

Pasos:

  1. Instala FileZilla Client en tu equipo.

  2. Obtén los datos de conexión del servidor FTP:

    • Dirección IP o dominio

    • Usuario

    • Contraseña

    • Puerto (normalmente 21)

  3. Abre FileZilla y escribe los datos en la parte superior.

  4. Pulsa Conexión rápida.

  5. En el panel izquierdo verás tus archivos locales; en el derecho, los del servidor.

  6. Sube un archivo arrastrándolo de izquierda a derecha.

  7. Descarga un archivo arrastrándolo de derecha a izquierda.

  8. Cambia entre modo activo y pasivo desde Edición → Configuración → FTP y observa las diferencias.