I record CNAME generano una seconda ricerca DNS?


19

Diciamo che abbiamo un sottodominio chiamato www.foo.com che ha un record CNAME che punta a foo.bar.cc. Foo.bar.cc a sua volta ha un record A che punta all'indirizzo IP 1.2.3.4.

Ora, se eseguo una ricerca DNS su www.foo.com, otterrò una risposta simile a questa:

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

La mia domanda è: a che punto viene risolto foo.bar.cc? Viene eseguito dal server DNS ricorsivo prima che la risposta venga rispedita al client? Oppure il client invia una seconda richiesta al server DNS, questa volta per foo.bar.cc? O dipende dal fatto che il server DNS abbia già una voce memorizzata nella cache per foo.bar.cc?

Lo sto chiedendo perché un particolare server DNS ricorsivo restituisce solo la prima riga, ovvero non risolve il CNAME. Tuttavia, dopo forse 20 secondi, le successive richieste per lo stesso host includeranno entrambe le linee.

Risposte:


16

I 2 record vengono restituiti insieme nella stessa richiesta. Puoi scoprirlo tramite il seguente comando

dig +trace www.foo.com

Ad esempio il mio dominio photoblog.com ha un cname per www, quindi le ultime 2 richieste dal server dei nomi di photoblog a me sembrano

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

Come puoi vedere, la richiesta chiede a ns1 / ns2 qual è l'IP per www.photoblog.com e ritorna bene è un cname per photoblog.com ed ecco l'ip per quel record A.


Nei PO il tuo esempio in cui ha restituito solo il CNAME, il server DNS probabilmente ha avuto difficoltà a seguire il CNAME e quindi ha fornito al client qualsiasi informazione avesse. Alla fine, ha finito di seguire il CNAME e quindi è stato in grado di dare una risposta completa.
David Schwartz,

Sì - se il server DNS ha più informazioni, le restituirà nella ADDITIONALsezione della risposta. Le occasioni in cui non viene restituito significano che il ricorritore non lo aveva nella sua cache, potenzialmente perché il CNAMEe il Arecord indica di avere diversi server autorevoli (quindi la richiesta iniziale del ricorritore non ha ottenuto la risposta CNAMEaggiuntiva aggiuntiva A, solo il CNAME).
Shane Madden

@ Mike: quindi qual è la conclusione? I record CNAME generano una seconda ricerca DNS o no? In caso contrario, perché molti suggeriscono di aumentare il record TTL CNAME?
Marco Demaio,

10
fintanto che il record A è sullo stesso server autorevole del CNAME è la stessa ricerca
Mike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.