OSI-Modell
Kurz: Ein 7-Schichten-Referenzmodell, das beschreibt, wie Netzwerkkommunikation in klar getrennte Aufgabenbereiche zerlegt wird — von der physischen Übertragung (Schicht 1) bis zur Anwendung (Schicht 7).
Genauer: Die Schichten von unten nach oben: Physical, Data Link, Network, Transport, Session, Presentation, Application. Jede Schicht kommuniziert nur mit der direkt darüber-/darunterliegenden und kapselt Details der jeweils anderen Schichten. In der Praxis orientiert sich das Internet eher am schlankeren TCP/IP-Modell (4 Schichten), das OSI-Modell dient aber weiterhin als didaktisches Referenzmodell, um Netzwerkprobleme einer bestimmten Ebene zuzuordnen (z. B. “Kabel defekt” = Schicht 1, “falsches Routing” = Schicht 3).
Im Detail
Die sieben Schichten im Überblick
7. Application - HTTP, SMTP, SSH, DNS (was die Anwendung "sagen" will)
6. Presentation - Verschlüsselung, Kompression, Zeichenkodierung (Format)
5. Session - Auf-/Abbau und Verwaltung von Sitzungen
4. Transport - TCP, UDP (Zuverlässigkeit, Reihenfolge, Ports)
3. Network - IP, Routing (wie kommt das Paket ans Ziel-Netz)
2. Data Link - Ethernet, MAC-Adressen, Switches (Übertragung im lokalen Segment)
1. Physical - Kabel, Funk, Spannungspegel, Lichtimpulse (rohe Bits)
Eine praktische Eselsbrücke fürs Merken der Reihenfolge (von unten nach oben) ist z. B. “Please Do Not Throw Sausage Pizza Away” (Physical, Data Link, Network, Transport, Session, Presentation, Application).
Kapselung: Wie Daten die Schichten durchlaufen
Beim Senden durchläuft ein Datenpaket alle sieben Schichten von oben nach unten, wobei jede Schicht ihre eigenen Kontrollinformationen als zusätzlichen Header (und manchmal Footer) um die Daten der darüberliegenden Schicht herum “einpackt” — ein Vorgang, der Kapselung (Encapsulation) genannt wird. Die Transport-Schicht verpackt die Anwendungsdaten z. B. in ein TCP-Segment mit Port-Informationen, die Network-Schicht verpackt dieses Segment wiederum in ein IP-Paket mit Adressinformationen, und die Data-Link-Schicht verpackt das Ganze abschließend in einen Ethernet-Frame mit MAC-Adressen. Beim Empfänger läuft der Prozess exakt umgekehrt ab (Dekapselung): Jede Schicht entfernt “ihren” Header, liest die relevante Information aus und reicht den Rest nach oben weiter, bis am Ende nur noch die eigentlichen Anwendungsdaten übrig sind.
Warum Schichtentrennung sinnvoll ist
Der Sinn der Schichtenaufteilung: Jede Schicht kann unabhängig weiterentwickelt werden, solange sie ihre klar definierte Schnittstelle zu den Nachbarschichten einhält — ein Wechsel von Kupfer- auf Glasfaserkabel (Schicht 1) betrifft z. B. keine der darüberliegenden Schichten, weil Schicht 2 nur eine saubere Schnittstelle zu Schicht 1 erwartet, unabhängig vom konkreten physikalischen Medium dahinter. Dieses Prinzip erlaubt es, dass völlig unterschiedliche Technologien auf derselben Schicht austauschbar nebeneinander existieren können (WLAN und Ethernet auf Schicht 1/2, TCP und UDP auf Schicht 4), ohne dass sich die darüber- oder darunterliegenden Schichten überhaupt ändern müssten.
OSI vs. das reale TCP/IP-Modell
In der Praxis nutzt das eigentliche Internet das schlankere TCP/IP-Modell mit nur vier Schichten (Network Interface, Internet, Transport, Application), das mehrere OSI-Schichten zusammenfasst — Session und Presentation existieren im TCP/IP-Modell nicht als eigene Schichten, ihre Aufgaben werden stattdessen direkt von der Anwendungsschicht oder von einzelnen Protokollen übernommen (z. B. übernimmt TLS praktisch die Aufgaben der klassischen Presentation-Schicht). Das OSI-Modell bleibt aber als präziseres, produktneutrales Lehr- und Diagnosewerkzeug in Gebrauch, u. a. weil es Netzwerkprobleme klar einer bestimmten Ebene zuordnen lässt und damit die Fehlersuche strukturiert: “Kabel defekt oder keine Verbindung” verweist auf Schicht 1, “falsche IP-Adresse/Routing” auf Schicht 3, “Port nicht erreichbar” auf Schicht 4. Erfahrene Netzwerktechniker gehen bei der Fehlersuche traditionell systematisch von unten nach oben durch die Schichten (“erstmal Kabel und Link-Licht prüfen, bevor man Anwendungscode debuggt”) — ein Ansatz, der sich direkt aus der OSI-Denkweise ableitet und in der Praxis oft schneller zur Ursache führt als sofort in der Anwendungsschicht zu suchen.
Siehe auch: OSI-Schicht: Application, OSI-Schicht: Transport, Physical Structure, TCP, Header