¿Realmente entiendes el protocolo DNS que se utiliza todos los días en el trabajo?

♥ Prólogo

Cuando visitamos con frecuencia algunas URL, ingresamos una dirección similar a www.baidu.com en el navegador. Luego ingresamos esta dirección en el navegador ---> El servidor de Baidu nos devuelve la página de Baidu. ¿Cuál es el proceso intermedio? ¿De qué tipo? de cosa?

Con esta pregunta en mente, analicemos juntos el proceso.

1. La relación entre nombre de dominio e IP

En primer lugar, direcciones como "www.baidu.com" y "www.sina.com.cn" se denominan colectivamente nombres de dominio. Entonces, después de utilizar el nombre de dominio para acceder, ¿puede la solicitud llegar directamente al servidor correspondiente?

¡No!

En este proceso, el nombre de dominio debe convertirse en una dirección IP. Solo buscando a través de la dirección IP se puede encontrar la ubicación del servidor y el servidor puede recibir la solicitud.

¿Por qué necesitamos realizar esta operación de conversión entre nombre de dominio e IP? Respondamos dos preguntas:

  1. Entonces, ¿por qué no nos comunicamos directamente mediante direcciones IP?

    Debido a que las direcciones IP son incómodas de recordar para los usuarios, los nombres de dominio son más convenientes para que los usuarios recuerden y utilicen. Por ejemplo, www.baidu.com es el nombre de dominio de Baidu, www.sina.com.cn es el nombre de dominio de Sina. , que es muy fácil de entender y recordar;

  2. Entonces, ¿por qué no utilizar simplemente el nombre de dominio para encontrar el servidor?

Esto se debe a que la longitud del nombre de dominio no es fija, lo que no es conveniente para que las computadoras lo procesen, y la dirección IP tiene una longitud fija. Si es una dirección IPv4, es de 32 bits y la dirección IPv6 es de 128 bits. La longitud fija es más conveniente para que las computadoras procesen.

Por tanto, el resumen es que la dirección IP es para el host, mientras que el nombre de dominio es para el usuario. Entonces necesitamos convertir nombres de dominio y direcciones IP entre sí.

2. Convierta el nombre de dominio en una dirección IP

archivo de hosts

Al principio, la gente usaba el archivo hosts de la computadora para convertir nombres de dominio e IP.

Hay un archivo de host en la ruta C:\Windows\System32\drivers\etc en nuestra computadora, que puede guardar la relación correspondiente entre los nombres de dominio y las IP, como se muestra en la siguiente figura:

La línea enmarcada en la imagen asigna la dirección IP 120.24.89.47 al nombre de dominio www.tricy1.com. Una vez completada la configuración, incluso si el nombre de dominio www.tricy1.com no es un nombre de dominio registrado real, aún puede acceder al nombre de dominio www.tricy1.com en esta computadora y puede acceder al sitio web correspondiente a esta dirección IP. (Foro de envío de prueba de Lemon Class).

Inicialmente, el archivo de hosts se administra a través del Centro de información de Internet. Si una nueva computadora desea conectarse a la red, o una determinada IP de computadora cambia, debe solicitar al centro de información para cambiar el archivo de hosts. Otras computadoras también requieren actualizaciones periódicas antes de poder acceder a Internet. Pero esto es demasiado problema. Para facilitar la operación, surgió el protocolo DNS.

protocolo DNS

El protocolo DNS, el nombre completo de Sistema de nombres de dominio, es un protocolo de capa de aplicación, que se basa en el protocolo UDP o TCP y utiliza el puerto 53 de forma predeterminada.

El cliente se comunica a través del protocolo UDP de forma predeterminada, pero debido a que la WAN no es adecuada para transmitir grandes paquetes de datos UDP, se estipula que cuando la longitud del mensaje exceda los 512 bytes, se debe convertir para usar el protocolo TCP para la transmisión de datos. . Por lo tanto, el protocolo DNS es uno de los pocos protocolos de capa de aplicación que puede utilizar tanto el protocolo UDP como el protocolo TCP como protocolo subyacente.

La función de este protocolo es convertir nombres de dominio legibles por humanos (por ejemplo, www.qq.com) en direcciones IP legibles por máquinas (por ejemplo, 119.147.15.13).

Si desea aprender sobre pruebas automatizadas, le recomiendo un conjunto de videos. Se puede decir que este video es el tutorial de pruebas automatizadas número uno en toda la red reproducido por Bilibili. La cantidad de personas en línea al mismo tiempo ha llegado a 1000. , y también hay notas que se pueden recoger y comunicar por varios canales Comunicación técnica maestra: 798478386    

[Actualizado] Una colección completa de los tutoriales prácticos más detallados sobre pruebas automatizadas de interfaces Python impartidas por Bilibili (la última versión práctica)_bilibili_bilibili [Actualizado] Una colección completa de los tutoriales prácticos más detallados sobre pruebas automatizadas de interfaces Python impartidas por Bilibili (versión práctica ) La última versión) tiene un total de 200 videos, que incluyen: 1. Por qué se debe realizar la automatización de la interfaz para la automatización de la interfaz, 2. Vista general de la solicitud de automatización de la interfaz, 3. Práctica de la interfaz para la automatización de la interfaz, etc. Para videos más interesantes desde UP master, siga la cuenta UP. icono-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337

imagen

Estructura jerárquica de nombres de dominio:

Como puede ver en la imagen de arriba, los nombres de dominio están separados por puntos. ¿Qué representan los puntos separados por cada punto?

Necesitamos entender que el nombre de dominio es una estructura jerárquica, y el servidor de nombres de dominio también es una estructura jerárquica correspondiente, que son el nombre de dominio raíz, el sistema de nombres de dominio de nivel superior, el sistema de nombres de dominio de segundo nivel, el tercer -sistema de nombres de dominio de nivel, etc., como se muestra en la siguiente figura:

imagen

Hay 13 servidores raíz en el mundo. Los nombres chinos de estos 13 servidores de nombres de dominio raíz son de "A" a "M", 10 de los cuales están configurados en los Estados Unidos y los otros tres están configurados en el Reino Unido. , Suecia y Japón. Un servidor raíz principal está ubicado en los Estados Unidos y los 12 restantes son servidores raíz auxiliares.

Por ejemplo, la estructura jerárquica del nombre de dominio www.baidu.com es la siguiente:

com: nombre de dominio de nivel superior. Indica que se trata de un nombre de dominio corporativo.

baidu: Nombre de dominio de segundo nivel, que hace referencia al nombre de la empresa.

www: Protocolo de Internet (World Wide Web)

Los nombres de dominio generalmente no pueden exceder el nivel 5. Los niveles de dominio aumentan de izquierda a derecha y los dominios de nivel superior incluyen dominios de nivel inferior. El nombre de dominio es único en todo Internet. Cuando el nombre del subdominio de alto nivel es el mismo, no se permite que se repita el nombre del subdominio de bajo nivel.

Con la estructura del nombre de dominio, se necesita una cosa más para resolver los nombres de dominio, y es un servidor de nombres de dominio.

Los nombres de dominio deben ser resueltos por servidores de nombres de dominio en todo el mundo. Los servidores de nombres de dominio son en realidad hosts equipados con sistemas de nombres de dominio.

Proceso de resolución de DNS

imagen

Como se muestra arriba, analicemos el proceso de resolución de DNS:

El usuario desea acceder al servidor Baidu a través del navegador del cliente; el nombre de dominio es www.baidu.com:

  1. Cuando el usuario ingresa el nombre de dominio www.baidu.com en el navegador, primero se buscará en el caché del navegador de manera predeterminada para ver si el caché contiene la dirección IP correspondiente al nombre de dominio.

  2. Cuando no se puede encontrar en el navegador, comprobará si hay una dirección IP correspondiente en el archivo Hosts del sistema.

  3. Si no hay ninguna asignación de este nombre de dominio en los hosts, busque el servidor DNS local;

  4. De lo contrario, busque el servidor de nombres de dominio raíz a través del servidor DNS; el servicio de nombres de dominio raíz devuelve la dirección IP del servidor de nombres de dominio de nivel superior que se puede consultar;

  5. El servidor de nombres de dominio de nivel superior devuelve un mensaje de respuesta DNS;

  6. Después de que el host recibe el mensaje de respuesta, puede acceder al servidor normalmente; el resultado se guardará para el siguiente uso.


Los métodos de consulta del protocolo DNS se dividen en los dos tipos siguientes:


Consulta recursiva : la máquina envía una solicitud de consulta al servidor de nombres de dominio local y espera el resultado final. Si el servidor de nombres de dominio local no puede resolverlo, consultará a otros servidores de nombres de dominio como cliente DNS hasta que obtenga la dirección IP final y se lo indique a esta máquina.

imagen

Consulta iterativa : el servidor de nombres de dominio local consulta al servidor de nombres de dominio raíz. El servidor de nombres de dominio raíz le dice dónde consultar a continuación y luego vuelve a verificar. Cada vez consulta a cada servidor como cliente.

imagen

En términos simples, la recursividad es entregar una cosa a otra persona. Si la cosa no está terminada, aunque se haya hecho mucho, no me digas el resultado. Lo que quiero es tu resultado final, no el intermedio. resultado; si no lo ha hecho Después de terminarlo, busque a alguien más para terminarlo.

La iteración es cuando te doy una tarea, dime cuánto has hecho y luego yo haré el resto.

 

Supongo que te gusta

Origin blog.csdn.net/m0_73409141/article/details/132791689
Recomendado
Clasificación