sábado, 19 de marzo de 2011

HTG explica: Como funciona el correo electrónico?

La mayoría de nosotros tenemos varias cuentas de correo en diferentes servicios, gmail. hotmail, yahoo, etc y hay muchos usuarios que solicitan al personal de soporte les configuren los accesos a los MX de Microsoft (en el caso de los que tienen Exchange) en sus SmartPhones. Pero no todos entienden que es un servidor POP y en que se diferencia de un servidor SMTP o IMAP. Yo nunca he tocado un MX de MS, lo que tuve un tiempo fue un EXIM sobre FreeBSD que era muy sencillo de administrar y en realidad no pasaba de las 200 cuentas así que nunca me quito el sueño. De ahí en adelante tenemos al veterano de todos los MTA  nuestro viejo y vapuleado SendMail (con toda su azarosa vida de vulnerabilidades) postfix  y qmail (sobre quien está edificado el poderoso MailToaster) que están entre los preferidos y el resto de los muchos agentes pero mejor vayámonos a las bases. Este es de HTG y el original lo pueden encontrar aquí, es muy básico, pero de aquí parte todo, otra cosa, en lo adelante todas las entradas estarán disponibles para ser descargadas en formato .pdf al final de las mismas, provecho.

HTG explica: Como funciona el correo electrónico?
Los envías y recibes todos los días, es instantáneo, y no cuesta nada. Es el correo electrónico, una de las herramientas más importantes de la actualidad. Echemos un vistazo a cómo funciona, bajo el capó y en lenguaje normal.

¿Qué es exactamente el correo electrónico?
El correo electrónico (abreviado como e-mail, email, E-Mail, etc) es una forma muy antigua de comunicación por ordenador. Hace mucho tiempo - en términos tecnológicos, no humanos, - las computadoras eran máquinas gigantescas. La gente usaba terminales de acceso telefónico para acceder a ellas, y cada máquina ofrecía almacenamiento para múltiples usuarios. Como en el caso de cualquier comunidad, la gente encontró maneras útiles y únicas de comunicarse entre sí, y los sistemas de mensajería evolucionaron. La advertencia era que sólo se podían enviar mensajes a otros usuarios en el mismo sistema, por lo menos hasta 1971. Según la historia, llegó Ray Tomlinson, quien envió el primer correo electrónico dirigiéndose a un usuario en otro sistema con el símbolo '@'. Obviamente, tanto la dinámica subyacente como las consecuencias a largo plazo no fueron tan simples, pero es la noción que nos lleva a donde estamos hoy.

El correo electrónico fue, en ese momento, el equivalente de los mensajes de texto de hoy. Con el tiempo, cambió y evolucionó como cualquier otra cosa, surgió la información del remitente y el receptor, una línea de asunto, el cuerpo del mensaje y los archivos adjuntos, pero en general, los correos electrónicos son documentos muy simples. Sin embargo no es tan fácil ir del punto A al punto B. Al igual que con cualquier otra cosa, hay procesos complicados involucrados que funcionan en segundo plano para que parezca lo más fácil posible. Muchas de las ideas utilizadas en la retransmisión de correo electrónico fueron importantes en la formulación de transferencia de documentos, que está en el centro de cosas como los sistemas de tablones de anuncios y la World Wide Web.

Del emisor al receptor.
Comencemos con una ilustración del proceso. Puede que no tenga sentido en principio, pero será útil para consultas posteriores.


Cuando alguien, digamos un vendedor de especias, envía un correo electrónico, tiene que tener una dirección en la forma de user@domain.ext. Nuestro ejemplo es freman.alpha@arrakis.com. El correo electrónico es enviado por el cliente a un servidor de correo saliente a través de SMTP (Protocolo para la transferencia de correo simple; Simple Mail Transfer Protocol). El servidor SMTP es como su oficina de correos local, la cual comprueba su correo y la dirección y descifra a dónde enviar su correo. Sin embargo, SMTP no entiende de dominios. Son una especie de elemento abstracto, por lo que el servidor SMTP contacta a un servidor de nombres de dominio. El servidor DNS es una especie de directorio telefónico o agenda de direcciones de Internet: este traduce dominios como "arrakis.com" a direcciones IP como "74.238.23.45." A continuación, averigua si ese dominio tiene "MX" (Mail Exchange) o servidores de intercambio de correo y hace una anotación del mismo. Esto es como los mapas de consulta de su oficina de correos de donde se supone que vaya su correo, llamando a su oficina local de correos, y comprobando si su amigo tiene un buzón o apartado postal para recibir el correo.
Ahora que el servidor SMTP tiene la información adecuada, el mensaje es enviado hacia el servidor de intercambio de correo (MX) del dominio destino. Este servidor se conoce como un MTA o Mail Transfer Agent. Este servidor decide el lugar exacto donde poner el correo, muy similar a cómo la oficina de su amigo decide la mejor manera de entregarlo. Entonces, su amigo va y recoge el correo, por lo general con un cliente que funciona a través de POP o IMAP.

POP vs IMAP.

Clic en la imagen para agrandar.

Estas dos siglas plagan paneles de configuración de correo electrónico en todas partes, así que vamos a darles una mirada más profunda. POP es sinónimo de Post Office Protocol. Es útil porque, al igual que una oficina de correos, ud puede entrar, tomar todo su correo, y luego retirarse. Usted no necesita permanecer conectado, y aparte de dejar una copia en el servidor, es un procedimiento bastante simple. Si no deja una copia en el servidor, tampoco requiere de mucho espacio o ancho de banda. Usted puede utilizar el acceso POP para tomar el correo desde varias bandejas de entrada diferentes en varios servidores de correo diferentes y consolidarlo en uno.
Sin embargo esto tiene sus inconvenientes. POP es un protocolo unidireccional, es decir, la información viaja en un solo sentido. Una vez que descarga el correo electrónico a un cliente, le toca al cliente ordenarlo a través de sus diferentes estados y así sucesivamente. Eso está bien si ud sólo accede a su correo electrónico desde un solo lugar. Hoy en día, sin embargo, es común acceder al correo electrónico desde el cliente de su teléfono, o desde una interfaz web cuando estás en alguna otra parte, o finalmente desde un cliente de correo cuando está en casa. Sería tedioso ordenar toda esa información en distintos dispositivos, asumiendo que aún conserva una copia de cada correo electrónico en el servidor, para empezar.


IMAP es un poco más inteligente. Mientras que POP puede ser considerado como "orientado al cliente," Internet Message Access Protocol fue diseñado para trabajar de una manera diferente: es "orientado al servidor", y además bi-direccional. Los clientes tienen una comunicación bidireccional con sus servidores. Todos los mensajes se guardan en el servidor para que varios clientes puedan acceder a ellos. Al revisar un correo electrónico desde su teléfono, este correo es marcado como leído y en la próxima interacción con el servidor, este estatus es propagado al resto de los clientes para que queden actualizados. Es como tener un asistente en la oficina de correos que se encarga de clasificar y almacenar los correos por usted, y se los entrega sea que usted esté en casa, en el trabajo, o en la oficina misma de correos, y va haciendo cambios en la copia almacenada a medida que ud lo utiliza.
Usted puede guardar un archivo correctamente marcado en el cliente de su casa, así como en el servidor de correo. IMAP también soporta un modo offline (sin conexión), los cambios se sincronizarán con el servidor la próxima vez que esté en línea. Usted puede configurar servidores de correo IMAP para descargar el correo de buzones de correo POP, también, lo cual funciona muy bien si usted está buscando consolidar. Por supuesto, como IMAP funciona con el ideal de la "nube", el acceso al servidor y el almacenamiento pueden presentar problemas. Afortunadamente, el espacio de almacenamiento y el ancho de banda no son tan caros como solían, pero esto puede ser definitivamente un inconveniente para algunas personas.

Ambos SMTP y  MTA.
A diferencia de su buzón de correo postal, su correo entrante y saliente son manejados por dos tipos diferentes de servidores. Realmente no hay discriminación con los servidores que reciben, y en cualquier equipo se puede configurar un MTA muy fácilmente y manejar las cosas sin problemas. El envío de correo es una historia diferente. Los servidores SMTP deben tener direcciones IP estáticas, y la mayoría de los ISP bloquean el puerto 25 para que sus usuarios no puedan enviar correo por sí mismos. ¿Por qué? Debido a las cantidades masivas de spam carcomiendo nuestro ancho de banda colectivo, los mismos que su MTA debe ser configurado para filtrar. Usted puede configurar sus clientes para usar el servidor SMTP de su ISP en lugar de usar el suyo propio. El punto es que se necesita tanto un MTA como un servidor SMTP para utilizar el correo electrónico, ya que cada uno está especializado en lo que hace.

El correo electrónico es una parte importante de nuestra vida cotidiana, pero es bueno entender cómo funciona. Después de todo, no tendríamos Internet sin el.

Recursos adicionales (NDT):
1.- Como siempre que tocamos temas relativos a redes y protocolos de red les recomiendo revisen TCP/IP Ilustrado, aquí tienen el capítulo de SMTP
2.-  También pueden revisar la Guía TCP/IP, desde aquí esta SMTP, y desde aquí POP3, con estos enlaces lo tienen todo, mas arriba les relacioné casi todos los agentes en un enlace, así que si quieren hacer pruebas pueden instalar algunos de los que son libres que los hay muy buenos. 
3.- Como último recurso de información SMTP usa el puerto 25 (993 sobre SSL), y POP3 el puerto 110 (la version 3)  995 sobre SSL (es decir SPOP3) ténganlo en cuenta.


Disponible para descarga en PDF desde aquí.