Den DNS-Lookup-Mechanismus verstehen

8

Die spezifische Abfrage, die mich dazu gebracht hat, diesen Prozess zu entfernen, war:

Wird eine DNS-Suche nach einer Unterdomäne, z. B. assets.example.com , schneller, wenn die übergeordnete Domäne example.com bereits aufgelöst wurde?

Nach meinem (naiven) Verständnis ist der grundlegende Prozess für die Übersetzung eines Domain-Namens in eine IP-Adresse recht einfach. Die Adressen der dreizehn Root-Server, die Top-Level-Domains wie com und net auflösen können, sind in der Netzwerkhardware fest codiert. Im Falle einer Suche nach example.com fragt unser lokaler DNS-Server, wahrscheinlich unser Router, einen dieser Stammserver nach einem Top-Level-Nameserver für com . Es fragt dann den resultierenden Nameserver, ob er example auflösen kann. Wenn dies der Fall ist, sind wir fertig, wenn nicht, werden wir an einen anderen Server weitergeleitet. Jeder Nameserver in diesem Prozess kann sich gut im Cache befinden, so dass unser lokaler Router jetzt eine Weile weiß, wo er nach com und example suchen muss, und der com Server weiß, wo er nach example suchen muss.

Trotzdem, ich verstehe es nicht wirklich.

  • Ich weiß, dass es andere DNS-Zwischenserver gibt, wie sie von ISPs bereitgestellt werden. An welchem ​​Punkt werden sie abgefragt?
  • Wenn der com TLD-Nameserver nicht weiß, wie example aufzulösen ist, wie funktioniert es, welche anderen Nameserver zu überprüfen sind? Oder würde das einfach bedeuten, dass example.com nicht aufgelöst werden kann?
  • Wenn ich eine Domain registriere und Nameserver konfiguriere, bearbeite ich gerade eine Gruppe von NS-Records für meine Subdomain einer bestimmten TLD in der Datenbank, die von den Nameservern für diese TLD verwendet wird?

Wikipedia erklärt, dass einige DNS-Server Caching mit einer rekursiven Abfrage-Implementierung kombinieren, die es ihnen ermöglicht, Cache-Treffer zu liefern und Cache-Misses zuverlässig zu beheben. Ich verstehe nicht, wie diese Server abgefragt werden oder wie (sogar allgemein) der Auflösungsalgorithmus funktioniert.

Wenn ich auf meine anfängliche Frage zurückblicke, könnte ich einen Stich bei "Nein" machen, vorausgesetzt, die A-Datensätze befinden sich beide auf dem gleichen Nameserver. Ist das genau?

    
cantlin 09.08.2012, 15:58
quelle

1 Antwort

14

Erstens, die falschen Vorstellungen:

  • Die Stammhinweise (Namen und IP-Adressen der 13 Root-Server) sind in der Netzwerk-Hardware kaum "fest codiert". Netzwerkhardware wie ein Router kann manchmal einen eingebauten DNS-Resolver enthalten, wenn es zufällig auch einen DHCP-Server gibt, aber wenn dies der Fall ist, gibt es normalerweise nur einen Forwarding-Resolver, der die Anfrage an einen Upstream-Nameserver weiterleitet ) wenn es die Antwort nicht kennt.
  • Nameserver, die von ISPs bereitgestellt werden, fungieren normalerweise nicht als "zwischengeschaltete DNS-Server". Entweder Sie verwenden Ihre eigenen Nameserver (z. B. Unternehmensnamenserver, oder Sie haben BIND auf Ihrem Computer installiert) oder Sie verwenden die von Ihrem ISP bereitgestellten. In beiden Fällen kümmert sich der von Ihnen gewählte Nameserver um den rekursiven Auflösungsprozess von Anfang bis Ende. Die Ausnahme sind die oben genannten Forwarding Nameserver.
  • Wenn der com TLD-Nameserver nicht weiß, wie example aufzulösen ist, wird nicht ermittelt, welche anderen Nameserver überprüft werden sollen. It ist selbst der zu prüfende Nameserver. Es kennt entweder example oder example existiert nicht.

Die Antwort auf Ihre Frage ist ja. Wenn ein Nameserver example.com bereits aufgelöst hat (und das Ergebnis immer noch in seinem Cache gültig ist), kann assets.example.com schneller aufgelöst werden.

Der rekursive Auflösungsprozess ist so, wie Sie ihn beschrieben haben: Finden Sie zuerst die Nameserver für . (das root) heraus, dann finden Sie die Nameserver für com , etc ... Nur der rekursive Resolver fragt nicht wirklich für die Nameserver für . und com und example.com . Es fragt jedes Mal nach assets.example.com . Die Root-Server geben ihr keine Antwort auf diese Frage (sie wissen nichts über assets.example.com ), aber sie können zumindest einen Verweis auf die Nameserver für com anbieten. Ebenso werden die Nameserver für com die Frage nicht beantworten (sie wissen es auch nicht), aber sie können einen Verweis auf die Nameserver für example.com anbieten. Die Nameserver für example.com können die Antwort auf die Frage kennen oder nicht, je nachdem, ob assets.example.com weiter an andere Nameserver delegiert oder in derselben Zone wie example.com bereitgestellt wird. Dementsprechend erhält der rekursive Resolver entweder eine endgültige Antwort oder eine andere Empfehlung.

    
Celada 09.08.2012, 19:47
quelle

Tags und Links