TFTP (Trivial File Transfer Protocol) / FTP (File Transfer Protocol)
FTP (File Transfer Protocol) y TFTP (Trivial File Transfer Protocol) son dos protocolos fundamentales en la industria para la transferencia de archivos a través de una red. Aunque ambos cumplen un propósito similar, presentan diferencias clave en su funcionalidad y seguridad.
FTP: El Protocolo Robusto
Características Principales:
- Conexiones: Utiliza TCP (puertos 20 y 21) para una comunicación orientada a conexión. El puerto 21 se usa para el control y el puerto 20 para la transferencia de datos.
- Seguridad: Permite el uso de nombres de usuario y contraseñas para la autenticación, aunque la información se envía sin cifrar de forma predeterminada. Para mayor seguridad, se puede actualizar a FTPS (FTP over SSL/TLS) o SFTP (SSH File Transfer Protocol).
- Funcionalidad: Es un protocolo más complejo que TFTP. Permite navegar por directorios, crear y eliminar directorios, y listar archivos.
- Modos de Conexión:
- Modo Activo: El servidor inicia la conexión de datos con el cliente.
- Modo Pasivo: El cliente inicia la conexión de datos, lo que es útil cuando hay un firewall bloqueando las conexiones entrantes al cliente.
Fases de una Conexión FTP:
- Conexión: El cliente envía una solicitud al servidor, y el servidor responde estableciendo la conexión.
- Transferencia de Datos: El cliente y el servidor intercambian mensajes de datos FTP.
- Terminación de Conexión: Una vez finalizada la transferencia de datos, se envía una confirmación final para terminar la conexión.
TFTP: La Alternativa Ligera
Características Principales:
- Origen: Fue estandarizado en 1981.
- Conexiones: Utiliza UDP (puerto 69) para una comunicación sin conexión, lo que lo hace “trivial” en comparación con FTP.
- Simplicidad: Solo permite copiar un archivo hacia o desde un servidor.
- Seguridad: No tiene autenticación (nombre de usuario/contraseña) y toda la información se envía en texto plano. No es adecuado para entornos donde la seguridad es primordial.
- Uso: Ideal para la transferencia de archivos pequeños en entornos controlados, como la actualización de sistemas operativos de dispositivos de red.
Fiabilidad de TFTP:
A pesar de usar UDP, TFTP incorpora un mecanismo de “lock-step” para la fiabilidad. Cada bloque de datos enviado debe ser reconocido (Ack) antes de que se envíe el siguiente. Si no se recibe un Ack, el bloque se retransmite.
Identificador de Transferencia (TID) en TFTP:
Cuando el cliente envía el primer mensaje, el puerto de destino es UDP 69. El servidor selecciona un TID aleatorio para usar como puerto de origen. Para los mensajes subsiguientes, el puerto de destino del servidor será el TID.
Comparativa FTP vs. TFTP
| Característica | FTP | TFTP |
|---|---|---|
| Protocolo | TCP (20, 21) | UDP (69) |
| Tipo Conexión | Orientada a conexión | Sin conexión (básica fiabilidad propia) |
| Autenticación | Usuario/Contraseña (opcionalmente segura con FTPS/SFTP) | No hay autenticación |
| Complejidad | Más complejo | Más simple |
| Funcionalidad | Navegación de directorios, más acciones | Solo copia de archivos |
Aplicaciones: Actualizando Cisco IOS
Una de las aplicaciones más comunes para TFTP y FTP es la actualización del sistema operativo (IOS) de dispositivos de red, como los de Cisco.
Pasos para Actualizar el IOS usando TFTP:
- Obtener la imagen del IOS de Cisco.
- Colocar la imagen del IOS en un servidor TFTP accesible por el dispositivo.
- Copiar la imagen del IOS al dispositivo de red.
Ejemplo de Comando TFTP en un Router Cisco:
Para copiar una imagen desde un servidor TFTP a un router:
R1#copy tftp: flash:
Address or name of remote host [192.168.1.1]? 192.168.1.1
Source filename [c2900-universalk9-mz.SPA.151-4.M4.bin]? c2900-universalk9-mz.SPA.151-4.M4.bin
Destination filename [c2900-universalk9-mz.SPA.151-4.M4.bin]?
Configuración de FTP en un Router Cisco (para usarlo como servidor o cliente):
Para configurar un nombre de usuario y contraseña para FTP en el router:
R1(config)#ip ftp username cisco
R1(config)#ip ftp password cisco
R1(config)#exit
Luego, puedes usar el comando copy ftp: flash: de manera similar a TFTP, pero el router solicitará las credenciales FTP.
Sistema de Archivos IOS
Es importante entender el sistema de archivos de un dispositivo Cisco:
- flash: Almacenamiento para el IOS.
- nvram: NVRAM interna, donde se guarda el archivo de configuración de inicio (
startup-config). - network: Representa el sistema de archivos externo, como servidores TFTP.
- tftp: Directorio para servidores TFTP.
Puedes ver el contenido de los sistemas de archivos con el comando show file systems o show flash.
🧐 Entender las diferencias y usos de FTP y TFTP es crucial para cualquier ingeniero de red que necesite transferir archivos de forma eficiente y segura.
Para obtener una guía de comandos consultar Configuración TFTP/FTP