Wie ein Paket durchs Internet reist

Prof. Dr. Dominik Herrmann

Einführung in die Informatik (Inf-Einf-B)

Universität Bamberg

nach inf.zone/lectures/8.5-netze · CC BY-NC-SA 4.0

Namen und Nummern

principle

Rechner kennen keine Namen nur Nummern

Bevor der erste Buchstabe einer Webseite fließt, muss aus dem Namen eine Nummer geworden sein. Ein Rechner adressiert seine Gegenstelle über eine IP-Adresse wie 93.184.216.34; example.com ist eine Bequemlichkeit für Menschen und für die Übertragung völlig bedeutungslos.

definition

Domain Name System das Telefonbuch des Internets

Das DNS beantwortet genau eine Frage: „Welche Nummer gehört zu diesem Namen?“ Man reicht example.com hinein und bekommt 93.184.216.34 zurück.

Die Antwort kommt selten von weit her. Zuerst schaut das Betriebssystem in seinen eigenen Zwischenspeicher, dann der Resolver in seinen – dessen Adresse der Rechner beim Verbinden per DHCP erfahren hat. Erst wenn beide nichts wissen, wird wirklich gefragt.

example

Selbst nachsehen zwei Zeilen im Terminal

Das DNS kann man von Hand befragen – die Werkzeuge dafür sind auf jedem System schon installiert.

host www.uni-bamberg.de
dig www.uni-bamberg.de

8.8.8.8 (Google) und 1.1.1.1 (Cloudflare) sind öffentliche Resolver, die jeder benutzen kann – und die deshalb mitlesen, welche Namen man nachschlägt.

Große Nachrichten, kleine Pakete

principle

Ein Paket ist klein eine Nachricht selten

Ein IP-Paket fasst im Ethernet nur rund 1500 Byte. Alles Größere muss zerlegt werden, bevor es losfahren kann – und am Ziel wieder zusammengesetzt werden, ohne dass die Anwendung etwas davon merkt.

example

TCP-Segmentierung Nummern statt Reihenfolge

TCP zerschneidet die Nachricht in Segmente und nummeriert sie – gezählt wird in Byte, nicht in Paketen. Das erste Segment trägt die Nummer 1 und enthält die Byte 1 bis 1000, das zweite trägt die 1001.

Jedes Segment reist eigenständig. Es wird in ein eigenes IP-Paket verpackt und kann einen anderen Weg durchs Netz nehmen als sein Vorgänger.

Die Reihenfolge am Ziel ist deshalb nicht garantiert. Der Empfänger sortiert nach den Sequenznummern, nicht nach der Ankunftszeit.

Geht ein Paket verloren, fordert TCP genau dieses eine nach. Die Arbeitsteilung ist damit sauber: IP kümmert sich um das einzelne Paket, TCP um die vollständige Nachricht.