Protocolos FTP y de Correo Electrónico: Funcionamiento y Arquitectura
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 8,97 KB
Protocolo de Transferencia de Ficheros (FTP)
El Protocolo de Transferencia de Ficheros (FTP, del inglés File Transfer Protocol) es un procedimiento estándar para transferir ficheros de un sistema a otro en una red TCP/IP. Está basado en la arquitectura cliente/servidor, de manera que desde un equipo cliente nos podemos conectar a un servidor para descargar ficheros desde él o para enviarle nuestros propios ficheros, independientemente del sistema operativo utilizado en cada equipo. FTP utiliza por defecto el puerto TCP 20 para transferencia de datos, y TCP 21 para el control.
Objetivos de FTP
- Conseguir una transferencia de datos eficiente y fiable, además de ser una transferencia rápida (transferir un fichero por FTP es más rápido que por HTTP).
- Independizar las necesidades de los usuarios de los diferentes sistemas de ficheros utilizados en máquinas diferentes.
Deficiencias de Seguridad en FTP
Sin embargo, este servicio presenta una serie de deficiencias en cuanto a seguridad:
- Utiliza el mecanismo “normal” de autenticación de usuarios a través de un nombre de usuario (login) y una contraseña (password), por lo que el servidor no puede garantizar que el usuario es quien dice ser.
- Transfiere las contraseñas en texto plano.
Tipos de Usuarios FTP
Existen dos tipos de usuario:
- Usuarios FTP: aquellos que disponen de una cuenta en la máquina que ofrece el servicio (el servidor FTP).
- Usuario Anónimo: es un usuario genérico para acceder a una parte pública del servidor FTP. El nombre del usuario normalmente es anonymous.
En cuanto a la seguridad, la transferencia de cualquier fichero se realiza en texto plano sin ningún tipo de cifrado. Una posibilidad para que nuestro usuario/clave no viaje sin cifrar por la red al abrir sesión FTP es utilizar SFTP (FTP seguro).
Modos de Transferencia FTP
Existen dos modos de transferencia:
- Modo ASCII: es el modo adecuado para transferir ficheros de texto plano, es decir, aquellos que puedes abrir con cualquier editor de textos.
- Modo binario: es el modo por defecto. Es adecuado para ficheros que no contienen texto plano y por tanto NO es posible verlos o manipularlos con un editor de texto. Son los ficheros ejecutables (programas), imágenes, etc.
Arquitectura Cliente-Servidor en FTP
FTP es un servicio basado en la arquitectura cliente/servidor y su funcionamiento es el siguiente:
- Existe un servidor FTP en la red, ya sea local o Internet, que es el que proporciona el servicio utilizando para ello los puertos 20 para la transferencia de datos, y 21 para la transferencia de órdenes de control.
- El usuario que desea transferir un fichero (recibir o enviar), utiliza un programa cliente-FTP que se conecta al servidor FTP, tomando como destino el puerto 21. Es necesario nombre de usuario y contraseña.
- Una vez establecida la conexión, el usuario puede hacer uso de las órdenes o comandos FTP para el manejo de ficheros y directorios remotos. Estos comandos se transfieren por el puerto de control (21).
- El manejo de ficheros incluye las operaciones de subida y bajada o descarga de ficheros, y el borrado de ficheros remotos; el manejo de directorios remotos incluye la creación de nuevos directorios y el borrado de los ya existentes.
- La transferencia de archivos se realiza por el puerto 20, estableciendo una comunicación bidireccional (enviar y recibir al mismo tiempo), aunque se puede configurar para que sea unidireccional.
- Para poder realizar cualquier operación en el servidor FTP, es necesario que el usuario que abre la sesión con dicho servidor tenga los permisos adecuados para poder realizarlas.
Servicio de Correo Electrónico (e-mail)
El correo electrónico (e-mail) es el servicio que permite la creación y transmisión de mensajes entre usuarios de la red sin necesidad de que estén conectados simultáneamente. Es el servicio más utilizado en Internet. Los mensajes pueden incluir archivos de texto, de sonido, video, imágenes, etc. (adjuntos o attachments). Para que dos usuarios puedan intercambiar mensajes de correo electrónico, ambos deben tener una cuenta de correo electrónico en una máquina que será el servidor de correo electrónico. Esta cuenta se identificará con una dirección de correo electrónico, que será única y tendrá la forma: nombre_usuario @nombre_dominio.
Elementos del Servicio de Correo Electrónico
- Mensaje de correo: Mensajes de texto que pueden incluir documentos adjuntos.
- Direcciones y cuentas de correo: Los usuarios disponen de direcciones de correo ([email protected]) asociada a una cuenta de correo.
- Servidores de correo: Son los encargados de gestionar el envío y recepción de mensajes.
- Buzones de correo (mailbox): Donde se depositan y almacenan los mensajes. Existen diferentes formatos de almacenamientos de mensajes en el buzón: mbox, maildir.
- MTA (Mail Transfer Agent, Agente de transferencia de correo): Es el proceso encargado de la transferencia de los mensajes de correo electrónico entre máquinas mediante la utilización del protocolo SMTP.
- MDA (Mail Delivery Agent, Agente de entrega de correo): Proceso que se encarga de copiar los mensajes del agente de transferencia de correo MTA o servidor de correo al buzón de correo del usuario. Son invocados por los MTA. El agente MDA no transporta mensajes entre sistemas ni es un interfaz de trabajo para el usuario. El agente de entrega (MDA) es en realidad el software que implementa los protocolos POP e IMAP.
- MUA (Mail User Agent, Agente de usuario de correo): El programa que utiliza el usuario para leer los mensajes de correo y también para escribirlos y enviarlos. Constituye el interfaz de usuario que le permite editar, componer y enviar correo. Este tipo de agente se le conoce como cliente de correo. Ejemplos: Microsoft Outlook, Mozilla Thunderbird.
Protocolos de Transferencia y Entrega de Correo
Flujo de comunicación: USER-MUA - MTA -INTERNET-MTA-MDA-MUA-USER
- Protocolos de transferencia de correo:
- SMTP y SMTP extendido (ESMTP)
- Comunicación entre clientes MUAs y MTAs y comunicación entre MTAs
- Protocolos de entrega de correo:
- POP e IMAP
- Comunicación entre clientes MUAs y servidores POP/IMAP
SMTP (Simple Mail Transfer Protocol)
La función de este protocolo es el transporte del correo saliente desde la máquina del usuario remitente hasta el servidor que almacena los mensajes de los usuarios destinatarios. SMTP es un protocolo de nivel de aplicación (OSI) y utiliza normalmente el puerto 25 en el servidor para establecer la conexión. SMTP no requiere autenticación; esto supone un gran problema, ya que favorece el envío y recepción de mucho correo basura (SPAM).
POP (Post Office Protocol)
El diseño de POP permite que los usuarios con conexiones no permanentes a Internet (tales como las conexiones por módem), descarguen sus mensajes de correo cuando se encuentren conectados de tal manera que puedan ver y manipular sus mensajes sin necesidad de permanecer conectado. El cliente POP3 se conecta al servidor a través del puerto 110. Si utiliza seguridad SSL el puerto es: 995.
Fases de POP
- Fase de conexión: el servidor está a la escucha en el puerto 110, esperando la conexión de un cliente de correo.
- Fase de autenticación: el servidor espera un nombre y clave de una cuenta. No es posible pasar a la fase siguiente si la validación del usuario no ha sido correcta.
- Fase de transacción: una vez validado el usuario, su buzón en el servidor se bloquea (para evitar inconsistencias) y está disponible para ser consultado. Se podrán mostrar, descargar y eliminar los mensajes del servidor.
- Fase de actualización: el usuario se desconecta y el servidor actualiza el buzón, elimina los mensajes que se han marcado para borrar y desbloquea el buzón.
IMAP (Internet Message Access Protocol)
IMAP (Internet Message Access Protocol) o protocolo de acceso a mensajes de Internet, es utilizado por los clientes de correo para acceder a los mensajes almacenados en servidores remotos. El puerto que utiliza es el 143. Si utiliza seguridad SSL el puerto es 993.