Correo electronico

32
SMTP, POP3 & IMAP

Transcript of Correo electronico

SMTP, POP3

& IMAP

El correo electrónico es considerado el

servicio mas utilizado de Internet. Por lo

tanto, la serie de protocolos TCP/IP

ofrece una gama de protocolos que

permiten una fácil administración del

enrutamiento de correo electrónico a

través de la red.

SMTP: Simple Mail Transfer Protocol

Familia: Familia de protocolos de Internet.

Función: Envio de mensajes de correo

electrónico

Capa: aplicación

Puertos: 25/TCP

465/TCP (SMTPS)

Estándares: RFC 821 (1982)

RFC 2821 (2001)

RFC 5321 (2008)

PROTOCOLO SENCILLO DE TRANSFERENCIA DE CORREO

En 1982 se diseñó el primer sistema

para intercambiar correos electrónicos

en ARPANET, definido en los RFC

821 y RFC 822. La primera de ellas

define este protocolo y la segunda el

formato del mensaje que este

protocolo debía transportar.

OBJETIVOProtocolo estándar que permite la

transferencia de correo de un servidor a

otro mediante una conexión punto a

punto.

El objetivo de SMTP es enviar correo de

una manera fiable y eficiente, es

independiente del sistema de transmisión

y únicamente requiere un canal de envío

de datos fiable y ordenado.

FUNCIONAMIENTO.Como todo sistema de comunicación,tendremos ue distinguir a los 2 implicados: elEMISOR y el RECEPTOR de correo.

SMTP está basado en el modelo decomunicación CLIENTE-SERVIDOR:

Como resultado de una petición de envíode correo por parte del usuario, el EMISORSMTP, que actúa como cliente, estableceuna conexión TCP con el RECEPTOR SMTP,que hace la función de servidor, este puedeser el equipo final al cual va dirigido elmensaje o bien un sistema intermedio.

Los comandos SMTP son generados por el cliente y

son enviados hacia el servidor. Las respuestas a

dichos comandos, por su parte funcionan de

manera inversa, es decir, son enviadas por el

servidor hacia el cliente.

Una vez que el canal ha sido establecido con el

comando HELO, el emisor envía un comando MAIL

indicando quien envía el mensaje. Si en receptor

SMTP puede aceptar mensajes para dicho

destinatario, responderá inmediatamente con un

OK. Posteriormente, el emisor SMTP envía un

comando RCPT identificado al destinatario del

mensaje. Si el receptor SMTP puede aceptar

mensajes para dicho destinatario, responderá

mediante un OK, en caso contrario rechazara el

mensaje.

Tanto el cliente como el servidor pueden

negociar varios destinatarios. Una vez que

han llegado a un acuerdo, el cliente envía

los datos del mensaje mediante el comando

DATA. Si el receptor recibe los datos de

manera correcta, responderá con un OK. El

canal se cerrara con el comando QUIT.

SMTP proporciona diferentes mecanismos para latransmisión de correo:

Directamente desde el host del usuario emisorhasta el host del usuario receptor cuandoambos host estan conectados al mismotransporte.

A través de uno o mas servidores SMTP, queretransmiten el mensaje, cuando origen ydesino no se encuentran en el mismo serviciode transporte.

Para poder proporcionar la capacidad deretransmisión, el servidor SMTP necesitaconocer el nombre del host destino, así comoel nombre del buzón al cual va dirigido elmensaje de correo.

COMANDOS Y RESPUESTAS. Los comandos y respuestas pueden ir escritos

en letras mayúsculas, minúsculas ocombinación de las mismas. Sin embargo losnombres del emisor y el receptor deben serescritos de la forma en ue fueron definidoscuando se dieron de alta, debido a quemuchos servidores realizan una distinción entreletras mayúsculas y minúsculas.

Estos comandos y respuestas se componen decaracteres ASCII. Cuando el servicio detransporte proporciona un canal de transmicionde 8 bits, cada carácter de 7 bits se enviacolocando un cero en el bit de mayor peso.

Tras establecer una canal se darán 3 pasos

para la realización de una transacción SMTP.

El primero de ellos se produce al escribir elcomando MAIL, el cual identifica al usuario

emisor .

A continuación sigue uno o varios comandos

del tipo RCPT, los cuales identifican a losusuarios finales a quienes se les quiere hacer

llegar el mensaje.

El tercer paso es el envío del mensaje de correo

en si, precedido de la orden DATA. El final del

mensaje se indica mediante la aparición de

una línea cuyo primer carácter es un punto.

ILUSTRANDO LA OPERATIVA DE

SMTP 1 Alicia invoca a su agente de usuario para correo

electrónico. Proporciona la dirección de correo de Roberto ([email protected]), escribe un mensaje y ordena al agente de usuario que lo envíe.

2 El agente de usuario de Alicia envía el mensaje a su servidor de correo donde es ubicado en una cola de mensajes.

3 El lado del cliente de SMTP, ejecutandose en el servidor de correo de Alicia, ve el mensaje en la cola de mensajes. Abre una conexión TCP con un servidor SMTP, que se esta ejecutando en el servidor de correo de Roberto.

4 Tras una sincronización SMTP inicial, el cliente

SMTP envía un mensaje a Alicia sobre la

conexión TCP.

5 En el servidor de correo de Roberto, al lado

servidor de SMTP recibe el mensaje. Entonces, el

servidor de correo de Roberto lo deposita en su

buzón de correo.

Roberto invoca a su agente de usuario para

leer el mensaje.

Ejemplo de transcripción de

mensajes intercambiados entre un

cliente y un servidor SMTP. S: hamburguer.edu

C: HELO crepes.fr S: 250 hello crepes.fr pleased to meet you

C: MAIL FROM < [email protected] >

S: 250 [email protected] … sender ok

C:RCPT TO: < [email protected] >

S: 250 [email protected] … Recipient ok C: DATA

S: 354 Enter mail, end with “.” on a line itself

C: Te gusta le ketchup?

C: Y los encurtidos?

C: . S:250 message accepted for delivery

C: QUIT

S: 221 hamburguer.edu closing connection

POP 3Post Office Protocol versión 3

Familia: Familia de protocolos de Internet.

Función: Obtención de mensajes de correo electrónico en clientes locales.

Capa: aplicación

Puertos: 110/TCP

995/TCP (Cifrado)

Estándares: RFC 1939 (1996)

Es utilizado para transferir correo desde

un servidor hasta una estación de

trabajo.

Cuando un cliente desea utilizar dicho

servicio, establece una conexión TCP

con el servidor. Una vez ue la conexión

ha sido realizada, tanto el servidor

como el cliente comienzan un dialogo

alternado.

El cliente y el servidor POP3 intercambian una serie

de comandos y respuestas hasta que la conexión

finalizada de manera ordenada o bien es abortada

por alguno de ellos.

Los comandos de POP3 consiste en una palabra

reservada seguida de uno o varios argumentos.

Todos los comandos finalizan mediante la

secuencia de caracteres <CRTL> y constan de 3 o 4

caracteres ASCII. Los argumentos pueden tener un

máximo de 40 caracteres.

El servidor por su parte envía una serie de respuestas

a los comandos. Estas respuestas pueden ser

afirmativas (+OK) o negativas (-ERR), y pueden

ocupar una o mas líneas; en caso de ser multilinea,

cada una de estas va finalizada con la secuencia

<CRTL>

ESTADOS DEL PROTOCOLO POP3Se pueden distinguir 3 estados o fases:

Cuando el cliente inicia una conexión TCP alpuerto 110, el servidor envía un saludo debienvenida. En este momento, la sesión entraen un estado denominado AUTHORIZATIONSTATE. Dentro de este estado el cliente debeidentificarse ante el servidor POP3 enviando sunombre de usuario así como la contraseña. Elnombre de usuario va precedido del comandoUSER y la contraseña del comando PASS

El servidor se encarga de validar dichainformación y aceptara o rechazara la conexióndel cliente.

Si los datos han sido validados satisfactoriamente, la sesión entra en un estado denominado TRANSACTION STATE, en el cual el servidor preparara toda la información realtivaal cliente, para que este pueda manipular su buzón mediante la serie de comandos específicos.

Tras la ejecución del comando QUIT la sesión entra en un estado denominado UPDATE STATE, en el cual se cierra la sesión de manera ordenada y por lo tanto se cierra también la conexión TCP.

Un servidor POP3 puede tener un periodo de inactividad de hasta 10 minutos momento por el cual se cierra la conexión.

EJEMPLOS. Dialogo en la fase de autorización

USER alex <CRTL>

+ OK alex is valid mailbox <CRTL>

PASS toiffell <CRTL>

+ OK alex´s maildrop has three messages <CRTL>

USER alej <CRTL>

- ERR sorry, no mailbox for alej here <CRTL>

USER alex <CRTL>

+ OK alex is valid mailbox <CRTL>

PASS brutus <CRTL>

- ERR invalid password <CRTL>

Dialogo en la fase de transacción.

Suponiendo que un usuario se ha identificado de

manera correcta:

STAT

+OK 3 10320

El usuario ha consultado el buzón y el servidor le informa

que tiene 3 mensajes los cuales ocupan 10320 bytes

Es posible obtener una información detallada

con el comando LIST

LIST 1

+ OK 1 100

De esta manera el servidor informa que el mensaje

numero ocupa 100 bytes. Sin embargo, puede resultar

mas interesante el comando LIST sin ningún argumento

ya que te desplega el detalle de todos los mensajes.

Dialogo en el estado de actualización.

La llegada a este estado se da tras la ejecución del

comando QUIT. En esta fase el buzón de correo del

usuario se desbloquea y se eliminan todos aquellos

mensajes que fueron marcados para borrar las

respuestas posibles que devuelve el servidor son:

+OK nombre_servidor POP3 server signing off

-ERR some deleted messages not removed

telnet mailServer 110

+OK POP3 server ready

USER roberto

+ OK

PASS hambriento

+OK user successfully logged on C:list S: 1 498

S: 2 912 S: . C: retr 1 S: (bla bla… S: … S: … bla)

S: . C: dele 1 C:retr 2 S: (bla bla … S: … S: … bla)

S: . C: dele 2 C: quit S: +OK POP3 server signing off

IMAPInternet Message Access Protocol

Familia: Familia de protocolos de Internet.

Función: Acceso a correo electrónico.

Capa: aplicación

Puertos: 143/TCP

220/TCP (IMAP3)

993/TCP (IMAPS)

Estándares: RFC 3501(IMAP 2003)

Es un protocolo de red de acceso a

mensajes electrónicos almacenados en un

servidor. Mediante IMAP se puede tener

acceso al correo electrónico desde

cualquier equipo que tenga una conexión a

Internet. IMAP tiene varias ventajas sobre

POP.

Es más complejo que POP ya que permite

visualizar los mensajes de manera remota y

no descargando los mensajes como lo hace

POP

VENTAJAS SOBRE POP3

Respaldo para los modos de operación en línea y fuera de línea

Al utilizar POP3, los clientes se conectan brevemente al servidor de correo, solamente el tiempo que les tome descargar los nuevos mensajes. Al utilizar IMAP, los clientes permanecen conectados el tiempo que su interfaz permanezca activa y descargan los mensajes bajo demanda. Esta manera de trabajar de IMAP puede dar tiempos de respuesta más rápidos para usuarios que tienen una gran cantidad de mensajes o mensajes grandes.

Respaldo para la conexión de múltiples

clientes simultáneos a un mismo destinatario

El protocolo POP3 supone que el cliente

conectado es el único dueño de una

cuenta de correo. En contraste, el protocolo

IMAP4 permite accesos simultáneos a

múltiples clientes y proporciona ciertos

mecanismos a los clientes para que se

detecten los cambios hechos a un buzón de

correo por otro cliente concurrentemente

conectado.

Respaldo para que la información de estado

del mensaje se mantenga en el servidor

A través de la utilización de señales

definidas en el protocolo IMAP4 de los

clientes, se puede vigilar el estado del

mensaje, por ejemplo, si el mensaje ha sido

o no leído, respondido o eliminado. Estas

señales se almacenan en el servidor, de

manera que varios clientes conectados al

mismo correo en diferente tiempo pueden

detectar los cambios hechos por otros

clientes.

Respaldo para accesos múltiples a los

buzones de correo en el servidor

Los clientes de IMAP4 pueden crear,

renombrar o eliminar correo (por lo

general presentado como carpetas al

usuario) del servidor, y mover mensajes

entre cuentas de correo. El soporte para

múltiples buzones de correo también le

permite al servidor proporcionar acceso

a los directorios públicos y compartidos.

Respaldo para búsquedas de parte del

servidor

IMAP4 proporciona un mecanismo para

que los clientes pidan al servidor que

busque mensajes de acuerdo a una

cierta variedad de criterios. Este

mecanismo evita que los clientes

descarguen todos los mensajes de su

buzón de correo, agilizando, de esta

manera, las búsquedas.

Respaldo para un mecanismo de extensión definido

Como reflejo de la experiencia en versiones anteriores de los protocolos de Internet, IMAP define un mecanismo explícito mediante el cual puede ser extendido. Se han propuesto muchas extensiones de IMAP4 y son de uso común.

Un ejemplo de extensión es el IMAP IDLE, que sirve para que el servidor avise al cliente cuando ha llegado un nuevo mensaje de correo y éstos se sincronicen. Sin esta extensión, para realizar la misma tarea, el cliente debería contactar periódicamente al servidor para ver si hay mensajes nuevos.

BIBLIOGRAFIA REDES DE COMPUTADORES. EN ENFOQUE

DESCENDENTE BASADO EN INTERNET.

JAMES F. KUROSE / KEITH W. ROSS

PEARSON

PROTOCOLOS DE INTERNET. DISEÑO E IMPLEMENTACION EN SISTEMAS UNIX.

ÁNGEL LÓPEZ / ALEJANDRO NOVO

ALFAOMEGA

REDES DE COMPUTADORAS

ANDREW S. TANENBAUM

PEARSON