FTP (File Transfer Protocol/Protocolo de transferencia de archivos)
Protocolo de la capa de aplicación que permite el intercambio de ficheros entre dos equipos de forma remota
La arquitectura de FTP es C/S, ergo intervienen dos sistemas de archivos, el del cliente y el del servidor
-
Servidor: Ofrece una serie de carpetas y archivos
-
Cliente: Accede a dichas carpetas pudiendo descargarse los archivos a su equipo local o subir ficheros a las carpetas remotas
-
FTP funciona en la capa de aplicación
-
FTP usa TCP en el nivel de transporte
-
Existe una simplificación de FTP llamada TFTP que usa UDP
Puerto:
El protocolo FTP utiliza los puertos 20 y 21 por defecto
- 21: usado para los comandos (cambiar de directorio, descargarse un fichero, etc.)
- 20: (generalmente): usado para los datos (contenido de los ficheros que se transfieren)

Modos de conexión:
Activa (Default):
Cliente: Establece una conexión a través de uno de sus puertos libres hacia el puerto 21 del servidor. A través de esa conexión envía el numero de puerto que usara para datos (Puerto Y)
Servidor: Iniciará la transferencia de datos desde su puerto 20 al puerto Y del cliente
Problema: El cortafuegos del cliente deberá estar configurado para aceptar conexiones entrantes en su puerto Y
Pasiva:
1.Cliente: El cliente establece una conexión desde uno de sus puertos libres hacia el puerto 21 del servidor. A través de esa conexión envía el comando PASV
2.Servidor: indica al cliente el no de puerto que debe usar (Z), de entre los que tiene libres él mismo
3.Cliente: inicia la transferencia desde uno de sus puertos libres al puerto Z del servidor

En la conexión activa el cliente baja archivos del servidor mientras que en la pasiva los sube
Tipos de transferencia
Son las maneras que tienen clientes y servidores de interpretar los bits que se envían en cada fichero
Binario (por defecto): transmite bit a bit. Útil cuando no deben agruparse los bits porque el fichero ya tiene una estructura propia (ficheros ejecutables, ISOs, imágenes, videos, audio, documentos, ficheros comprimidos…)
ASCII: transmite byte a byte (caracteres). Es más rápido. Útil para ficheros de texto puro (txt, HTML…)
- Si se envía un archivo binario en modo ASCII, se corrompe la estructura del archivo binario
- Si se envía un archivo ASCII en modo binario, llegará correctamente
Clientes FTP: Un cliente FTP permite conectarse a un servidor FTP, navegar entre sus carpetas y descargarse o subir archivos, así como gestionar diversas opciones generales de las transferencias o la conexión
Tipos:
- Modo texto (Comandos)
- Modo ,grafico
- Navegador web
- Aplicación de ventanas
Servidores FTP: Ofrece ficheros y directorios y opciones de transferencia y conexión Ejemplo: FileZilla: