Perché inviare nameserver autorevoli in DNS?


11

Per curiosità, sto controllando i pacchetti DNS di Wireshark. Vedo che esiste una query DNS dall'host e quindi una risposta DNS dal server DNS. È tutto come previsto.

Tuttavia, se si controlla ulteriormente la query, è possibile vedere che il server invia anche NS (server dei nomi autorevole). La mia domanda è: perché?

Come host, mi interessa solo l'IP. Questo è il punto principale del DNS , per risolvere un nome in un indirizzo IP .

Perché, come host, avrei bisogno delle informazioni NS?


1
@downvoter, per favore, commenta. E se pensi che la mia domanda sia così semplice, almeno rispondi e poi vota.
Ahmed era il

6
Per filosofia e design i voti sono anonimi e né il voto in alto né il voto in giù richiedono una spiegazione obbligatoria . La descrizione che appare quando il puntatore del mouse passa sopra il pulsante giù indica: "questa domanda non mostra alcuno sforzo di ricerca; è poco chiara o non utile" . Inoltre, le domande possono attirare un voto negativo quando non sono ben scritte , non abbastanza sull'argomento o mancano i dettagli.
HBruijn,

Risposte:


15

Tradizionalmente i server dei nomi non inviano una risposta breve a una query ma una risposta completa conforme a RFC 1034 - 1035 che include la sezione di autorità che contiene record di risorse che puntano verso i server dei nomi autorevoli.

Il motivo è probabilmente perché, con la natura distribuita e delegata del DNS, all'epoca sembrava una buona idea includere la "fonte della verità" nelle risposte.

Modifica: A proposito: l'invio della sezione di autorizzazione è conforme a RFC ma non obbligatorio per tutte le risposte alle query.

In BIND questo comportamento può essere sintonizzato con la minimal-responses yes | no;direttiva, dove è l'impostazione predefinita noe le sezioni Autorità e Ulteriori della risposta alla query saranno sempre completamente popolate.
Altri server dei nomi CloudFlare, AWS Route 53, Infoblocks e probabilmente altri invieranno sempre tali risposte minime per impostazione predefinita. I resolver pubblici di Google restituiranno una sezione dell'Autorità quando disponibile, Cloudflare.


Penso che l'origine di quella tradizione di includere sia la sezione di autorità sia la risposta alla query effettiva trovino la loro radice nel codice (pseudo) dall'ormai obsoleta RFC882 pagina 15-16

If the name server is not authoritative, the code copies 
the RRs for a closer name server into the response.  

The last section of the code copies all relevant RRs into the response.

grazie per la modifica e le informazioni aggiuntive. Vorrei
poterti

Questo non risponde davvero alla domanda. Sappiamo già che è stata ricevuta una risposta completa. La domanda era: qual è il vantaggio di questo? Perché lo standard è progettato in questo modo? Qual è il valore delle informazioni "aggiuntive" in questa forma di risposta?
Corse di leggerezza in orbita,

3
@LightnessRacesinOrbit per me, la risposta è evidente: il server DNS non mi sta solo dicendo che example.com è abcd; mi sta dicendo chi l'ha detto. Questo è epistemologicamente corretto, perché non posso dirti con precisione che so che qualcosa è un fatto quando in realtà so solo che alcune terze parti hanno affermato che è un fatto. Trovo più difficile risolvere i problemi quando le persone presentano sentito dire come se fosse un'osservazione, o le loro conclusioni come se fossero prove primarie, ecc. La differenza tra affermare X come vera e dirmi che Y ha detto che è vera è enorme.
Monty Harder,

1
@MontyHarder Sì, ha senso, ma quello che sto dicendo è che dovrebbe essere nella risposta.
Corse di leggerezza in orbita,

2
Le RFC di @LightnessRacesinOrbit non includono sempre le motivazioni del design. Per chiarire "sembrava una buona idea al momento" - Penso che una ragione per cui sia tradizionale includere la sezione autorità oltre alla risposta effettiva alla query anche se gli attuali RFC non hanno mandato che trova la sua origine nello (pseudo ) codice dall'ormai obsoleto RFC882 pagina 15-16 "... Se il server dei nomi non è autorevole, il codice copia i RR per un server dei nomi più vicino nella risposta. L'ultima sezione del codice copia tutti i RR pertinenti nella risposta ... "
HBruijn,

5

Il server non sa se la richiesta proviene da un client finale o è una richiesta ricorsiva da un altro nameserver. Se si tratta di un altro nameserver, può memorizzare nella cache la sezione Autorità ed eseguire query su tali nameserver direttamente in futuro.

Credo che questa fosse la giustificazione originale nel protocollo, ma ha implicazioni per la sicurezza. Una risposta può includere una sezione di autorità che elenca fasulli nameserver e questo è stato utilizzato negli attacchi di avvelenamento da cache. Quindi i nameserver generalmente non memorizzano nella cache i record NS a meno che non siano record di delega per un sottodominio del dominio di cui stai eseguendo la query.


Il server può effettivamente dire la differenza tra tali richieste. C'è un po 'tra le bandiere per chiedere la ricorsione.
Kasperd,

I server possono inviare query ricorsive, ad esempio quando forwardersviene utilizzata la funzione.
Barmar,

Ma se lo fai non si preoccuperà comunque di server autorevoli.
Kasperd,
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.