Olivia's Blog

All on Big Data and Windows Azure

Netzwerke für Dummies – Teil 2 (DNS)

Netzwerke für Dummies – Teil 2 (DNS)

  • Comments 2
  • Likes

Let’s get our hands dirty!

Nun sind wir glücklich, ein Paket empfangen zu haben. Wie sieht es konkret mit den Protokollen in der weiten weiten Welt des Internets aus? Die repräsentativen Protokolle habe ich hier mal dargestellt – auf die fett gedruckten werden wir dann später detaillierter drauf eingehen.

OSI Protokolle 2_thumb[3]

1, 2, 3… Application (Anwendung), Presentation (Darstellung) und Session (Sitzung)

1 2 3 Layers

Streng genommen sind es drei Schichten, die wir hier zusammengefasst als die anwendungsorientierte Protokolle sehen.

Die Anwendungsschicht ist die am meisten “High-Level” Schicht. Die Schicht kommuniziert direkt mit den Softwareanwendungen, die Kommunikationskomponente beinhalten. Hier werden die Kommunikationspartner und deren Verfügbarkeit identifiziert.

Die Darstellungsschicht stellt sicher, dass Daten vom Empfänger ebenfalls lesbar sind, und übersetzt so zwischen verschiedenen Formaten. Datenkompression oder Verschlüsselung könnten ja ihre Finger im Spiel haben.

Die Sitzungsschicht baut, verwaltet und beendet die Verbindungen zwischen den lokalen und Remote-Anwendungen. So ist diese hier verantwortlich für ein “angenehmes” Beenden von Sitzungen, wie auch Wiederherstellung. Man unterscheidet zwischen 3 Modi: Simplex, Halbduplex und Vollduplex, die über die Kommunikationsrichtung Auskunft geben. (1) Bei einem Simplex können Daten nur in eine Richtung übertragen werden, wie zum Beispiel beim Radio, Fernseher oder Pager, während (2) ein Halbduplex ein Wechselbetrieb vorherrscht, d.h. abwechselnd in beide Richtungen fließen aber nicht gleichzeitig fließen kann (z.B. bei einem Funkgerät). (3) Ein Vollduplex ermöglicht die Datenübertragung in beide Richtungen gleichzeitig, z.B. Telefon.

A.  DNS

Das Domain Name System (DNS) kann man sich wie ein Telefonbuch für das Internet vorstellen. Wir geben eine für uns gut leserliche Internetadresse (auch Domainname genannt) ein, und zurück erhalten wir eine IP-Adresse, die aus mehreren Zahlen besteht und deswegen nicht gut für den Menschen zu merken ist, z.B. 10.8.251.0

A.i – Domain-Namensraum

Der Domain-Namensraum ist eine Baumstruktur aus Labels, und ein Domainname ist dann die Verkettung aller Labels eines Pfades, die durch Punkte getrennt sind.

DNS_thumb[2]

Hierbei ist die Root (sprich, die Wurzel der Baumstruktur) der grüne Punkt ganz oben in dem Baum, und wird auch Top Level Domain (TLD) genannt.

A.ii – Nameserver

Ein Nameserver ist ein Server, der für die Namensauflösung verantwortlich ist, d.h. er nimmt als Input beispielsweise einen Rechnernamen und spuckt die entsprechende Adresse aus, die vom Computer bearbeitbar ist. Er kann zum einen ein Programm sein, der alle Anfragen zum Domain-Namensraum beantwortet, aber zum anderen auch der Rechner, auf dem solch ein Programm läuft.

Hier unterscheiden wir zwischen 2 Typen von Nameserver: (1) autoritativer und (2) nicht-autoritativer. Die beiden unterscheiden sich in den Verantwortungsbereichen.

Autoritativer Nameserver

Der autoritative Nameserver ist für eine Zone verantwortlich und deswegen gelten dessen Informationen über die Zone als gesichert. Jede Zone hat mindestens einen autoritativen Server, den Primary Nameserver. Meist werden diese als Server-Cluster realisiert. Über Zonentransfers synchronisieren sich die Primary und Secondary Nameserver.

Nicht-Autoritativer Nameserver

Diese Nameserver erhalten die Informationen zu einer Zone über mehrere Ecken von anderen Nameservern, sodass dessen Informationen nicht gesichert sind. Diese “cachen” von Resolver angefragten DNS-Daten, um weitere Anfragen schneller bearbeiten zu können. Die Einträge haben natürlich jeweils ein Verfallsdatum (TTL – time to live).

A.iii – Resolver

Ein Resolver ist die Schnittstelle zwischen der Anwendung und den Nameserver, und ist ein einfach aufgebautes Server-Modul. Es ruft Informationen von Nameserver ab. Die Anwendung schickt eine Anfrage zum Resolver, der wenn nötig die Anfrage zu einem FQDN (Fully Qualified Domain Name) ergänzt. Bei dem Beispiel von www.microsoft.com ist der entsprechende FQDN www.microsoft.com. Hierbei ist der Punkt ganz rechts wichtig – da der Root-Label immer leer ist, wird in meisten Anwendungen auf den Punkt zwischen der TLD und dem Root Label verzichtet. Der Resolver schickt dann die (ergänzte) Anfrage zu einem fest zugeordneten Nameserver. Auch hier gibt es 2 Modi: (1) rekursiv, oder (2) iterativ.

Rekursiv

Der Resolver schickt die Anfrage an einen Nameserver, der ihm zugeordnet ist, sagen wir Server A. Wenn Nameserver A jedoch nicht die Info besitzt, wird die Anfrage von Server A einfach an einen anderen Server B weitergeleitet. Dies geht so lange bis eine Antwort (sei die positiv oder negativ) von einem autoritativen Server kommt. So wird die vollständige Auflösung dem Nameserver überlassen.

Iterativ

Bei der iterativen Methode läuft das alles ein bisschen anders: Statt der Weiterleitung antwortet der befragte Nameserver mit der gewünschten Info (“Resource Record”) oder verweist auf einen weiteren Nameserver.

1 DNS Resolver

A.iv – What the hack?

Was haben wir da die ganze Zeit gelesen? Also, das DNS kannst Du Dir wie ein Telefonbuch vorstellen, weil wir uns sowieso Zahlenketten überhaupt nicht gut merken können, dafür aber Wortreihen oder Internetadressen. Wie dann eine Internetadresse aufgelöst wird, damit wir bei der richtigen ankommen, geht mit Hilfe von vielen Namenserver, Resolver und natürlich dem Namensraum.

B.  DHCP

Das Dynamic Host Configuration Protocol (DHCP) kommt im nächsten Beitrag! :-)

Comments
  • dummies?

  • dummies?

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment