DNS records: ¿Cómo funcionan los registros DNS?

El sistema de nombres de dominio (DNS) hace posible que un usuario pueda acceder a la web que desee con tan solo teclear el nombre de un dominio en el navegador. Las unidades de red se comunican en realidad mediante direcciones IP que, sin embargo, son largas y complicadas. Por eso, al usuario le basta con teclear el nombre de la web, que es traducido automáticamente al formato de secuencia numérica. ¿Pero cómo se produce esta traducción?

¿Qué son los registros DNS?

Al introducir una dirección de Internet en el navegador, el sistema primero tiene que encontrar la dirección IP que corresponda con el dominio. A veces, la dirección se encuentra ya en la memoria del propio ordenador, a menudo en las bases de datos del proveedor de Internet o en otros servidores DNS. En caso de duda, incluso, se puede encontrar a través de uno de los grandes root servers o servidores raíz que controlan, como instancia de autoridad, todo el sistema de nombres de dominio. Para realizar una resolución de nombres hay que buscar registros DNS (DNS records o resource records) en las bases de datos del servidor DNS o servidor de nombres, donde cada dirección IP (que el servidor reconozca) tiene asignado un nombre de dominio.

El sistema de nombres de dominio o DNS tiene una estructura jerárquica y descentralizada. En cada nivel hay servidores que se encargan de su llamado espacio de nombres. Esto significa que, para buscar la dirección IP de www.ejemplo.com, el servidor raíz solo puede ayudar revelando qué servidor es el responsable del dominio de nivel superior (top level domain o TLD). Así se va analizando cada uno de los niveles para llevar a cabo la resolución de nombres. Eso significa que la dirección IP de la web o servidor de correo electrónico en cuestión se encuentra, al fin y al cabo, en el host final. De ahí la importancia, para todo administrador de páginas webs, de entender el concepto de los registros de recursos.

¿Cómo funcionan los registros DNS?

Los registros DNS se encuentran sobre todo en archivos de zona. Una zona, en el contexto del DNS, es un ámbito de organización. Un dominio puede constar de una sola zona, pero los dominios extensos suelen estar divididos en varias. Cada servidor DNS es el responsable de una zona. Si un cliente desea visitar un dominio concreto, el servidor DNS buscará los registros correspondientes entre los archivos de zona y reenviará la solicitud a otro servidor de un nivel más profundo, repitiendo el proceso hasta llegar al dominio deseado.

Sintaxis de los registros DNS

Los registros de recursos siguen un sistema sencillo, codificado en ASCII. Hay una línea para cada registro DNS. Los registros suelen tener la siguiente forma:

<name> <ttl> <class> <type> <rdlength> <radata>

Cada una de las informaciones se separa de las demás mediante un espacio, pero algunos datos son opcionales, es decir, algunos tipos de registro tienen campos adicionales. ¿Qué indican las etiquetas de registro más importantes?

  • <name>: el nombre del dominio es lo que el usuario suele teclear en el navegador, por ejemplo.
  • <ttl>: TTL son las iniciales de time to live e indican el tiempo (en segundos) durante el que el registro estará guardado en la memoria caché. Una vez transcurrido este tiempo, ya no se puede garantizar que el registro de recurso siga siendo actual. Es un dato opcional.
  • <class>: aunque en teoría existen muchos tipos de registros DNS, en la práctica todos se refieren a Internet (identificado como IN), por lo que este dato también es opcional.
  • <type>: en un archivo de zona suele haber varios tipos de registros DNS (más sobre este tema a continuación).
  • <rdlength>: este campo también es opcional y se usa para indicar la extensión de la etiqueta siguiente.
  • <rdata>: los datos sobre recursos (resource data) son las informaciones a partir de las cuales se quiere descifrar el nombre del dominio como, por ejemplo, la dirección IP.

El registro DNS para el servidor web de ejemplo.com tiene esta forma:

www.ejemplo.com. 12879 IN A 93.184.216.34

El registro puede ser guardado por un cliente durante 12 879 segundos (unas 3 horas y media) en la memoria caché antes de que el servidor DNS tenga que solicitar la información de nuevo. En este caso se trata de un registro DNS en Internet (IN) y de tipo A (A). El dominio es identificado a partir de una dirección IP.

También existe otro tipo de notación:

$TTL 12879
$ORIGIN ejemplo.com.
www A 93.184.216.34

Esta notación, por su parte, indica que el ordenador con el nombre www es parte del dominio ejemplo.com. De la misma manera, se pueden ubicar otros ordenadores como mail o ftp en un dominio de origen.

Nota

El nombre de un dominio acaba (o más bien empieza, ya que se lee de derecha a izquierda) con un punto. En los registros DNS se usan FQDN (nombres de dominio completamente calificados), en los cuales también aparece la etiqueta raíz (root label), que está vacía. Suele aparecer tras el punto.

Los tipos de registros DNS más importantes

Según su tipo, un registro guarda una clase de información u otra. Además de la resolución o traducción de nombres de dominio, los registros DNS tienen muchas otras funciones.

Registros A

La mayor parte de resoluciones de nombres de dominio en Internet se producen mediante registros tipo A, que contienen una dirección IPv4 en su campo de datos. Gracias a ellos, los usuarios de Internet pueden introducir un nombre de dominio en el navegador y hacer que el cliente envíe automáticamente una solicitud HTTP a la dirección IP correspondiente. Puesto que el tamaño de las direcciones IP siempre es de 4 bytes, el valor de rdlength también es siempre 4, si es que aparece.

Registros AAAA

Los registros AAAA, también llamados quad-A, funcionan igual que los registros A salvo que, en lugar de usar una dirección IPv4, usan una dirección Ipv6. Puesto que las IPv6 necesitan 128 bits (16 bytes), en este caso el valor de rdlength también es fijo. La denominación AAAA surge de la longitud del campo de datos, que es cuatro veces más larga que la de un registro A.

Registros SOA

SOA son las iniciales de Start of Authority. Los registros de este tipo contienen información sobre la zona que se organiza a través del archivo de zona (del servidor DNS) y, por ello, son especialmente importantes para la transferencia de zonas. En estas transferencias se copian archivos de zona en otros servidores para evitar fallos. La transferencia de zonas controla la propagación regular del archivo original. En estos registros DNS se encuentra, junto a la dirección de correo electrónico del administrador correspondiente, un número de serie que aumenta cada vez que se actualiza el archivo.

Registros CNAME

Un registro CNAME (canonical name record) contiene un alias, es decir, un nombre alternativo para un dominio, y remite a otro registro A o AAAA ya existente. El campo rdata en este tipo de registros lo ocupa, por lo tanto, un nombre de dominio previamente enlazado con una dirección IP. Así se pueden remitir varias direcciones diferentes al mismo servidor.

Registros MX

El nombre del registro MX es una abreviación de mail exchange, intercambio que se produce mediante un servidor SMTP de correo electrónico. Aquí se definen uno o varios servidores de correo electrónico que pertenezcan al dominio en cuestión. Si se usan varios servidores de correo, por ejemplo, para compensar fallos, se establecen niveles de prioridad. De esta manera, el DNS reconoce en qué orden debe realizar las solicitudes de contacto.

Registros PTR

El registro PTR (pointer) es un registro DNS que permite una búsqueda inversa o reverse lookup. Con ella, el servidor DNS puede indicar qué nombres de host pertenecen a una dirección IP concreta. Para cada dirección IP usada en registros tipo A o AAAA existe, por consiguiente, un registro PTR. La dirección IP se forma en este caso en orden opuesto y se le añade, además, el nombre de una zona.

Registros NS

Un registro NS hace referencia al servidor de nombres de un archivo de zona y determina dónde recae la responsabilidad de una zona concreta. Es, por ello, un registro obligatorio en todo archivo de zona. Este registro de recurso indica al servidor DNS si es responsable de una solicitud o no, es decir, si tiene que organizar la zona en cuestión, o bien a quién tiene que reenviar la solicitud.

Registros TXT

Los registros TXT contienen texto, ya sea como fuente de información para usuarios humanos o para ser leído maquinalmente. En estos registros DNS, el administrador puede alojar texto no estructurado (a diferencia de los datos estructurados de otros registros DNS). Se pueden añadir también, por ejemplo, detalles sobre la empresa a la que pertenece el dominio.

Registros SRV

Mediante un registro SRV, un servidor puede informar acerca de los servicios disponibles del dominio. Para ello, se indica el servicio, incluyendo el puerto en el que se puede encontrar. Además, el protocolo usado es parte del nombre. Así, un cliente puede, por ejemplo, obtener información acerca de servicios LDAP o XMPP a través del registro DNS.

Registros LOC

Mediante un registro LOC se puede dar a conocer la ubicación física del servidor. Con este fin se indican, al final del registro, la latitud, la longitud, la altura sobre el nivel del mar y el margen de error.

Consejo

Descubre más sobre "¿Qué es la propagación de DNS?" en el siguiente artículo detallado.

Archivos de zona

Los archivos de zona (simples archivos de texto) enumeran todos los registros DNS. Para que los datos puedan ser procesados correctamente, deben cumplirse requisitos concretos, de lo contrario el DNS no puede funcionar y el cliente recibe el aviso de error SERVFAIL. Por ello, los registros se ajustan a una estructura concreta: primero se indica el nombre de la zona y luego, en muchos casos, el time to live. Al incluir el TTL directamente aquí, no es necesario repetirlo en cada uno de los registros de recurso, ya que el tiempo se refiere a la zona entera.

$ORIGIN ejemplo.com.
$TTL 12879

El primer registro DNS es un registro SOA, sin el cual el archivo de zona no puede funcionar. De hecho, un archivo de zona también es válido si únicamente hay un registro SOA. A continuación, aparecen los registros referidos a los servidores de nombres y luego los registros tipo A y AAAA.

Si se quieren añadir comentarios al archivo, por ejemplo, para facilitarles el trabajo a otros administradores, se usa el punto y coma. Así se pueden introducir informaciones en un registro DNS sin que el servidor procese el texto. Para estructurar los registros se pueden incluir líneas en blanco, que también son ignoradas por el sistema a la hora de procesar el archivo. Cada registro ocupa una línea y acaba con un salto de línea. Si, en cambio, se quiere realizar un registro que ocupe varias líneas, se utilizan paréntesis.

Resumen de todos los tipos de registro DNS

Además de los tipos presentados, en los archivos de zona se pueden encontrar muchas otras formas de registros de recurso, si bien no son tan frecuentes como las anteriores. La siguiente tabla presenta de forma concisa todos los tipos y sus respectivas funciones.

Nota

La autoridad de asignación de números de Internet (IANA), responsable, entre otras cosas, de asignar direcciones IP, ha asignado también un valor (como número de identificación) a cada tipo de registro DNS.

Valor Tipo Descripción
1 A Address indica la dirección IPv4 de un host.
2 NS Nameserver establece la autoridad sobre una zona.
3 MD Mail Destination (obsoleto) ha sido sustituido por el registro MX.
4 MF Mail Forwarder (obsoleto) ha sido sustituido por el registro MX.
5 CNAME Canonical Name indica un alias.
6 SOA Start of Authority contiene detalles sobre la zona.
7 MB Mailbox Domain Name es experimental.
8 MG Mail Group Member es experimental.
9 MR Mail Rename Domain Name es experimental.
10 NULL Null Resource es experimental.
11 WKS Well Known Service (obsoleto) solía usarse para reenviar correos electrónicos.
12 PTR Pointer sirve para la búsqueda inversa (reverse lookup).
13 HINFO Host Information alberga detalles sobre el hardware y el software del host.
14 MINFO Mailbox Information es experimental.
15 MX Mail Exchange asigna un dominio a los servidores de correo electrónico.
16 TXT Text permite introducir texto adicional.
17 RP Responsible Person contiene informaciones para los encargados correspondientes.
18 AFSDB AFS Database está pensado especialmente para clientes AFS.
19 X25 X.25 PSDN Address (obsoleto) contiene detalles sobre el encapsulado con X.25.
20 ISDN Este registro (obsoleto) asigna un número ISDN al nombre DNS.
21 RT Route Through Record (obsoleto) especifica un host intermedio que enlaza con el host que el propio registro RT indica, sin dirección WAN.
22 NSAP Este registro (obsoleto) permite asignar nombres de dominio a los Network Service Access Points (puntos de acceso a servicio de red).
23 NSAP-PTR NSAP Pointer (obsoleto) ha sido sustituido por PTR.
24 SIG Signature (obsoleto) ha sido sustituido por RRSIG.
25 KEY Key (obsoleto) ha sido sustituido por IPSECKEY.
26 PX Pointer to X.400 (obsoleto) alberga reglas de MIXER mapping.
27 GPOS Geographical Position (obsoleto) ha sido sustituido por LOC.
28 AAAA AAAA indica la dirección IPv6 de un host.
29 LOC Location contiene información sobre la ubicación.
30 NXT Next (obsoleto) ha sido sustituido por NSEC.
31 EID Endpoint Identifier (obsoleto) fue ideado para la arquitectura de routing Nimrod.
32 NIMLOC Nimrod Locator (obsoleto) fue ideado para la arquitectura de routing Nimrod.
33 SRV Service Locator informa acerca de otros servicios disponibles.
34 ATMA ATM Address (obsoleto) da información relativa al ATM (modo de transferencia asíncrona).
35 NAPTR Naming Authority Pointer es una ampliación del registro A que permite usar patrones de búsqueda (términos frecuentes).
36 KX Key Exchanger permite gestionar claves criptográficas.
37 CERT Cert guarda certificados.
38 A6 A6 ha sido sustituido por AAAA.
39 DNAME Delegation Name indica alias para dominios enteros.
40 SINK Kitchen Sink (obsoleto) permite guardar diferentes tipos de datos.
41 OPT Option es un pseudoregistro del ámbito de los mecanismos de extensión de DNS (EDNS).
42 APL Address Prefix List enumera rangos de direcciones en formato CIDR.
43 DS Delegation Signer identifica zonas con firma DNSSEC.
44 SSHFP SSH Public Key Fingerprint muestra el fingerprint (huella digital) para claves SSH.
45 IPSECKEY IPsec Key contiene una clave para IPsec.
46 RRSIG RR Signature alberga una firma digital para DNSSEC.
47 NSEC Next Secure interconecta zonas firmadas en DNSSEC.
48 DNSKEY DNS Key contiene una clave pública para DNSSEC.
49 DHCID DHCP Identifier enlaza nombres de dominio con clientes DHCP.
50 NSEC3 Next Secure 3 es una alternativa a NSEC.
51 NSEC3PARAM Este registro (parameter) contiene parámetros de NSEC3.
52 TLSA Este registro establece un enlace conocido como TLSA Certificate Association con un nombre de dominio, de acuerdo con el protocolo DANE.
53 SMIMEA Este registro establece un enlace conocido como S/MIME Certificate Association con un nombre de dominio.
54 n/a No asignado
55 HIP Host Identity Protocol separa la señalización del punto final y las funciones de localización de direcciones IP.
56 NINFO NINFO da información sobre el estatus de la zona (misma estructura que TXT; obsoleto).
57 RKEY RKEY guarda claves (misma estructura que KEY y DNSKEY; obsoleto).
58 TALINK Trust Anchor Link conecta dos nombres de dominio (obsoleto).
59 CDS Un Child DS es una copia de un registro DS.
60 CDNSKEY Un child DNSKEY es una copia de un registro DNSKEY.
61 OPENPGPKEY OpenPGP Key muestra claves públicas.
62 CSYNC Child-to-Parent Synchronization permite comparar parent zones (zonas que contienen otras) y child zones (zonas contenidas en una parent zone).
63 ZONEMD Message Digest for DNS Zone (obsoleto) es experimental.
64–98 n/a No asignado
99 SPF Sender Policy Framework (obsoleto) ha sido sustituido por el registro TXT.
100 UINFO Reservado
101 UID Reservado
102 GID Reservado
103 UNSPEC Reservado
104 NID NodeID es experimental.
105 L32 32-bit Locator es experimental.
106 L64 64-bit Locator es experimental.
107 LP Locator Pointer es experimental.
108 EUI48 48-bit Extended Unique Identifier encripta direcciones.
109 EUI64 64-bit Extended Unique Identifier encripta direcciones.
110–248 n/a No asignado
249 TKEY Transaction Key permite el intercambio de claves secretas (secret keys).
250 TSIG Transaction Signature sirve para la autenticación.
251 IXFR Incremental Zone Transfer (obsoleto) permite actualizar partes de un archivo de zona en un segundo servidor.
252 AXFR AFXR (obsoleto) transmite archivos de zona enteros a otro servidor.
253 MAILB Mailbox (obsoleto) consulta todos los registros de un buzón de correo electrónico.
254 MAILA Mail Agent (obsoleto) ha sido sustituido por el registro MX.
255 * * consulta todos los registros (obsoleto).
256 URI Uniform Resource Identifier muestra la asignación de nombres de host a los URL.
257 CAA Certificate Authority Authorization especifica las posibles autoridades de certificación (CA) para un dominio.
258 AVC Application Visibility and Control (obsoleto) contiene metadatos de aplicación para DNS-AS.
259 DOA DOA ya no está activo (obsoleto).
260 AMTRELAY Automatic Multicast Tunneling Relay (obsoleto) permite encontrar retransmisiones AMT.
261–32767 n/a No asignado
32768 TA DNSSEC Trust Authorities hacen posibles las DNSSEC (extensiones de seguridad para el sistema de nombres de dominio) sin signed root, es decir, sin certificado raíz.
32769 DLV DNSSEC Lookaside Validation muestra trust anchors (anclas de confianza, que son entidades autoritarias) más allá de la cadena DNS normal.
32770–65279 n/a No asignado
65280–65534 n/a Para uso privado
65535 n/a Reservado
¿Le ha resultado útil este artículo?
Page top