El protocolo de transferencia de archivos (FTP) es una herramienta de Internet proporcionada por TCP/IP. Abhay Bhushan desarrolló la primera característica de FTP en 1971. Ayuda a transferir archivos de una computadora a otra al proporcionar acceso a directorios o carpetas en computadoras remotas y permite transferir software, datos y archivos de texto entre diferentes tipos de computadoras. El usuario final en la conexión se conoce como host local y el servidor que proporciona los datos se conoce como host remoto.
Los objetivos de FTP son:
- Fomenta el uso directo de equipos remotos.
- Protege a los usuarios de las variaciones del sistema (sistema operativo, estructuras de directorios, estructuras de archivos, etc.)
- Promueve el intercambio de archivos y otros tipos de datos.
¿Por qué FTP?
FTP es un protocolo de comunicación estándar. Hay varios otros protocolos como HTTP que se usan para transferir archivos entre computadoras, pero carecen de claridad y enfoque en comparación con FTP. Además, los sistemas involucrados en la conexión son sistemas heterogéneos, es decir, difieren en sistemas operativos, directorios, estructuras, juegos de caracteres, etc. El FTP protege al usuario de estas diferencias y transfiere datos de manera eficiente y confiable. FTP puede transferir archivos ASCII, EBCDIC o de imagen. El ASCII es el formato predeterminado para compartir archivos, en este, cada carácter está codificado por NVT ASCII. En ASCII o EBCDIC el destino debe estar preparado para aceptar archivos en este modo. El formato de archivo de imagen es el formato predeterminado para transformar archivos binarios.
Clientes FTP
FTP funciona en un modelo cliente-servidor. El cliente FTP es un programa que se ejecuta en la computadora del usuario para permitirle hablar y obtener archivos de computadoras remotas. Es un conjunto de comandos que establece la conexión entre dos hosts, ayuda a transferir los archivos y luego cierra la conexión. Algunos de los comandos son: get filename (recuperar el archivo del servidor), mget filename (recuperar varios archivos del servidor ), ls (enumera los archivos disponibles en el directorio actual del servidor). También hay programas FTP incorporados, lo que facilita la transferencia de archivos y no requiere recordar los comandos.
Tipo de conexiones FTP
Las conexiones FTP son de dos tipos:
Conexión FTP Activa: En una conexión FTP Activa, el cliente establece el canal de comando y el servidor establece el canal de datos. Cuando el cliente solicita los datos a través de la conexión, el servidor inicia la transferencia de los datos al cliente. No es la conexión predeterminada porque puede causar problemas si hay un firewall entre el cliente y el servidor.
Conexión FTP Pasivo: En una conexión FTP Pasivo, el cliente establece tanto el canal de datos como el canal de comando. Cuando el cliente solicita los datos a través de la conexión, el servidor envía un número de puerto aleatorio al cliente, tan pronto como el cliente recibe este número de puerto, establece el canal de datos. Es la conexión por defecto, ya que funciona mejor aunque el cliente esté protegido por el cortafuegos.
FTP anónimo
Algunos sitios pueden habilitar FTP anónimo cuyos archivos están disponibles para el acceso público. Entonces, el usuario puede acceder a esos archivos sin ningún nombre de usuario o contraseña. En su lugar, el nombre de usuario se establece en anónimo y la contraseña en el invitado de forma predeterminada. Aquí, el acceso del usuario es muy limitado. Por ejemplo, el usuario puede copiar los archivos pero no puede navegar por los directorios.
¿Cómo funciona FTP?
La conexión FTP se establece entre dos sistemas y se comunican entre sí mediante una red. Entonces, para la conexión, el usuario puede obtener permiso proporcionando las credenciales al servidor FTP o puede usar FTP anónimo.
Cuando se establece una conexión FTP, también se establecen dos tipos de canales de comunicación y se conocen como canal de comando y canal de datos. El canal de comando se utiliza para transferir los comandos y las respuestas del cliente al servidor y del servidor al cliente. FTP utiliza el mismo enfoque que TELNET o SMTP para comunicarse a través de la conexión de control. Utiliza el conjunto de caracteres NVT ASCII para la comunicación. Utiliza el número de puerto 21. Mientras que el canal de datos se utiliza para transferir los datos entre el cliente y el servidor. Utiliza el puerto número 20.
El cliente FTP que usa la URL proporciona el comando FTP junto con la dirección del servidor FTP. Tan pronto como el servidor y el cliente se conectan a la red, el usuario inicia sesión con ID de usuario y contraseña. Si el usuario no está registrado en el servidor, también puede acceder a los archivos utilizando el inicio de sesión anónimo donde la contraseña es la dirección de correo electrónico del cliente. El servidor verifica el inicio de sesión del usuario y permite que el cliente acceda a los archivos. El cliente transfiere los archivos deseados y sale de la conexión. La siguiente figura muestra el funcionamiento de FTP.
Modo de transmisión
Transferencia FTP de archivos usando cualquiera de los siguientes modos:
- Modo Stream: Es el modo por defecto. En modo Steam, los datos se transfieren de FTP a TCP en flujo de bytes. Aquí TCP es la causa de la fragmentación de datos en pequeños segmentos. La conexión se cierra automáticamente si los datos de transformación están en los bytes de flujo. De lo contrario, el remitente cerrará la conexión.
- Modo de bloque: en el modo de bloque, los datos se transfieren de FTP a TCP en forma de bloques, y cada bloque va seguido de un encabezado de 3 bytes. El primer byte del bloque contiene la información sobre el bloque, por lo que se conoce como bloque de descripción y los otros dos bytes contienen el tamaño del bloque.
- Modo comprimido: este modo se utiliza para transferir archivos grandes. Como sabemos, debido al límite de tamaño, no podemos transferir archivos grandes en Internet, por lo que se utiliza el modo comprimido para reducir el tamaño del archivo a uno pequeño y enviarlo por Internet.
Aplicaciones de FTP
Las siguientes son las aplicaciones de FTP:
- La conexión FTP es utilizada por diferentes organizaciones de grandes empresas para transferir archivos entre ellas, como compartir archivos con otros empleados que trabajan en diferentes ubicaciones o diferentes sucursales de la organización.
- Las empresas de TI utilizan la conexión FTP para proporcionar archivos de copia de seguridad en los sitios de recuperación ante desastres.
- Los servicios financieros utilizan conexiones FTP para transferir de forma segura documentos financieros a la empresa, organización o gobierno correspondiente.
- Los empleados usan conexiones FTP para compartir datos con sus compañeros de trabajo.
Ventajas
- Múltiples transferencias: FTP ayuda a transferir múltiples archivos grandes entre los sistemas.
- Eficiencia: FTP ayuda a organizar archivos de manera eficiente y transferirlos eficientemente a través de la red.
- Seguridad: FTP proporciona acceso a cualquier usuario solo a través de ID de usuario y contraseña. Además, el servidor puede crear múltiples niveles de acceso.
- Transferencia continua: si la transferencia del archivo se interrumpe por cualquier medio, el usuario puede reanudar la transferencia del archivo cada vez que se establezca la conexión.
- Simple: FTP es muy simple de implementar y usar, por lo que es una conexión muy utilizada.
- Velocidad: Es la forma más rápida de transferir archivos de una computadora a otra.
Desventajas
- Menos seguridad: FTP no proporciona una función de cifrado al transferir archivos. Además, el nombre de usuario y las contraseñas están en texto sin formato y no en una combinación de símbolos, dígitos y alfabetos, lo que facilita el ataque de los piratas informáticos.
- Tecnología antigua: FTP es uno de los protocolos más antiguos y, por lo tanto, utiliza varias conexiones TCP/IP para transferir archivos. Estas conexiones se ven obstaculizadas por cortafuegos.
- Virus: La conexión FTP es difícil de escanear en busca de virus, lo que nuevamente aumenta el riesgo de vulnerabilidad.
- Limitado: el FTP proporciona permisos de usuario y acceso a dispositivos móviles muy limitados.
- Memoria y programación: FTP requiere más memoria y esfuerzos de programación, ya que es muy difícil encontrar errores sin los comandos.