Netzwerkprotokolle
Was ist ein Protokoll?
Ein Protokoll ist eine Sammlung von Regeln, die festlegen, wie Computer miteinander kommunizieren. Stell dir vor, du telefonierst: Wer spricht zuerst? Wie merkst du, dass die andere Person dich verstanden hat? Was machst du, wenn die Verbindung abbricht? Genau solche Regeln brauchen auch Computer. Ohne diese Vereinbarungen würde im Netzwerk nur Chaos herrschen.
Das Schichtenmodell - Vereinfacht
Die Netzwerkkommunikation ist in mehrere Schichten organisiert, wobei jede Schicht eine spezifische Aufgabe hat. Diese Aufteilung macht Netzwerke übersichtlicher und ermöglicht es, dass verschiedene Technologien auf unterschiedlichen Schichten zusammenarbeiten können.
Layer 1 - Physikalisch: Die unterste Schicht kümmert sich um die physikalische Übertragung von Bits über ein Medium wie Kabel oder WLAN. Hier geht es um elektrische Signale, Lichtwellen oder Funkwellen.
Layer 2 - Verbindung: Diese Schicht ermöglicht die Kommunikation zwischen direkt verbundenen Geräten im gleichen Netzwerk. Sie verwendet MAC-Adressen und hier arbeiten Geräte wie Switches.
Layer 3 - Netzwerk: Auf dieser Schicht findet das Routing zwischen verschiedenen Netzwerken statt. Das wichtigste Protokoll ist IP (Internet Protocol), und Router arbeiten auf dieser Ebene mit IP-Adressen.
Layer 4 - Transport: Diese Schicht sorgt für die zuverlässige Datenübertragung zwischen Anwendungen. Die beiden wichtigsten Protokolle hier sind TCP und UDP. Ports werden auf dieser Ebene verwendet, um verschiedene Anwendungen zu unterscheiden.
Layer 5-7 - Anwendung: Die obersten Schichten umfassen die Programme, die wir täglich nutzen. Hier arbeiten Protokolle wie HTTP für Webseiten, FTP für Dateiübertragung, DNS für Namensauflösung und SMTP für E-Mails.
TCP vs. UDP - Zwei Transport-Protokolle
Sowohl TCP als auch UDP arbeiten auf Layer 4 und übertragen Daten zwischen Computern, aber sie gehen dabei völlig unterschiedlich vor.
TCP (Transmission Control Protocol) ist verbindungsorientiert und zuverlässig. Bevor Daten übertragen werden, wird eine Verbindung aufgebaut - der sogenannte Three-Way-Handshake. Der Client sendet zunächst eine Anfrage (SYN - "Ich möchte eine Verbindung"), der Server antwortet mit einer Bestätigung (SYN-ACK - "OK, ich bin bereit"), und der Client bestätigt nochmals (ACK - "Bestätigt, los geht's"). Erst danach beginnt die eigentliche Datenübertragung.
TCP garantiert, dass alle Pakete ankommen und in der richtigen Reihenfolge beim Empfänger eintreffen. Fehlerhafte oder verlorene Pakete werden automatisch erneut gesendet. Der Empfänger bestätigt jedes erhaltene Paket. Diese Zuverlässigkeit hat allerdings ihren Preis: TCP ist langsamer als UDP, weil der zusätzliche Overhead für Verbindungsaufbau und Bestätigungen Zeit kostet. TCP wird verwendet, wenn Zuverlässigkeit wichtig ist, etwa beim Laden von Webseiten, beim Versenden von E-Mails oder bei Dateiübertragungen.
UDP (User Datagram Protocol) verfolgt einen anderen Ansatz. Es ist verbindungslos - es wird keine Verbindung aufgebaut, die Pakete werden einfach losgeschickt. UDP ist unzuverlässig in dem Sinne, dass Pakete verloren gehen können, ohne dass es jemanden interessiert. Es gibt keine Bestätigungen und keine Garantie für die richtige Reihenfolge. Dafür ist UDP deutlich schneller als TCP.
UDP wird verwendet, wenn Geschwindigkeit wichtiger ist als absolute Zuverlässigkeit. Bei Video-Streaming zum Beispiel ist es nicht schlimm, wenn einzelne Frames verloren gehen - es ist besser, das Video flüssig weiterlaufen zu lassen. Auch bei Online-Gaming oder VoIP-Telefonie ist niedrige Latenz wichtiger als perfekte Übertragung. DNS-Anfragen nutzen ebenfalls UDP, weil die Anfragen so kurz sind, dass im Fehlerfall einfach eine neue Anfrage gesendet wird.
| Eigenschaft | TCP | UDP |
|---|---|---|
| Verbindung | Ja | Nein |
| Zuverlässigkeit | Hoch | Niedrig |
| Geschwindigkeit | Langsamer | Schneller |
| Beispiel | Webseite laden | Video-Stream |
Ports - Wie Anwendungen unterschieden werden
Ports sind Nummern zwischen 0 und 65535, die verschiedene Anwendungen auf einem Computer identifizieren. Sie ermöglichen es, dass ein Computer gleichzeitig viele verschiedene Netzwerkverbindungen haben kann. Man kann sich das wie ein Wohnhaus vorstellen: Die IP-Adresse ist die Straße und Hausnummer, während der Port die Wohnungsnummer innerhalb des Hauses ist.
Bestimmte Ports sind standardisiert für bekannte Dienste: Port 80 wird für HTTP (unverschlüsselte Webseiten) verwendet, Port 443 für HTTPS (verschlüsselte Webseiten), Port 53 für DNS-Anfragen und Port 22 für SSH (sichere Remote-Verbindungen).
Die Ports von 0 bis 1023 heißen "Well-known Ports" und sind für bekannte Dienste reserviert. Die Ports 1024 bis 49151 sind registrierte Ports für spezifische Anwendungen, und die Ports 49152 bis 65535 werden dynamisch für temporäre Verbindungen verwendet.
Ein praktisches Beispiel: Wenn du eine Webseite öffnest, nutzt dein Browser einen zufälligen Port, etwa 52341, während der Webserver auf Port 443 (für HTTPS) hört. Die Verbindung lautet dann 192.168.1.100:52341 → 93.184.216.34:443.
Übungsfragen
- Erkläre den Unterschied zwischen TCP und UDP in eigenen Worten.
- Wann würdest du TCP verwenden und wann UDP?
- Was ist ein Port und warum brauchen wir Ports?
- Nenne drei wichtige Port-Nummern und ihre Verwendung.