FTP es un protocolo de red que es ampliamente utilizado, para transferir archivos entre ordenadores a través de una red basada en TCP/IP, como Internet.

También permite entre los usuarios y aplicaciones, intercambiar y compartir datos dentro de las oficinas y a través de la red.

El FTP es una de las primeras tecnologías desarrolladas para resolver esta necesidad común, y sigue siendo, el segundo protocolo más popular utilizado a día de hoy (después de HTTP o la "WWW").

¿Cómo funciona el protocolo FTP?

FTP es un protocolo cliente-servidor y se basa en dos canales de comunicación entre el cliente y el servidor.

Conexión de control: El cliente FTP, por ejemplo, FileZilla envía una solicitud de conexión normalmente al puerto número 21 del servidor. Esta es la conexión de control. Se utiliza para enviar y recibir comandos y respuestas. Normalmente un usuario necesita iniciar sesión en el servidor FTP para establecer la conexión, pero hay algunos servidores que ponen a disposición todo su contenido sin necesidad de iniciar sesión. Estos servidores se conocen como FTP anónimo.

Conexión de datos: Para transferir los archivos y carpetas se utiliza una conexión separada llamada conexión de datos.

Esta conexión se puede establecer de dos maneras:

Modo activo: En este modo, el usuario se conecta desde un puerto aleatorio (puerto aleatorio 1) en el cliente FTP al puerto 21 del servidor. Envía el comando PORT que indica al servidor a qué puerto del cliente debe conectarse, es decir, (puerto aleatorio 2).

El servidor se conecta desde el puerto 20 al puerto que el cliente ha designado, es decir, el puerto aleatorio 2. Una vez establecida la conexión, la transferencia de datos tiene lugar a través de estos puertos del cliente y del servidor.

Modo pasivo: En la situación en la que el cliente no puede aceptar la conexión, como cuando está bloqueado por un cortafuegos, hay que utilizar el modo pasivo. Este es el modo más común porque hoy en día el cliente está detrás del cortafuegos (por ejemplo, el cortafuegos integrado de Windows).

En este modo, el usuario se conecta desde un puerto aleatorio (puerto aleatorio 1) en el cliente FTP al puerto 21 del servidor. Se envía el comando PASV que indica al cliente a qué puerto del servidor debe conectarse (puerto aleatorio 3) para establecer la conexión. El cliente se conecta desde el puerto aleatorio 2 al puerto que el servidor ha designado, es decir, el puerto aleatorio 3.

Una vez establecida la conexión, las transferencias de datos tienen lugar a través de estos puertos del cliente y del servidor.

¿Qué aplicación puedo utilizar para transferencias FTP?

La aplicación por excelencia es FileZilla. Este software esta disponible para su versión de cliente, y en su versión de servidor. Pero la más demandada es la primera de ellas.

Su funcionamiento es exactamente como hemos explicado en el punto anterior. Realizando una conexión cliente/servidor.

filezilla

Podemos realizar de manera muy intuitiva conexiones a servidores donde se aloje la fuente de datos a consultar o manipular. Su funcionamiento es simple, únicamente necesitaremos unas credenciales facilitadas por la compañía de alojamiento donde se ubique el servidor que necesitamos acceder o del propietario del servidor FTP.

Suele ser un nombre de host, o bien una dirección IP, junto a un usuario asignado, y a una contraseña asignada. De este modo, introducimos nuestras credenciales y ¡vualá! Tendremos acceso a los archivos que nos permitan manejar.

Otros programas para FTP

Cabe destacar que FileZilla es el software más conocido a nivel mundial. Pero no debemos olvidar que existen alternativas a este programa.

  • WISE-FTP: Este software es también bastante conocido, lo que le diferencia de su máximo competidor, es que es un programa de pago. Pero nos ofrece la oportunidad de probarlo durante un periodo de treinta días, antes de decidirnos a comprarlo.
  • Transmit: Si disponemos de un sistema operativo macOS, este es una gran opción a barajar. Ya que su calidad visual es excelente, nos hace bastante ameno el uso de este software, a demás de que tiene diversas funcionalidades, como puede ser el "Quick-Connect".
  • FireFTP: Nos encontramos ante una extensión para navegadores web, lo que hace que no tengamos que estar instalando programas en nuestro equipo, y que podamos acceder de manera rápida y sencilla. Una gran ventaja de esta extensión, es que nos permite realizar encriptaciones SSL/TLS y sincronizar nuestros directorios. Por lo que la hace una buena alternativa.

Podríamos seguir nombrando innumerables programas para realizar transferencia de archivos FTP, ya que actualmente existen decenas de softwares dedicados a ello, algunos con más ventajas que otros, pero al final, cumplen todos con el objetivo de estableces conexiones cliente/servidor