Protocolo de transferencia de archivos


El Protocolo de transferencia de archivos ( FTP ) es un protocolo de comunicación estándar utilizado para la transferencia de archivos informáticos desde un servidor a un cliente en una red informática . FTP se basa en una arquitectura de modelo cliente-servidor que utiliza conexiones de datos y control separadas entre el cliente y el servidor. [2] Los usuarios de FTP pueden autenticarse con un protocolo de inicio de sesión de texto claro , normalmente en forma de nombre de usuario y contraseña, pero pueden conectarse de forma anónima si el servidor está configurado para permitirlo. Para una transmisión segura que proteja el nombre de usuario y la contraseña, y cifre el contenido, el FTP suele protegerse conSSL/TLS ( FTPS ) o reemplazado por el Protocolo de transferencia de archivos SSH (SFTP).

Las primeras aplicaciones de cliente FTP fueron programas de línea de comandos desarrollados antes de que los sistemas operativos tuvieran interfaces gráficas de usuario y todavía se envían con la mayoría de los sistemas operativos Windows , Unix y Linux . [3] [4] Desde entonces, se han desarrollado muchos clientes FTP y utilidades de automatización para equipos de escritorio , servidores, dispositivos móviles y hardware, y FTP se ha incorporado a aplicaciones de productividad, como editores de HTML .

En enero de 2021, se deshabilitó la compatibilidad con el protocolo FTP en Google Chrome 88, [5] y se deshabilitó en Firefox 88.0. [6] En julio de 2021, Firefox 90 eliminó FTP por completo, [7] y Google hizo lo mismo en octubre de 2021, eliminando FTP por completo en Google Chrome 95. [8]

La especificación original para el Protocolo de transferencia de archivos fue escrita por Abhay Bhushan y publicada como RFC  114 el 16 de abril de 1971. Hasta 1980, FTP se ejecutó en NCP , el predecesor de TCP/IP . [3] Posteriormente, el protocolo fue reemplazado por una versión TCP/IP, RFC 765 (junio de 1980) y RFC 959 (octubre de 1985), la especificación actual. Varios estándares propuestos modifican RFC 959 , por ejemplo, RFC 1579 (febrero de 1994) habilita FTP compatible con firewall (modo pasivo), RFC 2228 (junio de 1997) propone extensiones de seguridad, RFC      2428 (septiembre de 1998) agrega soporte para IPv6 y define un nuevo tipo de modo pasivo. [9]

FTP puede ejecutarse en modo activo o pasivo , lo que determina cómo se establece la conexión de datos. [10] (Este sentido de "modo" es diferente del comando MODE en el protocolo FTP y corresponde a los comandos PORT/PASV/EPSV/etc.) En ambos casos, el cliente crea una conexión de control TCP desde un puerto N aleatorio, generalmente sin privilegios , al puerto de comando del servidor FTP 21.

Ambos modos se actualizaron en septiembre de 1998 para admitir IPv6 . Se introdujeron más cambios en el modo pasivo en ese momento, actualizándolo al modo pasivo extendido . [12]


Ilustración de cómo iniciar una conexión pasiva usando el puerto 21