Fragen zum Domain Name System!

Sophie<3

Newbie
Registriert
Okt. 2015
Beiträge
5
Hallo liebe Community :p

Ich bin neu hier im Forum :) und habe ein paar Fragen zum Thema "Domain Name System" (DNS). Ich weiß grob darüber Bescheid u.a. wie die Namensauflösung ungefähr funktioniert. Aber ein paar Sachen sind mir noch unverständlich :confused_alt:. Wie funktioniert, dass genau mit der rekursiven bzw. iterativen Antwort??? Ich habe damit so meine Verständnissprobleme, wann diese Antwoten vom Server eingesetzt werden bzw. wieso??:affe:
Ich hoffe ihr könnt mir behilflich sein, dass würde mich sehr freuen. :love:

P.S.
Ich hoffe diese Frage ist bei dem richtigen Thema gepostet, sonst entschuldigt bitte meine Trotteligkeit. :p

Vielen Dank schon mal eure

Sopie :cheerlead:
 
Und warum willst du das genau wissen? Das klingt irgendwie nach einer Aufgabe aus Schule/Ausbildung/Studium. Als normaler Anwender hat man damit keine direkten Berührungspunkte.
 
Erstmal Danke für die schnellen Antworten.

Raijin schrieb:
Und warum willst du das genau wissen? Das klingt irgendwie nach einer Aufgabe aus Schule/Ausbildung/Studium. Als normaler Anwender hat man damit keine direkten Berührungspunkte.

Du hast da schon recht mir gehts Primär um Weiterbildung und vorbereitung auf weitere berufliche Schritte.
Das Problem was ich aber habe, ist dass ich mir nicht erschliesen kann wann ein Server sich zwischen rekursivem oder iterativen Antworten entscheidet. Wird dass vom Administrator vorher eingestellt oder passiert es zufällig. Eine normale Namensauflösung wir ja autorativ beantortet.
 
Mit iterativen DNS-Requests hatte ich bisher noch nicht direkt zu tun. Ich vermute daher, dass die DNS-Server der Provider grundsätzlich im rekursiven Modus arbeiten. Das heißt der Client - du und ich - stellt genau einen Request und der Provider-DNS kümmert sich um den Rest - wie auch immer er das tut.

Entweder er gibt den Ball ebenfalls weiter und wartet seinerseits auf eine Antwort von diesem DNS (rekursiv) oder aber er klappert die Hierarchie ab und fragt beim Top-Level-DNS (zB .de) nach welcher DNS computerbase.de verwaltet und dann fragt er diesen DNS wer für bla.computerbase.de verantwortlich ist. Das macht er solange bis er eine konkret aufgelöste IP zu bla.computerbase.de bekommt. (iterativ)


Wenn ich mich nicht irre kann man zB bei "nslookup" Requests explizit mit/ohne rekursion erstellen. nslookup ohne Optionen eingeben, set recurse bzw. set norecurse, anschließend die gewünschte URL eingeben.



Code:
C:\>nslookup
Default Server:  google-public-dns-a.google.com
Address:  8.8.8.8

> set d2
> set recurse
> computerbase.de
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

------------
SendRequest(), len 52
    HEADER:
        opcode = QUERY, id = 2, rcode = NOERROR
        header flags:  query, want recursion
        questions = 1,  answers = 0,  authority records = 0,  additional = 0

[..]

Man beachte Zeile 15. Da wird eine rekusrive Anfrage gestellt. Mit WireShark kann man sich die Datenpakete im Detail anschauen.
 
Zuletzt bearbeitet:
Okay das klingt jetzt plausibel, danke. Ich stelle eine rekursive Anfrage und wenn der Server (meistens der vom Internetprovider) die Domain nicht auflösen kann fragt er andere. Dies geschieht dann iterativ. Der normale User kann dies aber nicht steuern oder?

Habe ein bisschen mit der Eingabeaufforderung experiementiert. Bei kommt bei recurse und norecurse das selbe raus. Aber was heißt der Befehl set d2. Mit ihm bekommt man einen sehr genauen Verlauf ohne ihn nur ein kurze Sicht. Ist das richtig?
 
Zuletzt bearbeitet:
Ja, set d2 schaltet nur die Debugmeldungen ein, weil man sonst einfach nur das nackte Ergebnis sieht.

Du kannst beim Request dem DNS nur mitteilen, dass er andere DNS fragen soll oder nicht. Das ist nur ein Flag 0 bzw. 1 innerhalb des DNS-Request-Pakets. Wie genau der DNS darauf reagiert, ist seine Sache und liegt außerhalb deines Einflussbereichs. Ich vermute zwar stark, dass der DNS eine rekursive Anfrage ganz einfach rekursiv weiterreicht (also den Ball zum nächsten DNS spielt), aber vermutlich kann der DNS die rekursive Anfrage von dir intern auch iterativ abarbeiten. Das sind aber interne Einstellungen des DNS-Servers, die einzig und allein vom Admin definiert werden.

Letztendlich gibt es ja auch noch den DNS-Cache, der für wiederholte Anfragen das zwischengespeicherte Ergebnis des letzten Requests ausgibt, ohne überhaupt einen anderen DNS zu befragen. Den Cache bemerkt man zB wenn man einen DynDNS-Account aktualisiert (zB bla.no-ip.com) und kurz darauf mit nslookup eine DNS-Anfrage startet. Es kann zum Teil mehrere Minuten dauern, bis die aktualisierte IP auch tatsächlich bei nslookup auftaucht, weil der befragte DNS aus dem Gedächtnis, dem Cache, geantwortet hat, ohne sich beim übergeordneten DNS-Server zu informieren.
 
Raijin schrieb:
Letztendlich gibt es ja auch noch den DNS-Cache, der für wiederholte Anfragen das zwischengespeicherte Ergebnis des letzten Requests ausgibt, ohne überhaupt einen anderen DNS zu befragen. Den Cache bemerkt man zB wenn man einen DynDNS-Account aktualisiert (zB bla.no-ip.com) und kurz darauf mit nslookup eine DNS-Anfrage startet. Es kann zum Teil mehrere Minuten dauern, bis die aktualisierte IP auch tatsächlich bei nslookup auftaucht, weil der befragte DNS aus dem Gedächtnis, dem Cache, geantwortet hat, ohne sich beim übergeordneten DNS-Server zu informieren.

Stimmt den Cache hatte ich schon wieder ganz vergessen. Naja ich denke jetzt habe ich alles geschnallt, sonst meld ich mich noch mal :D. Danke Dir Raijin, warst mir wirklich eine große Hilfe.
 
Zurück
Oben