Rechnernetze: Schichten, Adressen, Routing und HTTP
Du tippst www.example.org in die Adresszeile. Nach einem Augenblick erscheint die Seite. Dazwischen haben dein Browser, dein WLAN-Router, mehrere Router fremder Netze und ein Webserver Nachrichten ausgetauscht. Kein Gerät kennt den ganzen Weg, und trotzdem klappt es fast immer.
Das geht, weil alle Beteiligten feste Absprachen einhalten: wer was an wen schickt, in welchem Format und in welcher Reihenfolge. Pakete, IP-Adressen, DNS, Router und die vier TCP/IP-Schichten kennst du aus der Mittelstufe. Hier ordnest du sie zu einem Gesamtbild und ergänzt, was fehlt.
Kommunikationssystem und Protokoll
Ein Kommunikationssystem besteht aus einem Sender, einem Empfänger, einem Übertragungsmedium (Kabel, Glasfaser, Funk) und Regeln für den Austausch. Diese Regeln heißen Protokoll. Es legt fest:
- die Syntax: Aufbau und Format der Nachrichten,
- die Semantik: was eine Nachricht bedeutet und wie der Empfänger darauf reagiert,
- den zeitlichen Ablauf: wer wann senden darf und wie lange man auf eine Antwort wartet.
Beim Abruf einer Webseite sendet der Browser die Anfrage, der Server empfängt sie. Bei der Antwort tauschen beide die Rollen.
Schichtenmodell: TCP/IP und OSI
Ein Netz löst viele Aufgaben, von Spannungen im Kabel bis zur Webseite. Das Schichtenmodell zerlegt sie in Schichten. Jede Schicht nutzt den Dienst der Schicht darunter und bietet der Schicht darüber einen Dienst an. Beim Senden kapselt jede Schicht die Daten der oberen ein: Sie setzt einen eigenen Kopf davor (Adressen, Nummern, Prüfwerte). Beim Empfangen packt sie ihn wieder aus. Weil nur die Schnittstellen feststehen, lässt sich eine Schicht austauschen, etwa WLAN statt Kabel.
Das TCP/IP-Modell hat vier Schichten, das OSI-Modell (ein Referenzmodell der Normungsorganisation ISO) sieben:
| TCP/IP | OSI | Aufgabe | Beispiele |
|---|---|---|---|
| Anwendung | 7 Anwendung, 6 Darstellung, 5 Sitzung | Dienste für Programme | HTTP, DNS |
| Transport | 4 Transport | Verbindung zwischen Programmen | TCP, UDP |
| Internet | 3 Vermittlung | Wegewahl zwischen Netzen | IP, Router |
| Netzzugang | 2 Sicherung, 1 Bitübertragung | Übertragung im lokalen Netz | Ethernet, WLAN, Switch |
MAC-Adresse, IP-Adresse, Port und DNS
Drei Angaben führen zum Ziel:
- Die MAC-Adresse hat 48 Bit, geschrieben als sechs Hexadezimalpaare (ausgedachtes Beispiel: 3C:52:82:1A:9B:07). Sie gehört zur Netzkarte und gilt nur im lokalen Netz: Sie nennt das nächste Gerät auf dem Weg.
- Die IP-Adresse nennt das Gerät und ermöglicht die Wegewahl durch viele Netze. Sie nennt das Endziel.
- Der Port hat 16 Bit (Werte 0 bis 65535) und nennt das Programm auf dem Gerät. Üblich sind 80 für HTTP, 443 für HTTPS und 53 für DNS.
Das DNS übersetzt einen Namen wie www.example.org in die IP-Adresse. Erst danach kann der Browser senden.
Welche Adressen ändern sich unterwegs?
Welche Adressen ändern sich unterwegs?
Dein Laptop schickt ein Paket an den Webserver 203.0.113.9. Das Ziel liegt nicht im eigenen Subnetz, also geht das Paket an deinen Router. Der gibt es an den Router des Anbieters weiter. Welche Zieladresse (MAC und IP) steht auf dem ersten und auf dem zweiten Abschnitt im Paketkopf?
Auf beiden Abschnitten ist die Ziel-IP-Adresse 203.0.113.9, denn sie nennt das Endziel. Die Ziel-MAC-Adresse ist auf dem ersten Abschnitt die des eigenen Routers, auf dem zweiten die des Anbieter-Routers, denn sie nennt nur das nächste Gerät. Der Router packt das Paket aus, wählt anhand der IP-Adresse den nächsten Abschnitt und verpackt es neu.
Paketvermittlung, Routing und Routing-Tabelle
Bei der Paketvermittlung zerlegt der Sender die Nachricht in Pakete. Jedes trägt Zieladresse und Nummer im Kopf und wird einzeln weitergereicht: Jeder Router nimmt es ganz an, liest den Kopf und gibt es weiter (Store and Forward). Pakete können verschiedene Wege nehmen und in anderer Reihenfolge ankommen. Der Empfänger ordnet sie nach den Nummern. Ein Zähler im Kopf, die TTL (Time to Live), sinkt bei jedem Router um 1. Bei 0 verwirft der Router das Paket, damit es nicht ewig kreist.
Eine Routing-Tabelle ordnet Zielnetzen den nächsten Router zu (Next Hop). Passen mehrere Einträge, gilt der mit der längsten Netzmaske, also der genaueste. Die Standardroute 0.0.0.0/0 passt auf jede Adresse und gilt nur, wenn nichts Genaueres passt.
Welcher Eintrag gilt?
Welcher Eintrag gilt?
Ein Router hat diese Tabelle:
| Zielnetz | Next Hop |
|---|---|
| 10.0.0.0/8 | Router A |
| 10.1.0.0/16 | Router B |
| 0.0.0.0/0 | Router C |
Wohin gehen Pakete an 10.1.5.7, 10.2.3.4 und 192.0.2.5?
/8 bedeutet: Die erste Zahl muss übereinstimmen. /16: Die ersten zwei Zahlen müssen übereinstimmen.
10.1.5.7 beginnt mit 10 und mit 10.1. Es passt zu /8 und zu /16. Die längere Maske gewinnt: Router B.
10.2.3.4 passt zu 10.0.0.0/8, aber nicht zu 10.1.0.0/16, denn die zweite Zahl ist 2. Router A.
192.0.2.5 passt nur zur Standardroute: Router C.
Client-Server und Peer-to-Peer
Beim Client-Server-Modell gibt es zwei Rollen. Der Server bietet einen Dienst an und wartet auf Anfragen, der Client stellt Anfragen. Der Server lässt sich leicht verwalten und absichern, ist aber ein Engpass und ein Ausfallpunkt.
Beim Peer-to-Peer-Modell (P2P) sind alle Teilnehmer gleichberechtigt und zugleich Client und Server. Es gibt keinen zentralen Rechner, die Last verteilt sich, und mit jedem Teilnehmer wächst die Kapazität. Dafür sind Verwaltung und Zugriffskontrolle schwieriger, und die Verfügbarkeit hängt davon ab, wer online ist. Beispiele: Webserver und Browser (Client-Server), BitTorrent (P2P).
Netztopologien und Netzkomponenten
Die Topologie beschreibt, wie Geräte verbunden sind. Bei n Geräten hat ein vollständig vermaschtes Netz Leitungen: Jedes Gerät hat n − 1 Leitungen, und jede Leitung wird dabei zweimal gezählt.
| Topologie | Aufbau | Stärke | Schwäche |
|---|---|---|---|
| Bus | alle an einem gemeinsamen Kabel | wenig Kabel | ein Kabelbruch kann das ganze Netz lahmlegen |
| Stern | jedes Gerät an einem zentralen Gerät | ein Leitungsausfall trifft nur ein Gerät | fällt das zentrale Gerät aus, sind alle getrennt |
| Ring | Geräte im geschlossenen Kreis | gleichmäßige Last | ein Ausfall kann den Ring unterbrechen |
| vermascht | jedes Gerät mit mehreren anderen | viele Ausweichwege | viele Leitungen, teuer |
Das Internet ist teilvermascht. Netzkomponenten: Ein Hub gibt jedes Signal an alle Anschlüsse weiter. Ein Switch merkt sich, welche MAC-Adresse an welchem Anschluss hängt, und leitet gezielt weiter. Ein Router verbindet Netze anhand der IP-Adresse. Ein Access Point verbindet WLAN-Geräte mit dem Kabelnetz.
Sequenzdiagramm
Ein Sequenzdiagramm (aus der UML) zeigt den zeitlichen Ablauf einer Kommunikation. Jeder Teilnehmer hat eine senkrechte Lebenslinie, die Zeit läuft von oben nach unten. Ein waagerechter Pfeil von einer Lebenslinie zur anderen ist eine Nachricht. Hier steht es als Tabelle: eine Zeile je Pfeil, in zeitlicher Reihenfolge.
WWW und HTTP
Das World Wide Web ist ein Dienst im Internet: Dokumente, durch Verweise verbunden und über URLs erreichbar. Sie werden mit HTTP (Hypertext Transfer Protocol) übertragen, einem Anfrage-Antwort-Protokoll der Anwendungsschicht, klassisch über TCP. Der Client sendet eine Anfrage mit Methode, Pfad und Kopfzeilen, der Server antwortet mit einem Statuscode und meist dem Inhalt:
| Zeile | Einrückung | Anweisung |
|---|---|---|
| 1 | 0 | |
| 2 | 0 | |
| 3 | 0 |
Zeile 1 und 2 sind eine Anfrage, Zeile 3 ist die erste Zeile einer Antwort. GET fordert Daten an, POST sendet Daten (etwa aus einem Formular). Statuscodes: 200 (in Ordnung), 404 (nicht gefunden), 500 (Fehler im Server). HTTP selbst ist zustandslos: Jede Anfrage steht für sich. Anmeldungen laufen deshalb über zusätzliche Mittel wie Cookies.
Eine Seite abrufen
Eine Seite abrufen
Der Browser ruft http://www.example.org/index.html auf. Zeige den Ablauf als Sequenzdiagramm.
| Nr. | Von | Nach | Nachricht |
|---|---|---|---|
| 1 | Browser | DNS-Server | Wie lautet die IP-Adresse von www.example.org? |
| 2 | DNS-Server | Browser | 203.0.113.9 |
| 3 | Browser | Webserver | SYN: Verbindungswunsch an Port 80 |
| 4 | Webserver | Browser | SYN-ACK: einverstanden |
| 5 | Browser | Webserver | ACK: Verbindung steht |
| 6 | Browser | Webserver | HTTP-Anfrage GET /index.html |
| 7 | Webserver | Browser | HTTP-Antwort 200 mit der Seite |
Die Schritte 3 bis 5 sind der Drei-Wege-Handshake von TCP: Beide Seiten einigen sich auf Startnummern für ihre Pakete, an denen TCP verlorene und vertauschte Pakete erkennt. Erst danach folgt die HTTP-Anfrage. Ohne die IP-Adresse aus Schritt 2 könnte der Browser Schritt 3 nicht senden. Bei https wäre es Port 443.
Ein Router ersetzt die Ziel-IP-Adresse
Ein Router ersetzt die Ziel-IP-Adresse
„Bei jedem Router wird die Ziel-IP-Adresse durch die des nächsten Routers ersetzt.“
Die Ziel-IP-Adresse nennt das Endziel und bleibt auf dem Weg gleich. Den nächsten Router findet der Router in seiner Routing-Tabelle. Was bei jedem Abschnitt wechselt, sind die MAC-Adressen.
Zusammenfassung
Ein Protokoll legt Syntax, Semantik und Ablauf fest. TCP/IP hat vier Schichten, OSI sieben. Jede Schicht kapselt die Daten der oberen mit einem Kopf ein.
Die MAC-Adresse nennt das nächste Gerät im lokalen Netz und wechselt bei jedem Abschnitt. Die IP-Adresse nennt das Endziel, der Port das Programm.
Pakete werden einzeln vermittelt. Der Router wählt mit der Routing-Tabelle den nächsten Router: Der genaueste Eintrag gilt, sonst die Standardroute. Die TTL verhindert endloses Kreisen.
Client-Server hat einen zentralen Anbieter, bei P2P sind alle gleichberechtigt. Topologien unterscheiden sich in Kosten und Ausfallsicherheit.
Ein Sequenzdiagramm zeigt Nachrichten in zeitlicher Reihenfolge. HTTP ist ein zustandsloses Anfrage-Antwort-Protokoll.
Übungen
Ein Paket läuft über drei Router zum Ziel. Welche Angabe im Kopf ist auf dem ganzen Weg gleich?
In einem Netz sind 12 Geräte so verbunden, dass jedes mit jedem anderen eine eigene Leitung hat. Wie viele Leitungen sind das?
Ein Router hat die Einträge 192.168.0.0/16 (Router R1), 192.168.8.0/24 (Router R2) und 0.0.0.0/0 (Router R3). Wohin leitet er ein Paket an 192.168.8.20?
Welche Aussage über HTTP stimmt?
Ein Verein will ein großes Video an 500 Mitglieder verteilen. Vergleiche Client-Server und Peer-to-Peer.