FANDOM


Sistema de Nombres de Dominio (DNS).

El sistema de nombres de dominio se implementa como una base de datos jerárquica y distribuida que contiene varios tipos de datos, incluidos los nombres de host y de dominio. Los nombres en una base de datos DNS forman una estructura de árbol jerárquica llamada el espacio de nombres de dominio. Los nombres de dominio consisten en etiquetas individuales separadas por puntos, por ejemplo: mydomain.com.

Un nombre de dominio completo (FQDN, Ejemplo: myserver.mydomain.com) identifica de forma exclusiva la posición del host dentro del árbol jerárquico DNS especificando una lista de nombres separados por puntos en la ruta del host referenciado a la raíz.

Protocolo DNS:

El protocolo DNS consta de diferentes tipos de mensajes DNS que se procesan de acuerdo con la información en sus campos de mensaje. A continuacion se describen los tipos de mensajes DNS y los campos de cada tipo de mensaje:

Tipos de mensajes: Hay tres tipos de mensajes DNS: Queries, Responses y Updates. Los Queries y los Responses, se definen en el estándar DNS original y los updates  se definen en el RFC 2136. Los tres tipos siguen un formato de mensaje común.

Formato del mensaje de consulta DNS

El formato de mensaje DNS común tiene un encabezado de 12 bytes de longitud fija y una posición variable reservada para los registros de recursos de pregunta, respuesta, autoridad y DNS adicional. El formato de mensaje común se puede ilustrar de la siguiente manera:

DNS Message Format

DNS header (fixed length)

Question entries (variable length)

Answer resource records (variable length)

Authority resource records (variable length)

Additional resource records(variable length)

Encabezado de mensaje de consulta DNS

Campo

Descripción

Transaction ID

Un campo de 16 bits que identifica una transacción DNS específica. El ID de transacción es creado por la fuente del mensaje y es copiado por el receptor en su mensaje de respuesta. Mediante el ID de transacción, el cliente DNS puede hacer coincidir las respuestas a sus solicitudes.

Flags

Un campo de 16 bits que contiene varios indicadores de servicio que se comunican entre el cliente DNS y el servidor DNS, incluyendo:

Request/response

Campo de 1 bit establecido en 0 para representar una solicitud de servicio de nombres o establecido en 1 para representar una respuesta de servicio de nombre.

Operation code

El campo de 4 bits representa la operación de servicio de nombre del paquete: 0x0 es una consulta.

Authoritative answer

El campo de 1 bit representa que la respuesta es autoritaria para el nombre de dominio en el mensaje de consulta.

Truncation

Campo de 1 bit que se establece en 1 si el número total de respuestas superó el datagrama del protocolo de datagramas de usuario (UDP). A menos que los datagramas UDP mayores de 512 bytes o EDNS0 estén habilitados, sólo se devuelven los primeros 512 bytes de la respuesta UDP.

Recursion desired

Campo de 1 bit establecido en 1 para indicar una consulta recursiva y 0 para consultas iterativas. Si un servidor DNS recibe un mensaje de consulta con este campo establecido en 0, devuelve una lista de otros servidores DNS que el cliente puede contactar. Esta lista se rellena de datos de caché local.

Recursion available

Campo de 1 bit establecido por un servidor DNS a 1 para representar que el servidor DNS puede manejar consultas recursivas. Si la recursión está deshabilitada, el servidor DNS establece el campo de forma adecuada.

Reserved

Campo de 3 bits reservado y establecido en 0.

Return code

Campo de 4 bits que contiene el código de retorno:

·        0 es una respuesta satisfactoria (la respuesta de la consulta está en la respuesta de la consulta).

·        0x3 es un error de nombre, lo que indica que un servidor DNS autorizado respondió que el nombre de dominio en el mensaje de consulta no existe.

Question Resource Record count

Un campo de 16 bits que representa el número de entradas en la sección de preguntas del mensaje DNS.

Answer Resource Record count

Un campo de 16 bits que representa el número de entradas en la sección de respuesta del mensaje DNS.

Authority Resource Record count

Un campo de 16 bits que representa el número de registros de recursos de autoridad en el mensaje DNS.

Additional Resource Record count

Un campo de 16 bits que representa el número de registros de recursos adicionales en el mensaje DNS.

 

Entradas de pregunta de consulta DNS

 

Campo

Descripción

Question Name

El nombre de dominio que se está consultando. Los nombres de dominio DNS se expresan como una serie de etiquetas, como microsoft.com, pero en el campo Nombre de la pregunta, el nombre de dominio se codifica como una serie de pares de valores de longitud que consta de un archivo de 1 byte que indica la longitud del Valor, seguido por el valor (la etiqueta). Por ejemplo, el dominio microsoft.com se expresa como 0x09microsoft0x03com0x00, donde los dígitos hexadecimales representan la longitud de cada etiqueta, los caracteres ASCII indican las etiquetas individuales y el final 0 indica el final del nombre.

Question Type

Un entero de 16 bits utilizado para representar el tipo de registro de recurso que se debe devolver, como se expresa a continuación:

Type value

Registros devueltos

0x01

Registro de host (A)

0x02

Registro del servidor de nombres (NS)

0x05

Registro de alias (CNAME)

0x0C(12)

Registro de búsqueda inversa (PTR)

0x0F(15)

Registro de intercambio de correo (MX)

0x21(33)

Registro de servicio (SRV)

0xFB(251)

Registro de transferencia de zona incremental (IXFR)

0xFC(252)

Registro de transferencia de zona estándar (AXFR)

0xFF(255)

Todos los registros

Question Class

Representa la clase de pregunta IN (Internet) y normalmente se establece en 0x0001.

Registros de recursos de DNS

 

Campo

Descripción

Resource Record Name

El nombre de dominio DNS registrado como un campo de longitud variable siguiendo el mismo formato que el campo Nombre de pregunta.

Resource Record Type

El valor del tipo de registro de recurso.

Resource Record Class

El código de clase de registro de recursos, la clase de Internet, 0x0001.

Time-to-Live

El TTL expresado en segundos como un campo sin signo de 32 bits.

Resource Data Length

Campo de 2 bytes que indica la longitud de los datos del recurso.

Resource Data

Datos de longitud variable correspondientes al tipo de registro de recurso.

 

El campo Nombre del registro de recursos se codifica del mismo modo que el campo Nombre de la pregunta a menos que el nombre ya esté presente en otra parte del mensaje DNS, en cuyo caso se utiliza un campo de 2 bytes en lugar de un nombre codificado de longitud y actúa como Un puntero al nombre que ya está presente.

Mensaje de consulta de nombre

 

Campo

Descripción

Query Identifier (Transaction ID)

Establecido en un número único para habilitar la resolución de cliente DNS para que coincida con la respuesta a la consulta. El ID de transacción de respuesta de consulta siempre coincide con el ID de transacción de solicitud de consulta.

Flags

Establecido para indicar una consulta estándar con recursión activada.

Question Count

Establecer en 1.

Question Entry

Establezca el nombre de dominio consultado y el tipo de registro de recurso a devolver.

Respuesta de consulta de nombre

 

Campo

Descripción

Query Identifier (Transaction ID)

Establecido en un número único para habilitar la resolución de cliente DNS para que coincida con la respuesta a la consulta.

Flags

Establecido para indicar una consulta estándar con recursión activada.

Question Count

Establecer en 1.

Question Entry

Establezca el nombre de dominio consultado y el tipo de registro de recurso a devolver.

 

Mensaje de consulta de nombre inverso

 Los mensajes de consulta de nombre inverso usan el formato de mensaje común con las siguientes diferencias:

  • La resolución de cliente DNS construye el nombre de dominio en el dominio in-addr.arpa basado en la dirección IP que se consulta.
  • Se consulta un registro de recurso de puntero (PTR) en lugar de un registro de recurso de host (A).


Formato de mensaje de actualización de DNS

  • Identificación: Un identificador de 16 bits asignado por el solicitante de cliente DNS. Este identificador se copia en la respuesta correspondiente y puede ser utilizado por el solicitante para emparejar las respuestas a las solicitudes pendientes o por el servidor para detectar solicitudes duplicadas de algún solicitante.
  • Banderas: Un mensaje de actualización de DNS de 16 bits indica el campo. Para obtener una descripción de cada indicador.
  • Número de entradas de zona: El número de registros de recursos en la sección de entrada de zona.
  • Número de registros de recursos previos: El número de registros de recursos en la sección Registros de recursos de requisitos previos.
  • Número de registros de recursos de actualización: El número de registros de recursos en la sección Actualizar registros de recursos.
  • Número de registros de recursos adicionales: El número de registros de recursos en la sección de registros de recursos adicionales.
  • Entrada de zona: Indica la zona de los registros que se están actualizando. Todos los registros que se deben actualizar deben estar en la misma zona y, por lo tanto, se permite que la Sección de Zona contenga exactamente un registro. Tiene tres valores: ZNAME es el nombre de la zona, ZTYPE debe ser SOA y ZCLASS es la clase de la zona.
  • Registros de recursos previos: Contiene un conjunto de requisitos previos de registro de recursos que deben cumplirse en el momento en que el servidor de DNS maestro recibe el mensaje de actualización. Hay cinco posibles conjuntos de valores que pueden expresarse:
  1. El conjunto de registros de recursos existe (independiente del valor). Debe existir al menos un registro de recurso con un nombre y un tipo especificados (en la zona y clase especificada por la Sección de Zona).
  2. Existe un conjunto de registros de recursos (dependiente del valor). Existe un conjunto de registros de recursos con un nombre y un tipo especificados y tiene los mismos miembros con los mismos datos que el conjunto de registros de recursos especificado en esta sección.
  3. El conjunto de registros de recursos no existe. No existen registros de recursos con un nombre y un tipo especificados (en la zona y la clase indicada por la sección Zona).
  4. El nombre está en uso. Existe al menos un registro de recurso con un nombre especificado (en la zona y la clase especificada por la sección Zona). Este requisito previo no es satisfecho por los no terminales vacíos.
  5. El nombre no está en uso. Ningún registro de recursos de ningún tipo es propiedad de un nombre especificado. Este requisito previo es satisfecho por no terminales vacíos.
  • Actualizar los registros de recursos: Contiene los registros de recursos que se van a agregar o eliminar de la zona. Una de cuatro operaciones se realiza durante la actualización:
  1. Agregue registros de recursos a un conjunto de registros de recursos.
  2. Elimine un conjunto de registros de recursos.
  3. Elimine todos los conjuntos de registros de recursos de un nombre.
  4. Elimine un registro de recurso de un conjunto de registros de recursos.
  • Registros de recursos adicionales: Contiene registros de recursos relacionados con la actualización o con nuevos registros de recursos agregados por la actualización.


Indicadores de mensaje de actualización de DNS

  • Request/response: Campo de 1 bit establecido en 0 para representar una petición de actualización y 1 para representar una respuesta de actualización.
  • Operation code: Campo de 4 bits establecido en 0x5 para actualizaciones de DNS.
  • Reserved: Campo reservado de 7 bits establecido en 0.
  • Return code: Campo de 4 bits que contiene códigos para representar el resultado de la consulta de actualización.

 

Mensaje de respuesta de actualización dinámica

El mensaje de respuesta de actualización dinámica sigue el mismo formato que el mensaje de actualización DNS, con la excepción de los indicadores DNS. Los indicadores de encabezado de mensaje de respuesta de actualización dinámica indican si la actualización es correcta incluyendo el código de respuesta satisfactorio o uno de los códigos de error descritos en los indicadores de mensaje de actualización de DNS.

Dns2