Warum ist DNS ein Protokoll der Anwendungsschicht?

7

Die Hauptaufgabe von DNS besteht darin, Domänennamen in die entsprechenden IP-Adressen zu übersetzen. Warum ist es also erforderlich, ein Protokoll auf Anwendungsebene zu sein?

Ich denke, dass DNS ein Protokoll der Anwendungsschicht ist, denn wenn ich zum Beispiel eine TCP-Verbindung herstellen möchte, brauche ich die Ziel-IP-Adresse in Schicht 4. Bin ich richtig? Gibt es eine andere Antwort?

Vielen Dank!

D. Rotnemer
quelle
@sergeyrar fasst den Fall zusammen (im Grunde genommen liegt DNS über TCP + UDP, also ist es auf dem vereinfachten Internet-Stack ein Anwendungsprotokoll, auch wenn es oft vor Ansichten verborgen ist), aber warum ist es für Sie wichtig? Was ist der Kontext? Ist es eine rein theoretische Frage? Auch DNS dient nicht nur dazu, Domain-Namen in entsprechende IP-Adressen zu übersetzen, es ist auch etwas breiter.
Patrick Mevzek
Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:

7

DNS ist ein Protokoll auf Anwendungsebene, da DNS-Abfrage und -Antwort die Kommunikation auf Anwendungsebene ist. Die Anwendungsschicht versteht nur den Abfrage- und Antwortabschnitt im DNS-Paket. Daher wird die DNS-Abfrage / Antwort der Anwendungsschicht in Schicht 4 udp, dann in Schicht 3 IP ..... und so weiter gekapselt.

abdul_razak
quelle
1
DNS verwendet UDP und TCP (ja, ich wiederhole mich hier).
Patrick Mevzek
TCP wird nur für zonale Übertragungen verwendet, oder?. aber normale Abfrage / Antwort wird udp sein.
abdul_razak
Nein, das ist nicht wahr. TCP kann auch für "normale" Abfragen verwendet werden. Siehe RFC von @RonMaupin oben zitiert oder zum Beispiel andere Frage: serverfault.com/questions/404840/…
Patrick Mevzek
6

Protokolle auf der Ebene "Physisch", "Datenverbindung", "Netzwerk" oder "Transport" verwenden keine Namen. Nur Anwendungen müssen Namen verwenden, daher ist DNS ein Protokoll auf Anwendungsebene, da die Anwendung einen Namen in eine Netzwerkadresse übersetzen kann.

Ron Maupin
quelle
4

Ich denke, dass DNS ein Protokoll der Anwendungsschicht ist, denn wenn ich zum Beispiel eine TCP-Verbindung herstellen möchte, brauche ich die Ziel-IP-Adresse in Schicht 4. Bin ich richtig?

IP ist ein Layer 3-Protokoll.

DNS ist nur ein Dienst, der Hostnamen in IP-Adressen übersetzt. Sie benötigen dies, da sich Menschen besser an Namen als an Zahlen erinnern können.

Sobald Sie einen Website-Namen eingegeben haben, verfügt Ihr Browser-Client über eine API, mit der das Betriebssystem aufgefordert wird, eine DNS-Anforderung für den von Ihnen eingegebenen Namen auszugeben.

DNS-Anforderungen werden an eine bestimmte DNS-Server-IP-Adresse übertragen, die sich irgendwo im Internet befindet (die Adresse, die Sie manuell konfiguriert oder über ein DHCP-Update erhalten haben). Damit dieser Server weiß, welchen Dienst Sie speziell möchten (da dieser Server beispielsweise auch ein HTTP-Server sein kann), müssen Sie auch eine Portnummer angeben. DNS verwendet den UDP-Port 53. Aus diesem Grund muss es sich um ein Protokoll auf Anwendungsebene handeln.

Wenn sich Ihr DNS-Server immer in Ihrem lokalen Subnetz befindet, können Sie ein Layer 4-Protokoll verwenden, um dies zu implementieren (der Server identifiziert die eingehende Anforderung dann anhand der eindeutigen Multicast-IP-Adresse, die für diesen Dienst reserviert ist - der gleiche Mechanismus wie beispielsweise OSPF).

sergeyrar
quelle
Die Person, die mich herabgestimmt hat, bitte präsentieren Sie Ihre Argumente! würde gerne Ihre Einsichten hören.
Sergeyrar
1
DNS verwendet UDP und TCP!
Patrick Mevzek
1
Ich denke, jemand ist wirklich anderer Meinung, dass DNS ein Protokoll auf Anwendungsebene ist, weil alle Antworten abgelehnt wurden.
Ron Maupin
@PatrickMevzek das ist richtig, obwohl viele Implementierungen RFC 5966, DNS-Transport über TCP - Implementierungsanforderungen nicht eingeholt haben : " Dieses Dokument aktualisiert daher die Kernspezifikationen des DNS-Protokolls, sodass die Unterstützung für TCP fortan ein ERFORDERLICHER Teil eines vollständigen DNS-Protokolls ist Implementierung. "
Ron Maupin
@ RonMaupin Dies wird zu den seltenen Fällen bei Implementierungen (wie es ohnehin für DNSSEC benötigt wird) oder haben Sie bestimmte im Sinn? Es bleiben einfach so viele Fehlinformationen und Netzwerke, die TCP / 53 blind filtern, ohne guten Grund (nur weil) Sie lesen irgendwo, dass dies nur für AXFR benötigt wird (was falsch ist). Der RFC wurde durchgeführt, um eine Möglichkeit zu haben, ein Dokument zu zeigen, das besagt, dass es jetzt über SOLLTE, sonst würden sich die Leute einfach selbst entlasten, indem sie auf das vorherige zeigen.
Patrick Mevzek