Clase 03: Apps: e-mail y DNS Flashcards
Primera nocion de funcionamiento de mail.
- El usuario redacta un correo en su UA
- Luego, UA lo envía el correo al svr del usuario
- Este svr lo envía la svr del destinatario
- Finalmente, svr destino deposita el correo en la casilla del remitente
¿Cómo se accede al mail?
El usuario se autentica (usr,passwd) ante su svr
¿Qué sucede si el svr destino se encuentra inaccesible?
> El origen retiene el mensaje por un tiempo
Reintentará enviarlo cada 30 minutos
Si la falla persiste por un par de días
+ Se descarta el correo
+ svr le envía una notificación al usuario origen de lo sucedido
Protocolo de capa de transporte: TCP
> ¿Por qué?
Porque necesita garantizar entrega, orden e integridad
Problemas de legacy
• El mensaje (header+data) debe estar en ASCII 7-bits
> ¿Por qué? Porque en 80s la capacidad era baja!
• ASCII 7-bits: problema para archivos adjuntos (binario)
> Solución: bin —> ASCII —> bin
SMTP: Ejemplo de funcionamiento
- A abre UA, inserta dir destino, escribe el mensaje y lo envía
- UA de A, envía el mensaje al svr(A). Es encolado a la salida
- svr(A) inicia una conexión TCP con svr(B)
- handshake SMTP, luego Tx de mensaje
- svr(B) recibe el mensaje y lo coloca en la casilla de B
- B en algún momento accederá a su casilla
Se utilizand servers intermedios SMTP en el envio?
NO.
SMTP características
• svr(A) establece una conexión TCP al puerto 25 de svr(B)
• Luego handshake SMTP (nivel de App)
• Inicio de mensaje
> Se notifican direcciones de correo de origen y destino
• Luego se envían los datos (payload)
• Conexión Persistente
> Si svr(A) debe enviar varios mensajes a svr(B) lo hace sin volver a iniciar la conexion (Sin QUIT en el medio)
Cuales son los 5 comandos necesarios para enviar un correo electronico?
- helo
- mail from
- rcpt to
- data
- quit
Diferencias SMPT vs HTTP
- Pull - Push
• HTTP: Pull
> El contenido esta en el svr y el usr lo peticiona cuando quiere
• SMTP: Push
> El generador del contenido es quien decide cuándo y a dónde este contenido va - Codificacion
• HTTP: Header ASCII 8-bits + data sin restricciones
> La codificación se expresa en una línea de header HTTP (Content-Type)
• SMTP: Todo en ASCII 7-bits
3. Estructura del msj. • HTTP: HTML base + objetos > 1 GET por cada uno de los objetos • SMTP: Mensaje único > Todo el contenido del correo es enviado en único mensaje
Si B usa una aplicación para acceder a su casilla en svr(B), ¿Por qué A directamente no le envía el correo a B?
No es factible por las siguientes limitaciones
• B tendría que estar siempre encendido
> (no sabe cuando va a recibir un correo)
• B tiene que estar siempre en línea
> (no siempre posible para portables)
Solución
• Usuarios tienen un mail server que cumple estas funciones
• Usuarios cuenta con un UA para descargar los mails de su casilla
Protocolos mediante los cuales los users pueden acceder a sus casillas.
- POP3
- IMAP
- HTTP
Describa POP3
Muy simple, muy limitado • Conexión TCP en puerto 110 • Tres fases 1. Autorización: usr + passwd 2. Transacción:UA encuentra correos nuevos y/o marca cuales a borrar 3. Update: Tx de correos
Interacciones
• Comandos (4): list, retr, dele, quit (RFC1939)
• Mensajes de respuesta (2): OK, ERR
Comandos frecuentes
• Download and delete
> Se descarga en el UA, pero se borra la copia en el svr
> Problema: Si es un usuario multidispositivo
• Download and keep
Conexión
- Por sesión
- Se conservan logs dentro de la sesión
- Se borran los logs al cerrarla
POP3: Se pueden crear directorios, mover mensajes y buscar sólo una vez descargados
Describa IMAP
IMAP (RFC3501): Más funciones, más complejo
+ Permite a usrs crear directorios en svr
+ Mantiene estado entre sesiones
+ Permite descargas parciales
> Sólo header
> Header + mensaje (sin adjuntos)
+ Muy efectivo para entornos de bajo ancho de banda
Describa webmail
- El usr accede a su casilla vía el browser
- Descarga de correos a través de HTTP
- Cuando escribe un correo, este es enviado al svr via HTTP en vez de usar SMTP