• Erste Idee: Hosts auf IP-Adressen mappen, mit hosts-Datei
  • DNA = Verteilte Datenbank, implementiert durch eine Hierachie von Nameservern
  • Protokoll der Anwendungsschicht (Schicht 7), löst Hostnamen auf

Skalierung

  • Lastverteilung auf mehrere Schultern, nämlich die, die die entsprechenden Rechner ans Internet anbinden
  • Verteilung auf Autoritative Nameserver
  • Neue Frage: Woher findet der Client den Nameserver, der seine Adresse auflöst?
  • -> Hierachisch angeordnet als Baum mit Wurzel Root-Server, dieser kennt die IP-Adressen aller
  • Top-Level-Domain-Server (.com, .org, .edu, …)
  • Ein Nameserver muss sich bei einem TLD-Server registrieren

Anfrage:

  • amazon.com? an Root-Server, Antowrt: Weiß ich nicht aber frag mal .com-TLD-Server
  • TDL -Server weiß es auch nicht, Antwort: Frag mal Amazon Autoritativen Nameserver
  • Dann wird der Nameserver nach www.amazon.com gefragt (Iteratives Vorgehen)

Lastverteilung

  • DNS-Root-Nameserver werden auf 13 verteilt.
  • Diese 13 Root-Nameserver haben feste IP-Adressen, die fest in einem Textdokument stehen. http://root-servers.org
  • Heute sind die IP-Adressen Anycast-IP-Adressen, d.h. es stecken mehr Server dahinter

TLD- und Autorative Server

  • TLD-Server:
    • com, org, net, edu
    • Länder: de, uk, fr
    • z.B. ist für de Adressen die Firma DENIC verantwortlich
  • Autorative Server:
    • Von den eigentlichen Firmen
    • Führen die eigentliche Namensauflösung durch

Lokale Nameserver / Default Nameserver

  • Da geht die Anfrage zuerst hin
  • Bsp. Erst mal hosts Datei, dann der lokale Nameserver des Netzwerks usw.
  • Kümmert sich um Namensauflösung
  • Kontaktiert TLD-Nameserver und autorative Nameserver
  • Cached Adressen

Rekursives Vorgehen:

  • Frage geht an lokalen DNS-Server, geht weiter an Root-Server, geht weiter an TLD-Server, …
  • Vorteil: Jeder Server kann cache erstellen

DNS-Dienste

  • Aliasnamen für Hosts
  • Aliasnamen für Mailserver
  • Lastausgleich: Replizierbarer Webserver: Mehrere IP-Adressen von einem kanonischen Namen
nslookup www.oth-regensburg.de

DNS Resource Records

Format: (<name> <ttl> IN <typ> [<prio>] <wert>)

TTL in sekunden, IN steht für Internet (Standard)

  • Typ A
    • name ist der Hostname
    • wert ist die IPv4-Adresse
  • Typ AAAA
    • Wie A nur für IPv6
  • Typ CNAME
    • name ist ein alias für einen kanonischen (echten) Namen
    • wert ist der kanonische Name
    • Bsp: www.ibm.com ist ein Alias für servereast.backup2.ibm.com
  • Typ MX
    • wert ist der Name des Mailservers für die Domain name
  • Typ NS
    • name ist eine Domain (z.B. foo.com)
    • wert ist der Name des autoritativen Nameservers für diese Domain
    • Wird bei Root-DNS-Servern verwendet
  • Mehr als 100 weitere Typen
test.example.com.    3600   IN    A     172.30.0.7
                            IN    TXT   "für DNS-Test"
abc                  1800   IN
dns1                              NS    nameserver.example.org.
  • Der Punkt heißt es handelt sich um einen absoluten Hostname
  • Würde der Punkt weggelassen, würden die Hostnamen gesuffixed werden mit dem eigenen

DNS-Header

  • 16 Bit - ID - Dient dazu dass eine Antwort einer Anfrage zugeordnet werden kann
  • Flags - Query/Reply, Recursion desired/available, ist aus cache?, …
  • Anzahl Questions - Anzahl Answers-RRs
  • Anzahl Authority-RRs - IP der Nameserver die gebraucht werden wenn man einen nicht gecachten Wert haben will
  • Anzahl Additional RRs - Weitere Nameserver die statistisch wahrscheinlich in naher Zukunft gebraucht werden
  • Dann die eigentlichen Questions und Answers