DNS: Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
K (Mermaid auf Diagrams umgestellt)
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''DNS (Domain Name System)''' ist ein System, das verwendet wird, um die [[Domain|Domain-Namen]] von Websites und anderen Netzwerkressourcen in [[Routing|auffindbare]] [[IP-Adresse|IP-Adressen]] umzuwandeln. Z.B.: wird die Domain <code>rickastley.com</code> zur IP-Adresse <code>69.25.142.5</code> aufgelöst.
{{Thumbnailbox|INHALT=<mermaid>
graph TD
  root(("&shy;")) --> de & com & gs
  de --> uni-kiel
  com --> facebook & x & apple
gs --> kah
uni-kiel --> www & informatik & klassalt
kah --> wiki & spicker & infprofil
informatik --> algo & se & zs
zs --> git
</mermaid>
|CAPTION=Ein kleiner Ausschnitt aus dem Baum aller Domains}}
[[DNS|DNS (Domain Name System)]] ist ein System, das verwendet wird, um die [[Domain|Domain-Namen]] von Websites und anderen Netzwerkressourcen in auffindbare [[IP-Adresse]]n umzuwandeln. Zum Beispiel wird die Domain <code>rickastley.com</code> zur IP-Adresse <code>69.25.142.5</code> aufgelöst. Ohne DNS müssten Benutzer stattdessen die IP-Adressen der Ressourcen eingeben, was schwieriger und zeitaufwändiger wäre.


Jeder DNS-[[Server]] hat eine [[Datenbank]] mit Informationen über die Namen und IP-Adressen der Domains, die er verwaltet. Wenn ein DNS-Server eine Anfrage nicht beantworten kann, bzw. die Adresse in seiner Datenbank nicht vorhanden ist, leitet er sie an einen höherrangigen Server weiter. Dieser Prozess wiederholt sich, bis entweder die Anfrage beantwortet werden kann oder es keine weiteren Server mehr gibt, an die sie weitergeleitet werden kann.
Die Domains sind im Domain Name System in einer [[Baum (Datenstruktur)|Baum]]struktur organisiert, von der rechts ein kleiner Teil skizziert ist. Der Wurzelknoten an der Spitze ist leer, jeder Weg den Baum hinab entspricht einer Domain. Für jede Teil-Domain gibt es damit einen eigenen Teilbaum, etwa einen Teilbaum, der alle Domains enthält, die auf <code>.xyz</code> enden, oder einen Teilbaum für alle Domains, die auf <code>.jimdo.com</code> enden. Jedem Baumknoten kann wiederum ein so genannter '''autoritativer''' Nameserver zugeordnet werden, der Informationen über die Subdomains dieser Domain hat. In der Regel kennen die Nameserver nur die unmittelbar darunterstehenden Domains. Der autoritative Nameserver für die Domain <code>.gs</code> weiß also, welcher Nameserver Informationen über die Subdomains von <code>kah.gs</code> haben sollte, kennt aber vermutlich nicht die konkrete IP-Adresse von <code>wiki.kah.gs</code>.


{{Lückenhaft|Der Prozess der Namensauflösung muss präziser beschrieben werden}}
Der Prozess der Namensauflösung bei DNS-Servern läuft folgendermaßen ab:
 
# Der Client erfragt bei einem DNS-Server die IP-Adresse zu einer Domain
# Falls der DNS-Server die IP-Adresse kennt, liefert er sie zurück
# Falls nicht, liefert er den Namen eines anderen Nameservers, der dem Client weiterhelfen kann.
 
Dieser Prozess beginnt dabei in der Regel bei einem der dreizehn weltweit verteilten '''Root-Nameservern''', die jedoch nur die Nameserver für die so genannten Top-Level-Domains wie <code>.de</code> oder <code>.net</code> kennen. Das folgende [[Sequenzdiagramm]] veranschaulicht den Ablauf einer solchen Anfrage:
 
{{:DNS/Sequenzdiagramm}}


Ohne DNS müssten Benutzer stattdessen die IP-Adressen der Ressourcen eingeben, was schwieriger und zeitaufwendiger wäre.
[[Kategorie:Netzwerke]]
[[Kategorie:Netzwerke]]

Aktuelle Version vom 31. Januar 2024, 13:42 Uhr

graph TD root(("&shy;")) --> de & com & gs de --> uni-kiel com --> facebook & x & apple gs --> kah uni-kiel --> www & informatik & klassalt kah --> wiki & spicker & infprofil informatik --> algo & se & zs zs --> git

Ein kleiner Ausschnitt aus dem Baum aller Domains

DNS (Domain Name System) ist ein System, das verwendet wird, um die Domain-Namen von Websites und anderen Netzwerkressourcen in auffindbare IP-Adressen umzuwandeln. Zum Beispiel wird die Domain rickastley.com zur IP-Adresse 69.25.142.5 aufgelöst. Ohne DNS müssten Benutzer stattdessen die IP-Adressen der Ressourcen eingeben, was schwieriger und zeitaufwändiger wäre.

Die Domains sind im Domain Name System in einer Baumstruktur organisiert, von der rechts ein kleiner Teil skizziert ist. Der Wurzelknoten an der Spitze ist leer, jeder Weg den Baum hinab entspricht einer Domain. Für jede Teil-Domain gibt es damit einen eigenen Teilbaum, etwa einen Teilbaum, der alle Domains enthält, die auf .xyz enden, oder einen Teilbaum für alle Domains, die auf .jimdo.com enden. Jedem Baumknoten kann wiederum ein so genannter autoritativer Nameserver zugeordnet werden, der Informationen über die Subdomains dieser Domain hat. In der Regel kennen die Nameserver nur die unmittelbar darunterstehenden Domains. Der autoritative Nameserver für die Domain .gs weiß also, welcher Nameserver Informationen über die Subdomains von kah.gs haben sollte, kennt aber vermutlich nicht die konkrete IP-Adresse von wiki.kah.gs.

Der Prozess der Namensauflösung bei DNS-Servern läuft folgendermaßen ab:

  1. Der Client erfragt bei einem DNS-Server die IP-Adresse zu einer Domain
  2. Falls der DNS-Server die IP-Adresse kennt, liefert er sie zurück
  3. Falls nicht, liefert er den Namen eines anderen Nameservers, der dem Client weiterhelfen kann.

Dieser Prozess beginnt dabei in der Regel bei einem der dreizehn weltweit verteilten Root-Nameservern, die jedoch nur die Nameserver für die so genannten Top-Level-Domains wie .de oder .net kennen. Das folgende Sequenzdiagramm veranschaulicht den Ablauf einer solchen Anfrage:

sequenceDiagram participant c as Client participant s1 as l.root-servers.net participant s2 as a.nic.de participant s3 as ns2.neumuenster.de c->>+s1: www.neumuenster.de IN A note over c, s1: Client erfragt beim Root-Server<br>die IP-Adresse von www.neumuenster.de s1->>-c: de NS IN a.nic.de note over c, s1: Root-Server liefert eine Liste<br>von Nameservern,<br>die für .de zuständig sind. c->>+s2: www.neumuenster.de IN A note over c, s2: Client erfragt bei diesem Server<br>die IP-Adresse von www.neumuenster.de s2->>-c: www.neumuenster.de NS IN ns2.neumuenster.de note over c, s2: Server liefert eine Liste von Nameservern,<br>die für neumuenster.de zuständig sind. c->>+s3: www.neumuenster.de IN A note over c, s3: Client erfragt bei diesem Server<br>die IP-Adresse von www.neumuenster.de s3->>-c: www.neumuenster.de A IN 176.52.247.205 note over c, s3: Server liefert die IP-Adresse von www.neumuenster.de