Zum Inhalt springen
Zurück zur Themenübersicht

Angewandte Informatik

Rechnernetze: Schichten, Adressen und Protokolle

Warum ein Netz, das aus tausend verschiedenen Techniken besteht, trotzdem als Ganzes funktioniert.

Benötigte Grundlagen

Dieses Vorwissen brauchst du für das Kapitel. Schau kurz nach, wenn dir etwas davon nicht mehr präsent ist, sonst leg direkt los.

Einführung

Zwischen deinem Rechner und einem in Australien liegen Glasfaser, Funkstrecken, Kupferkabel, Dutzende Geräte verschiedener Hersteller und mehrere Länder mit unterschiedlichen Techniken.

Trotzdem kommt die Seite an, und zwar zuverlässig. Niemand hat je alle beteiligten Techniken aufeinander abgestimmt, und niemand könnte das.

Möglich wird das durch eine einzige Entwurfsentscheidung: Schichten. Sie ist der Grund, warum das Internet über fünfzig Jahre lang wachsen konnte, ohne je neu gebaut zu werden, und sie ist der eigentliche Inhalt dieses Kapitels.

Das kannst du nach diesem Kapitel

  • den Aufbau des Schichtenmodells beschreiben und den Zweck der Schichtung begründen.

  • IP-Adresse, Netzanteil und die Aufgabe eines Routers erläutern.

  • den Ablauf einer DNS-Auflösung beschreiben.

  • TCP und UDP vergleichen und begründet auswählen.

  • erklären, was Paketvermittlung leistet und warum sie gewählt wurde.

Kurz aufgefrischt

Vorausgesetzt werden , und Server, IP-Adresse und URL aus Wie das Internet arbeitet und Internetdienste.

Neu ist die Frage, warum das Netz so gebaut ist, wie es gebaut ist.

Das Grundproblem

Ein Netz muss sehr Verschiedenes zugleich leisten: über ein Kabel schicken, den Weg durch die halbe Welt finden, verlorene wiederholen, unterscheiden, welches Programm gemeint ist, und ein Bild darstellen.

Man könnte das in einem einzigen großen Regelwerk unterbringen. Dann müsste aber jede Änderung an einer Stelle alles andere berücksichtigen. Ein neues Funkverfahren würde eine Änderung am Webbrowser erzwingen, und das ist offensichtlich unhaltbar.

Die Lösung ist die Schichtung: Jede Schicht erledigt eine Aufgabe, benutzt die Schicht unter sich und bietet der Schicht über sich einen festen Dienst an. Wie sie das intern macht, geht die Nachbarn nichts an.

Das TCP/IP-Modell

SchichtAufgabeBeispiele
Anwendungwas der Nutzer willHTTP, SMTP, DNS
TransportEnde-zu-Ende zwischen ProgrammenTCP, UDP
InternetWeg durch das Netz findenIP
Netzzugang über die LeitungEthernet, WLAN

Beim Senden durchläuft eine die Schichten von oben nach unten, und jede fügt ihre eigenen Angaben als Kopfdaten hinzu:

Anwendung:   [ HTTP-Anfrage ]
Transport:   [ TCP | HTTP-Anfrage ]
Internet:    [ IP | TCP | HTTP-Anfrage ]
Netzzugang:  [ Ethernet | IP | TCP | HTTP-Anfrage ]

Beim wird von unten nach oben wieder ausgepackt. Jede Schicht liest genau ihre eigenen Kopfdaten und reicht den Rest weiter.

🔴 Der Gewinn zeigt sich beim Ändern. Ein WLAN ersetzt ein Kabel, ohne dass HTTP davon erfährt. Ein neues entsteht, ohne dass ein Router angepasst wird. Jede Schicht ist austauschbar, solange sie ihren Dienst nach oben unverändert anbietet. Genau dieser Gedanke steckt auch hinter der Kapselung in der Objektorientierung und hinter dem abstrakten : außen die Zusage, innen die freie Umsetzung.

Das TCP/IP-Modell

↑ nah am Menschen↓ nah an der LeitungAnwendungwas der Nutzer will: HTTP, SMTP,DNSTransportEnde zu Ende zwischenProgrammen: TCP, UDPInternetden Weg durch das Netz finden:IPNetzzugangBits über die Leitung: Ethernet,WLAN

Vier Schichten, und jede benutzt nur die direkt darunter und bietet der direkt darüber einen festen Dienst an. Beim Senden läuft eine von oben nach unten und bekommt auf jeder Ebene eigene Kopfdaten davor; beim wird von unten nach oben wieder ausgepackt, wobei jede Schicht genau ihre eigenen Kopfdaten liest und den Rest weiterreicht. 🔴 Der Gewinn steckt in den Grenzen zwischen den Kästen, nicht in den Kästen selbst. Ein WLAN ersetzt ein Kabel, ohne dass HTTP davon erfährt; ein neues entsteht, ohne dass ein Router angepasst wird. Jede Schicht ist austauschbar, solange sie ihren Dienst nach oben unverändert anbietet. Wäre alles ein einziges Regelwerk, müsste jede Änderung an einer Stelle alles andere berücksichtigen, ein neues Funkverfahren würde eine Änderung am Browser erzwingen. Es ist derselbe Gedanke wie die Kapselung in der Objektorientierung: außen die Zusage, innen die freie Umsetzung.

Adressen und Wege

Eine IP-Adresse bezeichnet einen Anschluss im Netz. In der verbreiteten Fassung IPv4 sind das 32 , geschrieben als vier Zahlen:

192.168.10.25\texttt{192.168.10.25}

Jede der vier Zahlen steht für ein , geht also von 0 bis 255. Damit gibt es 232≈4,32^{32} \approx 4{,}3 Milliarden Adressen, und genau deshalb wurden sie knapp; die Nachfolgefassung IPv6 benutzt 128 Bit.

Eine Adresse zerfällt in Netzanteil und Geräteanteil. Welcher Teil wie lang ist, sagt die Angabe hinter dem Schrägstrich:

192.168.10.25/24\texttt{192.168.10.25/24}

Die 24 bedeutet: Die ersten 24 Bit sind der Netzanteil, hier also 192.168.10\texttt{192.168.10}; die restlichen 8 Bit bezeichnen das Gerät im Netz.

Damit erklärt sich die Arbeitsweise eines Routers. Er prüft für jedes Paket nur den Netzanteil der Zieladresse und entscheidet danach, über welche Leitung es weitergeht.

Beachte, was er dabei nicht tut: Er kennt nicht den ganzen Weg zum Ziel, sondern nur den nächsten Schritt. Er merkt sich auch nichts über frühere Pakete. Genau deshalb kommt er mit vergleichsweise kleinen Tabellen aus, obwohl es Milliarden Adressen gibt: Er muss nur Netze unterscheiden, nicht Geräte.

192.168.10.25/24 · 32 Bit

248Netzanteil, 24 Bit192.168.10, dasinteressiert den RouterGerät, 8 Bithier die 25; 8 Bitlassen 256 Geräte zuDie 24 hinter dem Schrägstrichsagt, wo die Grenze liegt.

Die Breiten im Bild sind maßstäblich: 24 gegen 8, also drei Viertel gegen ein Viertel. Genau an dieser Grenze arbeitet ein Router, und das erklärt, wie er trotz Milliarden Adressen mit kleinen Tabellen auskommt: Er sieht nur den Netzanteil an und entscheidet danach, über welche Leitung das Paket weitergeht. Er muss also Netze unterscheiden, nicht Geräte. 🔴 Beachte auch, was er dabei nicht tut: Er kennt nicht den ganzen Weg zum Ziel, sondern nur den nächsten Schritt, und er merkt sich nichts über frühere Pakete. Aus dem rechten Feld folgt außerdem die Größe des Netzes, 8 Bit sind 256 Möglichkeiten. Und aus den 32 Bit insgesamt folgt die Knappheit: 232≈4,32^{32} \approx 4{,}3 Milliarden Adressen für eine Welt mit mehr Geräten als das. Deshalb hat die Nachfolgefassung IPv6 128 Bit.

Paketvermittlung

werden nicht am Stück verschickt, sondern in Pakete zerlegt. Jedes trägt Absender, Ziel und eine laufende Nummer und findet seinen eigenen Weg. Beim werden sie anhand der Nummern wieder zusammengesetzt.

Warum so? Die Alternative wäre, für jede Verbindung eine feste Leitung zu schalten, wie beim alten Telefonnetz. Die Paketvermittlung hat drei Vorteile:

Bessere Ausnutzung. Die Leitung wird nur belegt, wenn wirklich Daten fließen. In Denkpausen können andere sie nutzen. Ausfallsicherheit. Fällt eine Verbindung aus, nehmen die folgenden Pakete einen anderen Weg. Ein fest geschalteter Weg wäre unterbrochen. Kein Aufbau nötig. Ein Paket kann sofort losgeschickt werden.

Der Preis: Pakete können in falscher Reihenfolge ankommen, sich verzögern oder ganz verlorengehen. Die Internet-Schicht verspricht ausdrücklich nichts darüber; sie versucht nur ihr Bestes. Wer Zuverlässigkeit braucht, muss sie eine Schicht höher herstellen.

Jedes Paket sucht seinen eigenen Weg

ein Bild, in 3 Pakete zerlegt1231, 321, 322AbsenderRouter ARouter BRouter CEmpfängerAnkunft in dieser Reihenfolge132Paket 2 nimmt den längeren Wegund kommt deshalb zuletzt an.

Drei Pakete, zwei verschiedene Wege: und daraus folgt die Zeile „Ankunft“. Die Pakete 1 und 3 gehen über Router A und brauchen zwei Sprünge, Paket 2 über B und C und braucht drei. Also kommt es zuletzt an, obwohl es als Zweites losgeschickt wurde: Die Reihenfolge 1, 3, 2 ist im Bild ablesbar und nicht behauptet. 🔴 Genau das ist der Preis der Paketvermittlung, und man muss ihn kennen, um den Rest des Kapitels zu verstehen. Der Gewinn ist dreifach: Die Leitung wird nur belegt, wenn wirklich fließen; fällt eine Verbindung aus, nehmen die folgenden Pakete einen anderen Weg; und losgeschickt werden kann sofort, ohne Verbindungsaufbau. Der Preis ist, dass Pakete in falscher Reihenfolge ankommen, sich verzögern oder ganz verlorengehen können. Die Internet-Schicht verspricht dazu ausdrücklich nichts, sie versucht nur ihr Bestes. Wer Zuverlässigkeit braucht, muss sie eine Schicht höher herstellen, und genau dafür gibt es TCP.

TCP und UDP

Genau das leistet die Transportschicht, und sie bietet zwei Möglichkeiten an.

TCP stellt eine zuverlässige Verbindung her:

  • Es baut vor der Übertragung eine Verbindung auf.
  • Es nummeriert Pakete und bringt sie beim in die richtige Reihenfolge.
  • Es lässt sich jedes Paket bestätigen und sendet unbestätigte erneut.
  • Es drosselt die Senderate, wenn das Netz überlastet ist.

UDP verzichtet auf all das. Es schickt Pakete los, ohne Verbindung, ohne Bestätigung, ohne Wiederholung.

TCPUDP
Verbindungjanein
Reihenfolge garantiertjanein
verlorene Paketewerden wiederholtbleiben verloren
Verzögerunghöherniedriger
Zusatzdatenmehrweniger

🔴 Die Wahl ist keine Frage von „besser", sondern der Anwendung. Bei einer oder einer Webseite wäre ein einziges fehlendes fatal → TCP. Bei einem Videogespräch ist ein verlorenes Einzelbild kaum bemerkbar, eine halbe Sekunde Verzögerung dagegen sehr wohl → UDP.

Das nachträgliche Wiederholen eines Bildes wäre bei einem laufenden Gespräch sogar schädlich: Bis es ankäme, wäre der Moment vorbei, und die Wiederholung würde die aktuellen nur weiter verzögern.

Ports

Auf einem Rechner laufen viele Programme zugleich. Die IP-Adresse bezeichnet nur das Gerät; welches Programm gemeint ist, sagt die Portnummer.

PortDienst
80HTTP
443HTTPS
25SMTP (E-Mail-Versand)
53DNS

Adresse und Port zusammen bezeichnen einen Endpunkt: 93.184.216.34:443\texttt{93.184.216.34:443}. Man kann sich die IP-Adresse als Hausnummer und den Port als Wohnungsnummer vorstellen.

Das Namenssystem DNS

Niemand merkt sich Zahlenkolonnen. Das DNS übersetzt Namen in IP-Adressen.

Es ist hierarchisch aufgebaut, und zwar von rechts nach links gelesen:

www . beispiel . de .
 │       │        │   └── Wurzel
 │       │        └────── Bereich "de"
 │       └─────────────── Bereich "beispiel"
 └─────────────────────── Rechner im Bereich

Der Ablauf einer :

1. Der Rechner fragt seinen zuständigen DNS-Server. 2. Kennt der die Antwort nicht, fragt er einen Wurzelserver: „Wer ist für de\texttt{de} zuständig?" 3. Der de\texttt{de}- nennt den für beispiel.de\texttt{beispiel.de} zuständigen Server. 4. Dieser liefert die IP-Adresse von www.beispiel.de\texttt{www.beispiel.de}. 5. Die Antwort wird zwischengespeichert, damit die nächste Anfrage sofort beantwortet werden kann.

Warum die Hierarchie? Weil kein einzelner Server alle Namen der Welt kennen könnte, weder vom Speicher noch von der Last her. Die Aufteilung erlaubt außerdem, dass jeder Betreiber seine eigenen Namen selbst verwaltet, ohne eine zentrale Stelle zu fragen.

Der Zwischenspeicher hat allerdings eine Kehrseite: Ändert sich eine Adresse, dauert es, bis alle Zwischenspeicher die alte Angabe vergessen haben. Deshalb bekommt jede Antwort eine Gültigkeitsdauer mit.

www.beispiel.de von rechts gelesen

↑ so wird es geschrieben↓ so wird es aufgelöstwwwder Rechner im Bereichbeispiel.debeispielBereich, den sein Betreiberselbst verwaltetdeBereich für Deutschland. (Wurzel)kennt nur, wer für de, com …zuständig ist

Ein Name wie www.beispiel.de\texttt{www.beispiel.de} liest sich von rechts nach links immer enger, und genau dieser Weg steht hier von unten nach oben. Die geht denselben Weg: Der Wurzelserver nennt den für de\texttt{de} zuständigen , dieser den für beispiel.de\texttt{beispiel.de}, und der liefert schließlich die Adresse von www\texttt{www}. 🔴 Warum überhaupt diese Hierarchie? Weil kein einzelner Server alle Namen der Welt kennen könnte, weder vom Speicher noch von der Last her und weil die Aufteilung erlaubt, dass jeder Betreiber seine eigenen Namen selbst verwaltet, ohne eine zentrale Stelle fragen zu müssen. Jede Antwort wird außerdem zwischengespeichert, damit die nächste Anfrage sofort beantwortet wird. Das hat eine Kehrseite, die man kennen muss: Ändert sich eine Adresse, dauert es, bis alle Zwischenspeicher die alte vergessen haben. Deshalb bekommt jede Antwort eine Gültigkeitsdauer mit.

Der Weg einer Webseite

Alles zusammen, wenn du eine Adresse eingibst:

1. DNS löst den Namen in eine IP-Adresse auf. 2. TCP baut eine Verbindung zu dieser Adresse auf Port 443 auf. 3. HTTPS verschlüsselt die Verbindung. 4. HTTP sendet die Anfrage. 5. Die Antwort wird in Pakete zerlegt, von IP durch das Netz geleitet, von TCP wieder zusammengesetzt. 6. Der Browser stellt die Seite dar.

Sechs Schritte, vier Schichten, mehrere , und der ganze Vorgang dauert Bruchteile einer Sekunde.

Was beim Aufruf einer Webseite passiert

Beschreibe, was zwischen Eingabe von www.beispiel.de\texttt{www.beispiel.de} und Anzeige der Seite geschieht, und ordne jeden Schritt einer Schicht zu.

  1. 1

    Schritt 1: Namen auflösen (Anwendungsschicht). Der Rechner fragt seinen DNS-Server nach der IP-Adresse. Kennt dieser sie nicht, fragt er über die Hierarchie Wurzel → de\texttt{de} → beispiel.de\texttt{beispiel.de} weiter. Ergebnis etwa 93.184.216.34\texttt{93.184.216.34}.

  2. 2

    Schritt 2: Verbindung aufbauen (Transportschicht). TCP baut eine Verbindung zu 93.184.216.34\texttt{93.184.216.34} auf Port 443 auf. Erst danach dürfen Nutzdaten fließen.

  3. 3

    Schritt 3: Anfrage senden (Anwendungsschicht). Der Browser schickt eine HTTP-Anfrage, verschlüsselt durch HTTPS.

  4. 4

    Schritt 4: Weg finden (Internetschicht). Die Anfrage wird in Pakete zerlegt. Jeder Router auf dem Weg prüft den Netzanteil der Zieladresse und schickt das Paket über die passende Leitung weiter. Verschiedene Pakete können verschiedene Wege nehmen.

  5. 5

    Schritt 5: übertragen (Netzzugangsschicht). Auf jedem Abschnitt geschieht das mit der dort vorhandenen Technik: erst WLAN, dann Kupfer, dann Glasfaser. Die höheren Schichten merken davon nichts.

  6. 6

    Schritt 6: zusammensetzen und darstellen. TCP ordnet die Pakete nach ihren Nummern, fordert fehlende erneut an und übergibt den vollständigen Datenstrom. Der Browser stellt die Seite dar.

  7. 7

    Die Beobachtung, auf die es ankommt: In Schritt 5 wechselt die Technik mehrfach, ohne dass irgendetwas in den Schritten 1 bis 4 angepasst werden müsste. Genau dafür gibt es die Schichten.

Sechs Schritte über vier Schichten. Der Wechsel der Übertragungstechnik bleibt für alle höheren Schichten unsichtbar.

TCP oder UDP entscheiden

Entscheide begründet für: (1) Herunterladen eines Programms, (2) Videotelefonat, (3) Abruf einer Webseite, (4) DNS-Anfrage.

  1. 1

    Die Leitfrage: Was ist schlimmer, ein fehlendes Datenstück oder eine Verzögerung?

  2. 2

    (1) Programm herunterladen: Ein einziges fehlendes macht die unbrauchbar; das Programm startet nicht oder stürzt ab. Eine Sekunde länger warten ist dagegen belanglos. → TCP.

  3. 3

    (2) Videotelefonat: Ein verlorenes Einzelbild fällt kaum auf. Eine halbe Sekunde Verzögerung macht das Gespräch unbrauchbar. → UDP.

  4. 4

    Beachte den Zusatzgrund: Eine nachträgliche Wiederholung wäre hier sogar schädlich. Bis das Bild ankäme, wäre der Moment vorbei, und es würde die aktuellen weiter verzögern.

  5. 5

    (3) Webseite: Fehlt ein Stück des HTML-Texts, ist die Seite fehlerhaft oder unvollständig. → TCP.

  6. 6

    (4) DNS-Anfrage: Sehr kurz, meist ein einziges Paket. Ein TCP-Verbindungsaufbau würde mehr Zeit kosten als die Anfrage selbst. Bleibt die Antwort aus, fragt man einfach noch einmal. → UDP.

  7. 7

    Das Muster: Nicht die Wichtigkeit der Daten entscheidet, sondern ob sich ein Verlust nachträglich sinnvoll beheben lässt. Bei einer Datei ja, bei einem laufenden Gespräch nein, bei einer kurzen Anfrage einfacher durch Wiederholen als durch Verbindungsaufbau.

TCP für (1) und (3), UDP für (2) und (4). Entscheidend ist, ob ein nachträgliches Wiederholen noch etwas nützt.

Typischer Fehler

„TCP ist besser als UDP, weil es zuverlässig ist. UDP nimmt man nur, wenn man sparen will."

Zuverlässigkeit ist kein Wert an sich, sondern eine Eigenschaft mit Preis, und dieser Preis ist manchmal zu hoch.

TCP erreicht seine Zuverlässigkeit durch Nummerieren, Bestätigen und Wiederholen. Jedes fehlende Paket wird nachgefordert, und alle nachfolgenden warten, bis es da ist. Genau dieses Warten ist bei zeitkritischen Anwendungen das Problem.

Beim Videotelefonat sieht das so aus: Geht ein Einzelbild verloren, würde TCP es erneut anfordern. Bis es eintrifft, sind mehrere neue Bilder entstanden, die aber nicht ausgegeben werden dürfen, weil die Reihenfolge garantiert ist. Das Ergebnis ist ein stockendes Bild statt eines kurzen Aussetzers.

Mit UDP fehlt das eine Bild schlicht, und das Gespräch läuft ohne Unterbrechung weiter. Das ist keine schlechtere Übertragung, sondern die für diesen Zweck richtige.

Zwei weitere Punkte, die oft übersehen werden:

UDP ist nicht ungeregelt. Anwendungen, die es nutzen, bauen sich die Eigenschaften, die sie wirklich brauchen, selbst auf, etwa eine eigene Reihenfolgenprüfung ohne Wiederholung. Sie bekommen so genau das gewünschte Verhalten statt eines festen Pakets.

Auch TCP garantiert keine Geschwindigkeit. Es garantiert Vollständigkeit und Reihenfolge. Bei schlechter Verbindung kann es sogar deutlich langsamer sein, weil es die Senderate absichtlich drosselt.

Die richtige Frage lautet also: Nützt eine nachträgliche Wiederholung noch etwas? Bei einer ja, bei einem laufenden Gespräch nein.

Übung 1

leicht

a) Nenne die vier Schichten des TCP/IP-Modells mit je einer Aufgabe. b) Wozu dient eine Portnummer? c) Was macht das DNS? d) Nenne zwei Anwendungen, die UDP benutzen.

Tipp anzeigen

Zu b): Was bezeichnet die IP-Adresse, und was fehlt dann noch?

Lösung anzeigen

a) Netzzugang: über die konkrete Leitung übertragen (Ethernet, WLAN). Internet: den Weg durch das Netz finden (IP, Router). Transport: die Verbindung zwischen zwei Programmen herstellen, mit oder ohne Zuverlässigkeit (TCP, UDP). Anwendung: das leisten, was der Nutzer will (HTTP, SMTP, DNS).

b) Die IP-Adresse bezeichnet nur das Gerät. Da auf einem Gerät viele Programme laufen, sagt die Portnummer, welches gemeint ist. Adresse und Port zusammen bezeichnen einen Endpunkt, etwa 93.184.216.34:443\texttt{93.184.216.34:443}.

c) Es übersetzt Namen wie www.beispiel.de\texttt{www.beispiel.de} in IP-Adressen. Der Aufbau ist hierarchisch: Wurzel, dann de\texttt{de}, dann beispiel\texttt{beispiel}, dann der Rechner.

d) Videotelefonate und Onlinespiele; ebenso DNS-Anfragen selbst und Livestreams.

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    a) Die vier Schichten und ihre je eigene Aufgabe

    Netzzugang: Bits über die konkrete Leitung übertragen (Ethernet, WLAN). Internet: den Weg durch das Netz finden (IP, Router). Transport: die Verbindung zwischen zwei Programmen herstellen, mit oder ohne Zuverlässigkeit (TCP, UDP). Anwendung: das leisten, was der Nutzer will (HTTP, SMTP, DNS).

  2. 2

    b) Die Portnummer bezeichnet das Programm, nicht das Gerät

    Die IP-Adresse bezeichnet nur das Gerät. Da auf einem Gerät viele Programme laufen, sagt die Portnummer, welches gemeint ist. Adresse und Port zusammen bezeichnen einen Endpunkt, etwa 93.184.216.34:443\texttt{93.184.216.34:443}.

  3. 3

    c) Das DNS und sein hierarchischer Aufbau

    Es übersetzt Namen wie www.beispiel.de\texttt{www.beispiel.de} in IP-Adressen. Der Aufbau ist hierarchisch: Wurzel, dann de\texttt{de}, dann beispiel\texttt{beispiel}, dann der Rechner.

  4. 4

    d) Zwei Anwendungen, die UDP benutzen

    Videotelefonate und Onlinespiele; ebenso DNS-Anfragen selbst und Livestreams. Gemeinsam ist ihnen, dass Aktualität wichtiger ist als Vollständigkeit.

Übung 2

mittel

a) Erkläre, warum das Schichtenmodell das Weiterentwickeln des Netzes erleichtert. Gib ein Beispiel. b) Ein Rechner hat die Adresse 192.168.10.25/24\texttt{192.168.10.25/24}. Welcher Teil ist Netzanteil, welcher Geräteanteil? Wie viele Geräte passen ins Netz? c) Warum kennt ein Router nicht den ganzen Weg zum Ziel? d) Beschreibe die von www.schule.de\texttt{www.schule.de} durch das DNS.

Tipp anzeigen

Zu b): Wie viele bleiben für den Geräteanteil?

Lösung anzeigen

a) Weil jede Schicht nur den Dienst der darunterliegenden benutzt, nicht deren Umsetzung. Solange eine Schicht ihren Dienst nach oben unverändert anbietet, kann sie innen beliebig verändert oder ganz ersetzt werden.

Beispiel: Die Umstellung von Kabel auf WLAN betrifft nur die Netzzugangsschicht. IP, TCP und HTTP bleiben unverändert, und kein Browser musste dafür angepasst werden. Umgekehrt entstand HTTPS als neues , ohne dass ein einziger Router geändert wurde.

b) Die /24\texttt{/24} bedeutet, dass die ersten 24 Bit den Netzanteil bilden.

Netzanteil: 192.168.10\texttt{192.168.10} (drei = 24 Bit) Geräteanteil: 25\texttt{25} (ein Byte = 8 Bit)

Mit 8 Bit gibt es 28=2562^8 = 256 Kombinationen. Zwei davon sind vergeben, nämlich die Netzadresse (.0\texttt{.0}) und die Rundsendeadresse (.255\texttt{.255}). Es bleiben 254 nutzbare Geräteadressen.

c) Weil das bei Milliarden von Adressen weder speicherbar noch pflegbar wäre. Er prüft nur den Netzanteil der Zieladresse und entscheidet daraus, über welche Leitung das Paket als Nächstes geht. Den Rest überlässt er dem nächsten Router.

Zwei Vorteile folgen daraus: Die Tabellen bleiben klein, weil nur Netze unterschieden werden müssen, nicht einzelne Geräte. Und fällt eine Verbindung aus, kann jeder Router selbständig einen anderen Weg wählen, ohne dass irgendwo ein Gesamtplan geändert werden müsste.

d) 1. Der Rechner fragt seinen zuständigen DNS-Server. 2. Hat dieser die Antwort nicht zwischengespeichert, fragt er einen Wurzelserver nach dem zuständigen für de\texttt{de}. 3. Der de\texttt{de}-Server nennt den für schule.de\texttt{schule.de} zuständigen Server. 4. Dieser liefert die IP-Adresse von www.schule.de\texttt{www.schule.de}. 5. Die Antwort geht an den Rechner zurück und wird mit ihrer Gültigkeitsdauer zwischengespeichert, sodass die nächste Anfrage sofort beantwortet wird.

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    Teil a): Den Kern der Schichtung benennen

    Entscheidend ist nicht, dass es mehrere Schichten gibt, sondern dass jede nur den Dienst der Nachbarschicht kennt und nicht deren Innenleben.

    Zwischenergebnis

    Austauschbarkeit bei gleichbleibendem Dienst.

    Das ist derselbe Gedanke wie bei der Kapselung und beim abstrakten Datentyp: außen die Zusage, innen die freie Umsetzung.

  2. 2

    Teil b): Bits zählen, nicht Zahlen

    Die Zahl hinter dem Schrägstrich zählt Bits. Da eine IPv4-Adresse 32 Bit hat, bleiben bei /24\texttt{/24} genau 8 Bit für das Gerät.

    32 - 24 = 8 ;\Rightarrow; 2^8 = 256

    Zwischenergebnis

    256 Adressen, davon 254 nutzbar.

  3. 3

    Teil c): Warum lokales Wissen genügt

    Der Router trifft eine reine Nächster-Schritt-Entscheidung anhand des Netzanteils. Den Gesamtweg kennt niemand, und das ist Absicht.

    Zwischenergebnis

    Kleine Tabellen, selbständige Umleitung bei Ausfall.

  4. 4

    Teil d): Von rechts nach links auflösen

    Man beginnt bei der Wurzel und arbeitet sich nach links vor: erst der Bereich de\texttt{de}, dann schule\texttt{schule}, dann der Rechner.

    Zwischenergebnis

    Vier Fragen, danach die IP-Adresse.

    Der Zwischenspeicher verkürzt spätere Anfragen erheblich, verzögert aber auch das Bekanntwerden von Änderungen. Deshalb bekommt jede Antwort eine Gültigkeitsdauer.

Übung 3

schwer

a) Vergleiche TCP und UDP und begründe für zwei Anwendungen die Wahl. b) Warum wäre TCP bei einem Videotelefonat sogar nachteilig? c) Nenne drei Gründe für die Paketvermittlung und je einen Nachteil. d) Erkläre, warum das DNS hierarchisch aufgebaut ist und welchen Nachteil der Zwischenspeicher hat.

Tipp anzeigen

Zu b): Was geschieht mit den nachfolgenden , während ein Paket erneut angefordert wird?

Lösung anzeigen

a) TCP baut eine Verbindung auf, nummeriert Pakete, lässt sie bestätigen, wiederholt fehlende und stellt damit Vollständigkeit und Reihenfolge sicher. UDP verzichtet auf all das und ist dafür schneller und sparsamer.

Dateidownload → TCP: Ein einziges fehlendes macht die unbrauchbar. Zeit spielt keine Rolle, Vollständigkeit alles.

Onlinespiel → UDP: Eine veraltete Positionsangabe ist wertlos, sobald eine neuere vorliegt. Wichtig ist die niedrige Verzögerung, nicht die Vollständigkeit.

b) Weil TCP die Reihenfolge garantiert. Geht ein Paket verloren, fordert es dieses erneut an und hält alle nachfolgenden Daten zurück, bis es eingetroffen ist. Bei einem laufenden Gespräch bedeutet das: Statt eines kaum bemerkbaren Aussetzers entsteht eine spürbare Blockade, während im Hintergrund bereits mehrere neuere Bilder warten, die nicht ausgegeben werden dürfen.

Hinzu kommt, dass das nachgeforderte Bild bei seinem Eintreffen längst veraltet ist. Die Wiederholung kostet also Zeit und Bandbreite für Daten, die niemand mehr braucht.

c) Gründe: Bessere Ausnutzung, die Leitung wird nur belegt, wenn Daten fließen; in Pausen können andere sie nutzen. Ausfallsicherheit, fällt eine Verbindung aus, nehmen die folgenden Pakete einen anderen Weg. Kein Verbindungsaufbau nötig, ein Paket kann sofort losgeschickt werden.

Nachteile: Pakete können in falscher Reihenfolge ankommen; sie können unterschiedlich lange unterwegs sein, was zu schwankender Verzögerung führt; und sie können ganz verlorengehen. Jedes Paket trägt außerdem Kopfdaten mit, was bei sehr kleinen Nutzdaten ins Gewicht fällt.

d) Hierarchie: Kein einzelner könnte alle Namen der Welt speichern, und keiner könnte die Last aller Anfragen tragen. Die Aufteilung in Wurzel, Bereiche wie de\texttt{de} und darunterliegende Bereiche verteilt beides. Sie erlaubt außerdem, dass jeder Betreiber seine eigenen Namen selbst verwaltet und neue Namen anlegen kann, ohne eine zentrale Stelle zu fragen. Und sie erhöht die Ausfallsicherheit, weil der Ausfall eines Bereichsservers nur diesen Bereich betrifft.

Nachteil des Zwischenspeichers: Ändert sich die IP-Adresse eines Namens, gilt in vielen Zwischenspeichern noch die alte Angabe. Anfragen laufen dann ins Leere oder auf einen falschen Server, und zwar so lange, bis die Gültigkeitsdauer abgelaufen ist. Wer einen Umzug plant, setzt diese Dauer deshalb vorher herunter.

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    a) TCP und UDP gegenüberstellen und je zwei Anwendungen begründen

    TCP baut eine Verbindung auf, nummeriert Pakete, lässt sie bestätigen, wiederholt fehlende und stellt damit Vollständigkeit und Reihenfolge sicher. UDP verzichtet auf all das und ist dafür schneller und sparsamer. Dateidownload → TCP: Ein einziges fehlendes Byte macht die Datei unbrauchbar. Onlinespiel → UDP: Eine veraltete Positionsangabe ist wertlos, sobald eine neuere vorliegt.

  2. 2

    b) Warum TCP beim Videotelefonat sogar schadet

    Weil TCP die Reihenfolge garantiert. Geht ein Paket verloren, fordert es dieses erneut an und hält alle nachfolgenden Daten zurück, bis es eingetroffen ist. Bei einem laufenden Gespräch bedeutet das: statt eines kaum bemerkbaren Aussetzers eine spürbare Blockade, während im Hintergrund bereits mehrere neuere Bilder warten, die nicht ausgegeben werden dürfen.

  3. 3

    c) Drei Gründe für die Paketvermittlung, mit ihren Nachteilen

    Bessere Ausnutzung: Die Leitung wird nur belegt, wenn Daten fließen; in Pausen können andere sie nutzen. Ausfallsicherheit: Fällt eine Verbindung aus, nehmen die folgenden Pakete einen anderen Weg. Kein Verbindungsaufbau nötig: Ein Paket kann sofort losgeschickt werden. Nachteile: falsche Reihenfolge, schwankende Verzögerung, Verluste und Kopfdaten in jedem Paket.

  4. 4

    d) Warum das DNS hierarchisch ist und was der Zwischenspeicher kostet

    Hierarchie: Kein einzelner Server könnte alle Namen der Welt speichern, und keiner könnte die Last aller Anfragen tragen. Die Aufteilung verteilt beides, erlaubt jedem Betreiber, seine Namen selbst zu verwalten, und erhöht die Ausfallsicherheit. Nachteil des Zwischenspeichers: Ändert sich die IP-Adresse, gilt in vielen Zwischenspeichern noch die alte Angabe.

Zusammenfassung

Ein Netz muss sehr verschiedene Aufgaben zugleich lösen, von der Übertragung einzelner bis zur Darstellung einer Seite. Die Schichtung teilt diese Aufgaben so auf, dass jede Schicht nur den Dienst der darunterliegenden benutzt und der darüberliegenden einen festen Dienst anbietet; dadurch bleibt jede austauschbar, und genau deshalb konnte das Internet über Jahrzehnte wachsen, ohne je neu gebaut zu werden. Die Internetschicht arbeitet mit IP-Adressen aus Netz- und Geräteanteil, und ein Router entscheidet allein anhand des Netzanteils über den nächsten Schritt, ohne den Gesamtweg zu kennen oder sich frühere Pakete zu merken. Die Paketvermittlung nutzt Leitungen besser aus und übersteht Ausfälle, liefert dafür aber ungeordnet und unzuverlässig. Die Transportschicht stellt das mit TCP wieder her, während UDP darauf verzichtet; welches passt, entscheidet nicht die Wichtigkeit der , sondern ob ein nachträgliches Wiederholen überhaupt noch nützt. Portnummern unterscheiden die Programme auf einem Gerät, und das hierarchisch aufgebaute DNS übersetzt Namen in Adressen, wobei sein Zwischenspeicher Anfragen beschleunigt und Änderungen verzögert.