[Notas sobre la red informática 4] Capa de aplicación (1) Resolución de nombre de dominio DNS

El espacio de nombres de dominio de Internet es un árbol que crece al revés, y los nombres de dominio en todos los niveles son administrados por sus agencias de administración de nombres de dominio de nivel superior .

Insertar descripción de la imagen aquí

Este método de denominación administrado jerárquicamente facilita mantener la singularidad de los nombres y diseñar un mecanismo eficiente de consulta de nombres de dominio.

Nota: Un nombre de dominio es sólo un concepto lógico y no representa la ubicación física de la computadora.

Gestión de particiones de nombres de dominio

El servidor de nombres de dominio raíz generalmente no resuelve directamente el nombre de dominio, sino que devuelve la dirección IP del servidor de nombres de dominio de nivel superior al que pertenece el nombre de dominio.

Insertar descripción de la imagen aquí

Servidor de nombres de dominio de nivel superior DNS

Insertar descripción de la imagen aquí

Hay tantos nombres de subdominio bajo un nombre de dominio de nivel superior que un servidor DNS simplemente no puede almacenar la relación de mapeo entre estos nombres de dominio y sus IP. Usando el método de división de zonas , el rango del que es responsable un servidor DNS se llama zona , y el servidor DNS que administra una zona se llama servidor de nombres de dominio de autoridad .

Servidor de nombres de dominio de autoridad DNS

Insertar descripción de la imagen aquí

Cada zona tiene un servidor de nombres de dominio, llamado servidor de nombres de dominio autorizado , también llamado " servidor de nombres de dominio autorizado ".

Servidor de nombres de dominio DNS estructurado en árbol

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

El servidor de nombres de dominio raíz es el servidor de nombres de dominio de más alto nivel y el servidor de nombres de dominio más importante. El servidor de nombres de dominio raíz conoce las direcciones IP de todos los servidores de nombres de dominio de nivel superior.

Insertar descripción de la imagen aquí

El servidor de nombres de dominio de nivel superior es responsable de administrar todos los nombres de dominio de segundo nivel registrados en el servidor de nombres de dominio de nivel superior . Al recibir una solicitud de consulta DNS, dará la respuesta correspondiente (puede ser el resultado final o puede ser la dirección IP de un determinado servidor de nombres de dominio de autoridad )

Insertar descripción de la imagen aquí

Cuando un servidor de nombres de dominio autorizado no puede dar la respuesta final a la consulta, le indicará al cliente DNS que emitió la solicitud de consulta qué servidor de nombres de dominio autorizado debe encontrar a continuación.

servidor de nombres local

Los servidores de nombres locales no forman parte de la jerarquía de servidores de nombres.

Insertar descripción de la imagen aquí

Cuando un host emite una solicitud de consulta DNS, el mensaje de solicitud de consulta se envía al servidor de nombres de dominio local.

Proceso de resolución de nombres de dominio

consulta recursiva

Consulta recursiva: si el servidor de nombres de dominio local consultado por el host no conoce la dirección IP del nombre de dominio consultado, entonces el servidor de nombres de dominio local continuará enviando mensajes de solicitud de consulta a otros servidores de nombres de dominio raíz como un cliente DNS (es decir, es, continuar consultando por el host)

Insertar descripción de la imagen aquí

  • La consulta del host al servidor de nombres de dominio local generalmente utiliza consultas recursivas

  • La consulta desde el servidor de nombres de dominio local al servidor de nombres de dominio raíz generalmente utiliza una consulta iterativa.

consulta iterativa

Insertar descripción de la imagen aquí

  • ① El host primero realiza una consulta recursiva a su servidor de nombres de dominio local.
  • ② El servidor de nombres de dominio local utiliza consultas iterativas. Primero consulta el servidor de nombres de dominio raíz.
  • ③ El servidor de nombres de dominio raíz le dice al servidor de nombres de dominio local la dirección IP del servidor de nombres de dominio de nivel superior com que debe consultarse la próxima vez.
  • ④ El servidor de nombres de dominio local consulta el servidor de nombres de dominio de nivel superior com.
  • ⑤ El servidor de nombres de dominio de nivel superior le dice al servidor de nombres de dominio local la dirección IP del servidor de nombres de dominio de autoridad que debe consultarse la próxima vez.
  • ⑥ El servidor de nombres de dominio local consulta el servidor de nombres de dominio de autoridad
  • ⑦ El servidor de nombres de dominio de autoridad le dice al servidor de nombres de dominio local la dirección IP del host consultado.
  • ⑧ El servidor de nombres de dominio local finalmente le informa al host los resultados de la consulta.

Insertar descripción de la imagen aquí

La solicitud del proceso DNS utiliza el protocolo UDP en la capa de transporte. El número de puerto predeterminado es 53(número de puerto conocido). Los 8 pasos anteriores requieren un total de 8 datagramas de usuario UDP .

caché DNS

La relación de mapeo entre los nombres de dominio y las IP generalmente no cambia con frecuencia, por lo que podemos usar el almacenamiento en caché para optimizar el rendimiento de las consultas DNS.

Insertar descripción de la imagen aquí

El almacenamiento en caché puede reducir la carga en el servidor de nombres de dominio raíz y reducir la cantidad de mensajes de consulta DNS en Internet.

Cada elemento en el caché también debe tener un ciclo de vida , porque la relación de mapeo del nombre de dominio a la IP cambiará. Por ejemplo, el caché se puede borrar en 10 minutos para obtener la última IP de mapeo del nombre de dominio.

Caché DNS en el host

El almacenamiento en caché no sólo es necesario en el servidor de nombres de dominio local, sino también en el host.

Muchos hosts descargan una base de datos completa de nombres y direcciones desde un servidor de nombres local al inicio, mantienen un caché de los nombres utilizados más recientemente y usan el servidor de nombres solo cuando no se encuentra un nombre en el caché.

Un host que mantiene una base de datos de servidor de nombres local debe verificar periódicamente el servidor de nombres en busca de nueva información de mapeo, y el host debe eliminar entradas no válidas de su caché.

Dado que los cambios de nombre de dominio son poco frecuentes, la mayoría de los medios pueden mantener la coherencia de la base de datos sin gastar mucho esfuerzo.

Resumir

  • Servidor de nombres de dominio raíz: es el servidor de nombres de dominio de nivel más alto. El servidor de nombres de dominio raíz conoce las direcciones IP de todos los servidores de nombres de dominio de nivel superior. El servidor de nombres de dominio raíz generalmente no resuelve directamente el nombre de dominio, pero devuelve la IP. dirección del servidor de nombres de dominio de nivel superior al que pertenece el nombre de dominio.

  • Servidor de nombres de dominio de nivel superior: administra todos los nombres de dominio de segundo nivel registrados en el servidor de nombres de dominio de nivel superior. Al recibir una solicitud de DNS, puede devolver el resultado de la resolución o la dirección IP de un servidor de nombres de dominio de determinada autoridad.

  • Servidor de nombres de dominio autorizado: gestiona la asignación de nombres de dominio de diferentes particiones bajo el nombre de dominio de nivel superior. Cuando un servidor de nombres de dominio autorizado no puede dar el resultado final, le indicará al cliente qué servidor de nombres de dominio autorizado debe encontrar a continuación.

  • Servidor de nombres de dominio local: el servidor local no pertenece a la jerarquía del servidor de nombres de dominio, pero es muy importante para el sistema de nombres de dominio. Cuando un host emite una solicitud de DNS, el mensaje de solicitud se envía primero al servidor de nombres de dominio local.

Proceso de resolución de nombres de dominio:

  • La consulta del host al servidor de nombres de dominio local generalmente utiliza consulta recursiva . La llamada consulta recursiva es: si el servidor de nombres de dominio local consultado por el host no conoce la dirección IP del nombre de dominio consultado, entonces el servidor de nombres de dominio local continuará enviando mensajes de solicitud de consulta a otros servidores de nombres de dominio raíz como un cliente DNS (es decir, continuar en nombre del host) . Por lo tanto, el resultado de la consulta devuelta por la consulta recursiva es la dirección IP que se va a consultar o se informa un error que indica que no se puede consultar la dirección IP requerida.

  • La consulta desde el servidor de nombres de dominio local al servidor de nombres de dominio raíz generalmente utiliza consultas iterativas . Características de la consulta iterativa: cuando el servidor de nombres de dominio raíz recibe un mensaje de solicitud de consulta iterativa del servidor de nombres de dominio local, proporcionará la dirección IP que se va a consultar o le dirá al servidor local: "¿Qué servidor de nombres de dominio debe consultar a continuación?" ?" y luego dejar que el servidor local realice consultas posteriores.

El proceso básico de una solicitud de consulta de nombre de dominio:

  1. El host realiza una consulta recursiva al servidor de nombres de dominio local
  2. El servidor de nombres de dominio local realiza consultas iterativas al servidor de nombres de dominio raíz.
  3. El servidor de nombres de dominio raíz le dice al servidor de nombres de dominio local la dirección IP del servidor de nombres de dominio de nivel superior que se consultará a continuación.
  4. El servidor de nombres de dominio local consulta el servidor de nombres de dominio de nivel superior
  5. El servidor de nombres de dominio de nivel superior devuelve la dirección IP consultada o devuelve la dirección IP del servidor de nombres de dominio de autoridad que se consultará a continuación.
  6. El servidor de nombres de dominio local consulta el servidor de nombres de dominio de autoridad
  7. El servidor de nombres de dominio autorizado devuelve la dirección IP de la consulta o la dirección IP del servidor de nombres de dominio autorizado que se consultará a continuación.
  8. El servidor de nombres de dominio local finalmente devuelve los resultados de la consulta al host.

Las solicitudes de DNS utilizan el protocolo UDP en la capa de transporte y los 8 pasos anteriores requieren 8 paquetes UDP.

Caché DNS: hay un caché de nombres de dominio en el host y en el servidor de nombres de dominio local. Cuando se accede al caché, el resultado almacenado en caché se lee directamente. De lo contrario, se envía un mensaje de solicitud de DNS al servidor raíz.

Android puede configurar el tiempo de caché de DNS en el método configurando el valor de propiedad del sistema " Application" .onCreate()networkaddress.cache.ttl

Supongo que te gusta

Origin blog.csdn.net/lyabc123456/article/details/133251407
Recomendado
Clasificación