Die ISO entwickelte das Referenzmodell OSI (open systems interconnection) bereits im Jahre 1978 um Rechner verschiedener Hersteller mit verschiedenen Betriebssystemen miteinander verbinden zu können. 1983 wurde dieses System dann zum Standard erhoben.
Dort wird beschrieben, wie die Daten zwischen der physischen Netzverbindung (Kabel) und der Anwendung (Programm) fließen. Damit wird eine weitest gehende Kompatibilität für unterschiedliche Hersteller gewährleistet.
Die Schichten (engl.: layer) sind immer von unten (physische Netzverbindung) nach oben (Anwendung) nummeriert, wobei die nächst höhere immer die Dienste der nächst niedrigeren in Anspruch nimmt. Aber die höhere Schicht weiß nicht, wie die niedrigere ihre Leistungen erbringt. Ich muss ja auch nicht wissen, mit welchem Fahrzeugtyp die Post meine Briefe transportiert, ich muss nur die richtige Briefmarke draufkleben (und die Post wiederum muss den Inhalt meines Briefes ja auch nicht kennen, um ihn transportieren zu können)!
Abbildung 10.5-1: Das 7-Schichten-OSI-Modell
Schicht | Name | Beschreibung |
7 |
Anwendung - Anwendungsschicht | dient dem Zugriff von Programmen auf Netzwerkdienste (application layer) Dateidienste (z.B. NFS), Druckdienste (z.B. LPR/LPD), Nachrichtendienste (z.B. CIA, NSA). |
6 |
Darstellung - Darstellungsschicht | (presentation layer) Diese Schicht erledigt
zwei Hauptaufgaben: Übersetzen und Verschlüsseln. Ein Übersetzen wird dann notwendig, wenn die zwei verbundenen Rechnersysteme zum Verbindungsaufbau verschiedene Kommandos oder verschiedene Zeichensätze benutzen. Ein Verschlüsseln findet immer dann statt, wenn die zu übertragenden Daten vertraulich sind. Dabei werden meist Public- oder Private-Key-Systeme benutzt. Beispielprotokoll: ASN.1, XDR. |
5 |
Steuerungs - Kommunikations - Schicht | die Kommunikations- und Steuerschicht (session layer)
nimmt Kontakt auf, führt die Verbindung (session) und beendet sie Beispielprotokoll: Telnet, RPC. |
4 |
Transport - Transportschicht | (transport layer) Diese Schicht kümmert sich
vor allem darum, dass die Daten auch wirklich ankommen. Sie ist in der Lage eine
Wiederholung der Datenübertragung zu starten, falls Daten verloren gegangen sind.
Außerdem findet hier eine weitere Adressierung statt. In dieser Schicht werden spezielle
Serviceadressen benutzt, die von den logischen Adressen der Schicht 3 zu unterscheiden
sind. Diese Adressen heißen Ports oder Sockets und beziehen sich auf einen Dienst, den
ein bestimmter Rechner zur Verfügung stellt. Beispielprotokolle: TCP, UDP. |
3 |
Netzwerk - Vermittlungsschicht | adressiert Nachrichten (network layer),
übersetzt logische in physische Adressen, bestimmt die Route der Daten zu ihrem Ziel
(nach Priorität, Netzlast...) Beispielprotokolle: IP, X.25, IPX. |
2 |
Datensicherung - Sicherungsschicht | (data link layer) Die Sicherungsschicht
gruppiert nun mehrere physikalische Bits zusammen zu Rahmen (Frames). Zusätzlich dazu ist
es Aufgabe dieser Schicht, Übertragungsfehler zu erkennen und eventuell auch zu
korrigieren. Diese Schicht kontrolliert den Datenfluss des Netzwerks und ist auch in der
Lage einzelne Rechner (genauer Interfaces) anhand ihrer Hardwareadresse zu unterscheiden.
Bei dieser Schicht findet eine weitere Unterteilung statt in Media Access Control (MAC) und Logical Link Control (LLC). Dabei legt die MAC-Subschicht fest, wie das Netzwerk funktioniert, nicht wie es aussieht. Ein Beispiel zur Verdeutlichung: Token-Ring-Netzwerke sind physikalisch gesehen Sterntopologien, logisch gesehen aber Ringtopologien. Hier wird die Trennung der Schicht 2 deutlich: MAC sieht einen Token - Ring als Stern, wohingegen LLC ihn als Ring ansieht. Beispielprotokolle: HDLC, SDLC, X.75(ISDN), ATM. |
1 |
phys. Schicht - Bitübertragungsschicht | überträgt die Pakete über Netzwerkkarte und Kabel (physical layer) Diese Schicht ist nur damit beschäftigt, einzelne Signale "0" oder "1" über das Kommunikationsmedium zu übertragen. Wenn der Sender eine "1" schickt, dann ist es Aufgabe der physikalischen Schicht, die zugleich unterste Schicht unseres Modells ist, dafür zu sorgen, dass der Empfänger auch eine "1" erhält. In diese Schicht fallen folgende Spezifikationen: Festlegen des Übertragungsmediums, des Übertragungsgerätes, der Netzwerkstruktur und der Datensignale (Bandweite, Synchronisation, Multiplexing, etc.). Beispielprotokolle: X.21, RS232C, V.24. |
Achtung:
Es gilt nicht die Regel, dass jede Schicht ein Protokoll beinhaltet (sie treten
also nicht immer in reiner Form auf). Vielmehr kann eine
Schicht des Referenzmodells auch durch zwei oder sogar mehr Protokolle realisiert werden.
Manchmal werden zur Kommunikation auch nicht alle Schichten benötigt.
Abbildung 10.5-2: Transport von Nutzdaten
Das Datenpaket (die eigentlichen Nutzdaten) durchläuft beim Absender nacheinander alle Schichten (von 7 bis 1) bis es auf dem Kabel transportiert werden kann. Dabei erhält es in jeder Schicht Protokollinformationen, die in der jeweils tieferen Schicht als Nutzdaten betrachtet werden und somit nicht verändert werden können. Auf Empfängerseite werden die Daten in jeder Schicht wieder von den Protokolldaten befreit, so dass am Ende (nach Schicht 7) die eigentlichen Nutzdaten ankommen.
Die Protokollinformationen (H - Header) sind zu Beispiel Absender- und Empfängeradresse, Dienstarten und viele andere, die für eine erfolgreiche Kommunikation unerlässlich sind. Dazu kommt in Schicht 2 noch eine weitere Protokollinformation (T - Trailer), die eine Prüfsumme über das gesamte Datenpaket inklusive aller Protokollinformationen errechnet. Damit kann auf der Seite des Empfängers eine erfolgreiche Datenübermittlung stets geprüft werden.
Header (Kopf) und Trailer (Nachspann) eines Datenpaketes bilden einen Rahmen um das Paket und werden somit auch als FRAME bezeichnet. Meist wird die Bezeichnung FRAME aber Synonym mit dem ganzen Datenpaket gesetzt.
Abbildung 10.5-3: Einordnung von Protokollen in das OSI-Modell
Häufig ist der TCP/IP-Stack als drei- bis fünfschichtiges Modell dargestellt. Hier wird die vierschichtige Variante gewählt. In den Schichten 2 und 3 sind die entscheidenden Protokolle (IP, ICMP und TCP, UDP) direkt eingetragen. Die Schichten 1 und 4 bestehen normalerweise aus mehreren Protokollen, so dass hier eine eindeutige Zuordnung nur von Fall zu Fall möglich ist.
Abbildung 10.5-4: TCP/IP und OSI
Network Access Layer:
Diese Schicht beinhaltet hauptsächlich physikalische Spezifikationen wie Ethernet, IEEE
802.3, CSMA/CD etc.
TCP/IP-Stack:
So sieht ein Ethernet-gestütztes TCP/IP-Netzwerk aus.
Abbildung 10.5-5: der TCP-Stack
Ausgehend von IP in Schicht 3 trennt sich der
Stack in TCP und UDP. Auf UDP basieren dann Protokolle wie RIP, DNS und NFS, auf TCP
fußen FTP, Telnet und SMTP.
TCP wird immer dann verwendet, wenn kleine bis mittlere Datenmengen zu übertragen sind
und sichergestellt werden muss, dass diese Daten korrekt ankommen. Beispiel: Telnet
UDP wird meist dann genutzt, wenn große Datenmengen bewältigt werden müssen oder die
Netzwerkapplikation selbst in der Lage ist, eine Kontrolle der Daten durchzuführen.
Beispiel: NFS (Network File System)
Application Layer:
Hier findet man Protokolle wie NFS, FTP, Telnet, SMTP, RIP, DNS u.s.w.
TCP (Transmission Control Protocol) liefert einen verbindungsorientierten Dienst an die Anwendungsschicht (eine gesicherte Übertragung). Sind Daten unlesbar, so sorgt TCP dafür, dass die Daten erneut übertragen werden. Dadurch ist TCP im Vergleich mit UDP langsamer.
UDP (User Datagram Protocol) liefert eine Verbindung mit geringem Protokolloverhead. Das geht zwar schneller, es muss aber immer vom Anwendungsprogramm die Korrektheit der Daten geprüft werden.