¿Los registros CNAME resultan en una segunda búsqueda de DNS?


19

Digamos que tenemos un subdominio llamado www.foo.com que tiene un registro CNAME que apunta a foo.bar.cc. Foo.bar.cc a su vez tiene un registro A que apunta a la dirección IP 1.2.3.4.

Ahora, si hago una búsqueda DNS de www.foo.com, obtendré una respuesta como esta:

www.foo.com. IN CNAME foo.bar.cc.
foo.bar.cc. IN A 1.2.3.4

Mi pregunta es, ¿en qué etapa se resuelve foo.bar.cc? ¿Lo hace el servidor DNS recursivo antes de que la respuesta se envíe de vuelta al cliente? ¿O el cliente emite una segunda solicitud al servidor DNS, esta vez para foo.bar.cc? ¿O depende de si el servidor DNS ya tiene una entrada en caché para foo.bar.cc?

Lo pregunto porque un servidor DNS recursivo en particular devuelve solo la primera línea, es decir, no resuelve el CNAME. Sin embargo, después de quizás 20 segundos, las solicitudes posteriores para el mismo host incluirán ambas líneas.

Respuestas:


16

Los 2 registros se devuelven juntos en la misma solicitud. Puede averiguarlo a través del siguiente comando

dig +trace www.foo.com

Por ejemplo, mi dominio photoblog.com tiene un cname para www, por lo que las últimas 2 solicitudes del servidor de nombres de photoblog para mí parecen

photoblog.com.      172800  IN  NS  ns1.photoblog.com.
photoblog.com.      172800  IN  NS  ns2.photoblog.com.
;; Received 103 bytes from 192.43.172.30#53(i.gtld-servers.net) in 196 ms

www.photoblog.com.  600 IN  CNAME   photoblog.com.
photoblog.com.      600 IN  A   74.52.128.18
photoblog.com.      60  IN  NS  ns2.photoblog.com.
photoblog.com.      60  IN  NS  ns1.photoblog.com.
;; Received 133 bytes from 74.52.128.18#53(ns2.photoblog.com) in 59 ms

Como puede ver, la solicitud pregunta a ns1 / ns2 cuál es la ip para www.photoblog.com y devuelve bien, es un cname para photoblog.com y aquí está la ip para ese registro A.


En los OP su ejemplo donde devolvió solo el CNAME, el servidor DNS probablemente tuvo dificultades para seguir el CNAME y, por lo tanto, le dio al cliente la información que tenía. Finalmente, terminó siguiendo el CNAME y, por lo tanto, pudo dar una respuesta completa.
David Schwartz

Sí, si el servidor DNS tiene más información, lo devolverá en la ADDITIONALsección de la respuesta. Las ocasiones en que no regresa significan que el recurrente no lo tenía en su caché, posiblemente porque CNAMEy el Aregistro señala que tiene diferentes servidores autorizados (por lo que la solicitud inicial del recurrente no obtuvo la respuesta CNAMEadicional más A, solo el CNAME).
Shane Madden

@ Mike: ¿cuál es la conclusión? ¿Los registros CNAME resultan en una segunda búsqueda de DNS o no? Si no, ¿por qué muchos sugieren aumentar el registro CNAME TTL?
Marco Demaio

10
siempre que el registro A esté en el mismo servidor autorizado que el CNAME, es la misma búsqueda
Mike
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.