Protocolo de transferencia de archivos (FTP) en la capa de aplicación – Part 1

Requisito previo: Protocolos en la capa de aplicación 

El Protocolo de transferencia de archivos (FTP) es un protocolo de capa de aplicación que mueve archivos entre sistemas de archivos locales y remotos. Se ejecuta sobre TCP, como HTTP. Para transferir un archivo, FTP utiliza 2 conexiones TCP en paralelo: conexión de control y conexión de datos. 

¿Qué es una conexión de control?  
Para enviar información de control como identificación de usuario, contraseña, comandos para cambiar el directorio remoto, comandos para recuperar y almacenar archivos, etc., FTP utiliza una conexión de control. La conexión de control se inicia en el puerto número 21. 

¿Qué es una conexión de datos?  
Para enviar el archivo real, FTP utiliza una conexión de datos. Se inicia una conexión de datos en el puerto número 20. 
FTP envía la información de control fuera de banda, ya que utiliza una conexión de control independiente. Algunos protocolos envían sus líneas de encabezado de solicitud y respuesta y los datos en la misma conexión TCP. Por esta razón, se dice que envían su información de control en banda. HTTP y SMTP son tales ejemplos. 

Sesión FTP: 
cuando se inicia una sesión FTP entre un cliente y un servidor, el cliente inicia una conexión TCP de control con el lado del servidor. El cliente envía información de control sobre esto. Cuando el servidor recibe esto, inicia una conexión de datos al lado del cliente. Solo se puede enviar un archivo a través de una conexión de datos. Pero la conexión de control permanece activa durante toda la sesión del usuario. Como sabemos, HTTP no tiene estado, es decir, no tiene que realizar un seguimiento de ningún estado de usuario. Pero FTP necesita mantener un estado sobre su usuario a lo largo de la sesión. 

Estructuras de datos: FTP permite tres tipos de estructuras de datos: 

  1. Estructura de archivos: en la estructura de archivos, no hay una estructura interna y se considera que el archivo es una secuencia continua de bytes de datos.
  2. Estructura de registro: en la estructura de registro, el archivo se compone de registros secuenciales.
  3. Estructura de la página: en la estructura de la página, el archivo se compone de páginas indexadas independientes.

Comandos FTP: algunos de los comandos FTP son: 

USUARIO : este comando envía la identificación del usuario al servidor. 
PASS : este comando envía la contraseña del usuario al servidor. 
CWD : este comando permite al usuario trabajar con un directorio o conjunto de datos diferente para el almacenamiento o la recuperación de archivos sin alterar su información de inicio de sesión o de contabilidad. 
RMD : este comando hace que el directorio especificado en el nombre de la ruta se elimine como directorio. 
MKD : este comando hace que el directorio especificado en el nombre de la ruta se cree como un directorio. 
PWD : este comando hace que se devuelva el nombre del directorio de trabajo actual en la respuesta. 
RETR– Este comando hace que el host remoto inicie una conexión de datos y envíe el archivo solicitado a través de la conexión de datos. 
STOR : este comando hace que se almacene un archivo en el directorio actual del host remoto. 
LISTA : envía una solicitud para mostrar la lista de todos los archivos presentes en el directorio. 
ABOR : este comando le dice al servidor que cancele el comando de servicio FTP anterior y cualquier transferencia de datos asociada. 
SALIR : este comando finaliza un USUARIO y, si la transferencia de archivos no está en curso, el servidor cierra la conexión de control. 

Respuestas de FTP: algunas de las respuestas de FTP son: 

200 Comando bien. 
530 No iniciado sesión. 
331 Nombre de usuario correcto, necesito una contraseña. 
225 Conexión de datos abierta; ninguna transferencia en curso. 
221 Conexión de control de cierre de servicio. 
551 Acción solicitada anulada: tipo de página desconocido. 
502 Comando no implementado. 
503 Mala secuencia de comandos. 
504 Comando no implementado para ese parámetro. 
 

  • FTP utiliza TCP como protocolo de capa de transporte.
  • Es bueno para transferencias de archivos simples, como durante el arranque.
  • Los errores en la transmisión (paquetes perdidos, errores de suma de control) deben ser manejados por el servidor TFTP.
  • Utiliza una sola conexión a través del conocido puerto 69.
  • TFTP utiliza un protocolo de paso de bloqueo simple (cada paquete de datos debe ser reconocido). Por lo tanto, el rendimiento es limitado.

Ventajas de FTP (Protocolo de transferencia de archivos): –

  • La velocidad es una de las ventajas de FTP (Protocolo de transferencia de archivos).
  • El intercambio de archivos también entra en la categoría de ventajas de FTP, ya que entre dos máquinas se pueden compartir archivos en la red.
  • La eficiencia es más en FTP.

Desventajas de FTP (Protocolo de transferencia de archivos): –

  • El límite de tamaño de archivo es el inconveniente de FTP, solo se pueden transferir archivos de 2 GB.
  • El FTP no admite varios receptores.
  • FTP no cifra los datos, este es uno de los mayores inconvenientes de FTP.
  • FTP no es seguro, usamos ID de inicio de sesión y contraseñas para hacerlo seguro, pero pueden ser atacados por piratas informáticos.

FTP anónimo:   el FTP anónimo está habilitado en algunos sitios cuyos archivos están disponibles para el acceso público. Un usuario puede acceder a estos archivos sin tener 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 de los usuarios es muy limitado. Por ejemplo, se puede permitir que el usuario copie los archivos pero no que navegue por los directorios. 

Este artículo es una contribución de Aciv Chauhan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *