Protocolo FTP: ventajas y desventajas de su uso
Al hablar de transferencia de archivos entre equipos informáticos, uno de los nombres que aparecen es el del protocolo FTP, que está entre los primeros diseñados para la arquitectura TCP/IP.
¿Qué es el protocolo FTP?
FTP (File Transfer Protocol) es un protocolo desarrollado en la capa de aplicación del modelo de capas de TCP/IP. Al ser una arquitectura estándar para conectarse a Internet, puede utilizarse independientemente del sistema operativo.
Basado en la arquitectura cliente-servidor, representa la relación establecida entre dos nodos al conectar entre sí. Uno (cliente) envía solicitud de conexión al otro (servidor) quien facilita una respuesta.
El servidor proporciona a los clientes uno o varios directorios (directorios remotos) en los que podrán subir o bajar los archivos y trabajar con ellos.
La conexión puede realizarse mediante comandos en el Powershell de Windows o en las terminales de Linux y MacOS, o en modo gráfico (más sencillo) con programas como Filezilla.
Cómo crear una cuenta FTP
Tener conexión a Internet es primordial. Seguidamente, el usuario inicia un cliente FTP y solicita una conexión con el servidor, bien identificándose o bien de forma anónima.
Al conectar, el cliente podrá enviar comandos u órdenes FTP solicitando procesos al servidor. Una vez gestionados, este enviará respuestas FTP.
La respuesta del servidor no inicia la transferencia de datos (se tratará de una conexión de control). Esta empezará cuando tenga lugar el proceso de envío del archivo solicitado (conexión de datos).
Para conectar mediante comandos se utilizan los llamados comandos FTP. Existen tres tipos:
- De control de acceso: Para autenticar al usuario.
- De parámetros de transferencia: Con ellos se especifican cosas como el modo de conexión, el puerto y los tipos de transferencia.
- De servicio FTP: Para operar sobre directorios y archivos remotos.ser
La conexión cliente-servidor puede realizarse en modo activo o pasivo. El primero es el modo por defecto, mientras que en el pasivo el cliente solicita al servidor un puerto disponible para la conexión y la realiza una vez obtenido.
Cómo hacer transferencia de archivos con Filezilla
La opción más sencilla para una conexión FTP en usuarios inexpertos es utilizar clientes gráficos por su interfaz intuitiva. Algunos ejemplos son Filezilla (server y client), Microsoft FTP server o Vsftpd (para Linux).
Filezilla es un software multiplataforma, es decir, válido para distintos sistemas operativos. Su interfaz se divide en áreas como el menú, barra de herramientas, barra de conexión rápida, área de mensajes, árboles de directorios y área de cola de transferencia.
Para conectar con el servidor, en la barra de conexión rápida introduciremos el nombre o IP del servidor, el nombre de usuario y la contraseña (anonymous para conexión anónima) y el puerto de escucha del servidor.
En el área de mensajes veremos información sobre el envío de comandos, la respuesta y si se estableció conexión o hubo algún error
Al conectar, en los árboles de directorios aparecerán directorios y archivos presentes en el servidor al que se ha conectado el cliente y podremos navegar por ellos.
Ventajas y desventajas del protocolo FTP
Entre sus ventajas destacan:
- Conexión rápida y directa con el servidor.
- Multiplataforma.
- Capacidad de envío de muchos archivos.
- La cola de envío puede reanudarse.
- Las operaciones se hacen bidireccionalmente.
- Al existir clientes gráficos, no es necesario tener conocimientos de programación.
Pero existen desventajas a tener en cuenta:
- Si no utiliza el protocolo de encriptado SSL, el envío de paquetes se hace sin cifrar.
- Los procesos no pueden automatizarse.
- Las subidas o descargas de archivos han de hacerse archivo por archivo.
- Sin certificado de seguridad, las conexiones son inseguras.
- Protocolo veterano y algo desfasado respecto a otras opciones.
Ya conocemos más sobre el protocolo FTP, una sencilla manera de iniciarse en la transferencia de archivos entre equipos.
Vicente Salvador
CEO y fundador, Analista y Programador Fullstack Senior
"La programación es el lenguaje que da vida a las ideas, transformando el código en soluciones que moldean nuestro mundo digital."