MX Records: la historia no contada del correo electrónico

25/03/2025

MX Records: la historia no contada del correo electrónico
Diseñado por Freepik

Por Alejandro Acosta, Coordinador de I+D en LACNIC

Los avances en el mundo tecnológico ocurren en todas sus aristas, y el mundo de DNS y correo electrónico no escapa a ello. En este blog post retrocederemos varias tramas al pasado y exploraremos la historia detrás de algunos registros DNS, repasaremos brevemente cómo funcionaban los sistemas de correo antes de 1983, y daremos crédito al poderoso registro MX que revolucionó la forma en que se maneja el correo electrónico en internet. Es muy importante notar que no utilizaremos los conceptos de MTA (Mail Transfer Agent) ni MUA (Mail User Agent) debido a que dichos mnemónicos fueron introducidos años después del mismo registro MX.

El correo electrónico era muy diferente a como lo conocemos hoy en día

  1. En los años 1960 – 1970 aparecieron los primeros sistemas de correo electrónico que se desarrollaron en universidades y centros de investigación. Uno de los primeros fue el programa “CTSS Mail” en el MIT, que permitía a los usuarios enviar mensajes a otros usuarios *solo* dentro del mismo servidor.
  2. Formatos y Protocolos (1971-1982) En esta época no había un protocolo estandarizado para el correo electrónico, sino que cada sistema tenía su propio formato y métodos para enviar y recibir mensajes. Esto significaba que los mensajes enviados desde un sistema a otro podían no ser compatibles.
  3. El trabajo de Ray Tomlinson (1971) hizo historia al implementar el primer sistema de correo electrónico que podía enviar mensajes entre diferentes computadoras en ARPANET. Tomlinson introdujo el uso del símbolo “@” para separar el nombre del usuario del nombre del host, un formato que sigue siendo utilizado hoy. Dato curioso: hay muchas historias de por qué se usa el arroba para separar el nombre del usuario y el host, parte de la razón es porque @ se lee “at” que en inglés significa “en”, es decir, luisalfonso@lacnic.net se lee Luis Alfonso en lacnic.net
  4. En 1983, con la introducción del protocolo SMTP (Simple Mail Transfer Protocol), se estableció un estándar que permitió una comunicación más eficiente y universal entre diferentes sistemas de correo electrónico, marcando el comienzo de una nueva era en la mensajería digital.

¿Qué registro DNS se usaba antes de MX?

Antes de la introducción de los registros MX, se utilizaban los registros MD (Mail Delivery) y MF (Mail Forwarding) para el enlace de agentes de correo en el sistema de nombres de dominio (DNS). La especificación original utilizaba estos registros MD y MF para el enlace de agentes de correo.

Aspectos clave de los registros MD y MF:

  • Las consultas MAILA solicitaban ambos tipos de registros, MD y MF.
  • Los registros MD especificaban hosts que se esperaba tuvieran el buzón en cuestión.
  • Los registros MF especificaban hosts que se esperaba actuaran como intermediarios y aceptaran correo para su reenvío.

El problema con el uso de registros MD y MF separados era que un agente de correo que realizaba una consulta MAILA no podía usar la caché, ya que esta podía tener resultados para una consulta MD o MF, pero no para ambas. La solución fue reemplazar MD y MF con un nuevo tipo de registro llamado MX, que combina la información de ambos en un solo tipo de registro.

           F.ISI.ARPA      A           IN     10.2.0.52
           F.ISI.ARPA      MD          IN     F.ISI.ARPA
           XXXX.ARPA       CNAME       IN     F.ISI.ARPA
           XXXX.ARPA       MF          IN     A.ISI.ARPA

Extracto de ejemplo de configuración tomado del RFC 882.

¿Qué son las consultas DNS MAILA?

Las consultas MAILA eran consultas DNS que se utilizaban para solicitar tanto registros MD como MF en el sistema de nombres de dominio.

Aspectos clave de las consultas MAILA:

  • Solicitaban ambos tipos de registros, MD y MF.
  • Los registros MD especificaban hosts que se esperaba tuvieran el buzón en cuestión.
  • Los registros MF especificaban hosts que se esperaba actuaran como intermediarios.

Sin embargo, el uso de registros separados presentaba un problema de almacenamiento en caché. Como un agente de correo no podía confiar en que la caché tuviera ambos registros, a menudo tenía que consultar directamente los servidores autoritativos. Para resolver esto se introdujeron los registros MX, que combinan la información en un solo tipo de registro.

Ejemplo de una consulta DNS MAILA

Ejemplo de una respuesta DNS MAILA

Leer también:

¿Cuándo se usaron los registros MD y MF?

Los registros MD y MF se utilizaron entre 1983 y 1986. Aquí hay una línea de tiempo relevante:

  • Noviembre de 1983: se publican los RFCs 882 y 883, que definen el sistema de nombres de dominio y especifican el uso de registros MD y MF.
  • Noviembre de 1985: Craig Partridge completa el RFC 974, que aborda un error en los registros MD/MF.
  • Enero de 1986: se publica el RFC 973, que introduce el registro MX y reemplaza los registros MD y MF.

¿Cuáles eran los errores/problemas de los registros MD y MF?

El principal error (hay que imaginarnos que estamos en esos años) era que un agente de correo que realizaba una consulta MAILA no podía usar el caché de manera eficiente, ya que esta podía contener sólo uno de los dos tipos de registros (MD o MF). Esto obligaba a consultar servidores autoritativos para cada decisión de enrutamiento, lo que llevó a la creación del registro MX.

Ejemplo de entrega de un correo por un agente en esa época (1983 – 1986)

Antes de los registros MX, las consultas MAILA solicitaban registros MD y MF.

Por ejemplo:

  • Un agente de correo quiere enviar un correo a user@example.com.
  • El agente emite una consulta DNS MAILA para example.com.
  • El servidor DNS podría responder con:
  • Un registro MD que indica el host que debe manejar la entrega final.
  • Un registro MF que indica un host que reenviará el correo.
  • El agente de correo usa esta información para enrutar el correo.

Aunque no se indica explícitamente, es probable que el programa de correo haya intentado primero el MD, y si eso fallaba, habría intentado el MF.

¿Cómo era el sistema de correo antes de 1983?

Antes de 1983, el sistema de correo se basaba en UUCP (UNIX-to-UNIX Copy Protocol), que formaba la columna vertebral de una red de almacenamiento y reenvío. Los usuarios debían especificar manualmente (el método era:  hosta!hostb!user) las rutas de correo, lo que se volvió problemático con el crecimiento de USENET.

Un intento en los 90’

En julio de 1990, el RFC 1168, titulado “INTERMAIL AND COMMERCIAL MAIL RELAY SERVICES”, describía un sistema para que usuarios comerciales enviaran correos electrónicos a través de Internet en una época en la que el acceso a la red era limitado y las redes estaban fragmentadas en “islas” aisladas. Intermail, el servicio propuesto en el documento actuaba como un puente para retransmitir correos entre redes comerciales y académicas, resolviendo un problema temporal de conectividad.

Sin embargo, su éxito fue limitado. Con la rápida expansión de Internet y la adopción del protocolo SMTP como estándar universal, sistemas como Intermail quedaron obsoletos a mediados de los 90. Hoy, el RFC 1168 es un documento histórico que refleja los desafíos y soluciones creativas de los primeros años del correo electrónico, sentando las bases para la comunicación global moderna.

¿Cómo es el sistema de correo hoy en día?

Hoy en día, los agentes de correo (MTAs) utilizan registros MX para determinar cómo enrutar los mensajes. El agente consulta utilizando DNS los registros MX del dominio destino (Querytype=MX) e intenta la entrega en orden de preferencia -mientras menor es es la preferencia mayor prioridad tiene-.

Conclusiones

Los registros MD y MF fueron fundamentales para el enrutamiento de correo antes de la introducción de los registros MX. Sin embargo, su uso separado generaba problemas de almacenamiento en caché y eficiencia. La creación del registro MX resolvió esta situación con un solo tipo de registro, simplificando el enrutamiento de correo en el sistema de nombres de dominio.

¿Conocías esta interesante historia? ¿Cambiará el registro MX en el futuro?

Referencias:

Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.

para recibir las últimas novedades en tu mail
Subscribe
Notify of


1 Comentarios
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Nicolas
4 days ago

Gracias Alejandro muy interesante, no conocía la historia de los protocolos anteriores al registro MX.