ISO-OSI & TCP/IP – Referenzmodelle – Wissenswertes

0
2991

Was ist überhaupt ein Rechnernetz?

Ein Rechnernetz ist grundsätzlich ein zusammenhängendes Netz aus autonomen Rechnern. Im Gegensatz zur früher hauptsächlich verbreiteten Variante, in welcher lediglich große Hauptrechner (mainframes) den Löwenanteil der Rechenlast bewerkstelligten und von Terminals (Anwender-Rechnern) gespeist wurden, bezeichnen ein Rechnernetz ein zusammenhängendes Netz vollwertiger Clients, welche Standard-Aufgaben auch dezentral bearbeiten können.
Zunehmend beschreibt man hiermit auch Netzwerke welche mehr in Richtung der althergebrachten Struktur gehen und bspw. mit Thin Clients an Terminalservern arbeiten.

Protokolle

Protokolle sind Rahmen bzw. Regeln, welche den Datenaustausch oder allgemeiner gesagt das “Verhalten” von mehreren an einer Kommunikation beteiligten Systeme regeln und steuern (“protocols are formal rules of behaviour”).
Werden einzelne Protokolle von einem oder mehreren Kommunikationspartnern nicht eingehalten, so erschwert dies die Kommunikation oder macht sie gar unmöglich.
Um ein Beispiel aus dem täglichen Leben zu wählen, nehmen wir einmal den Funkverkehr.
Der Empfang einer Nachricht wird mit “Roger” quittiert, der Wechsel der Kommunikationsrichtung wird mit “Over” initiiert.

Vergleichbare Protokollstrukturen werden auch in der Kommunikation zwischen Computern verwendet.
Diese sind hierbei selbstverständlich weitaus komplexer und die Kommunikation wird nie über ein einzelnes, sondern in der Regel über eine ganze Vielzahl an Protokollen abgebildet.
Diese Protokolle sind zumeist lediglich für einzelne Teilaufgaben im Datenaustausch zuständig und werden in Form von Schichten (Stacks) abgebildet.
Das Beispiel schlechthin hierbei ist das weiter unten kurz beschriebene OSI-Modell.

Historisches

Gegen Ende des Kalten Krieges beauftragte die amerikanische Regierung das Department of Defence (DoD) mit der Entwicklung einer möglichst ausfallsicheren Netzwerkstruktur, welche auch im Falle eines Atomkrieges weiter funktionieren sollte, wofür sich nach mehreren Tests (ohne Atombomben natürlich) das Telefonnetz als untauglich erwies. Hieraus ergab sich eine Zusammenarbeit mit der ARPA (Advanced Research Project Agency), während welcher diese auch gleich aufgrund der militärischen Ausrichtung in DARPA (Defense Advanced Research Project Agency) umbenannt wurde. Diese war 1957 als Reaktion auf den Start des sowjetischen Sputnik gegründet worden.
Die Kooperation der Behörden scharte zunächst Wissenschaftler um sich und eruierte unterschiedliche Arten von Netzwerken.
Um die angestrebte Zuverlässigkeit zu erreichen, fiel die Wahl auf eine paketvermittelnde Netzwerkstruktur (packet-switched network).
Grundsätzlich werden Kommunikationspartner im Rahmen einer solchen Verbindung lediglich virtuell verbunden und “zerstückeln” die zu übertragenden Informationen, welche folglich auf der Empfängerseite zunächst wieder zusammengesetzt werden müssen.
Ende 1969 entstand hieraus in Kooperation mit vier amerikanischen Universitäten (UCLA, UCSB, SRI, University of Utah) das DARPA-Net.
Da die ursprünglich im DARPA-Net verwendeten Protokolle nicht dafür ausgelegt waren, eine Vielzahl an Teilnetzen zu verbinden oder der steigenden Komplexität der zu übermittelnden Informationen Stand zu halten, wurde 1974 TCP/IP entwickelt.
Nachdem in den darauffolgenden Jahren weitere Entwicklung sowie die erste Integration von TCP/IP in Berkley Unix den Weg für die Technologie ebneten, wurde das DARPA-Net 1984 aufgeteilt in den militärischen Bereich “MILNET” und den zivilen bzw. Forschungsbrerich “DARPA-Net”.
Das DARPA-Net als solches existiert zum jetzigen Zeitpunkt nicht mehr, Nachfolger des MILNET hingegen sind noch heute aktiv und einsatzbereit.

Die Sammlung von Netzwerken, welche das DARPA-Net darstellte wurde zunehmen als Netzverbund betrachtet.
Dieser Netzverbund ist gewissermaßen der Urvater des Internets.

[Kleiner Seitenhieb am Rande, Horst Seehofer war vermutlich Austauschstudent an der UCLA und war deshalb 1980 bereits online.]

Referenzmodelle

Das Open System Interconnections(OSI)-modell ist ein Modell basierend auf einem Vorschlag der International Standards Organisation (ISO). Der Aufbau ist untenstehender Illustration zu entnehmen.

Das Modell dient derzeit als Rahmen zur Beschreibung der Protokollcharakteristika und -funktionen.
Es besteht aus sieben Schichten und beruht darauf, dass eine Schicht immer der übergeordneten Schicht bestimmte Dienstleistungen bzw. Funktionen bereitstellt.

Es handelt sich hierbei nicht um eine Netzwerkstruktur, sondern lediglich die Beschreibung dessen, welche Aufgaben und Funktionalitäten die einzelnen Schichten abdecken sollen.

Die folgenden Prinzipien, aus denen sich die Schichten ergeben, definierte Tanenbaum 1996:
1. Eine neue Schicht sollte dort entstehen, wo ein neuer Abstraktionsgrad benötigt wird.
2. Jede Schicht sollte genau eine definierte Funktion erfüllen.
3. Bei der Funktionswahl sollte die Definition international genormter Protokolle berücksichtigt werden.
4. Die Grenzen der einzelnen Schichten sollten so gewählt werden, dass der Informationsfluss über die Schnittstellen möglichst gering ist.
5. Die Gesamtzahl der Schichten sollte so gewählt sein, dass keine Notwendigkeit besteht, verschiedene Funktionen auf eine Schicht zu packen, aber so klein, dass die Gesamtarchitektur nicht unhandlich wird.

Anwendungsschicht (Application Layer):
Auf der Anwendungsschicht befinden sich eine Vielzahl von Protokollen, welche einzelne Programme für die Erbringung ihrer Dienstleistung definiert haben.
Namhafte Beispiele sind u.a. ftp, telnet, imap

Darstellungsschicht (Presentation Layer):
Die Darstellungsschicht regelt die Darstellung der übertragenen Daten für die unabhängig hiervon agierenden höherliegenden Protokolle.
Hierbei geht es bspw. um die Codierung von Zeichenketten nach ASCII, Unicode o.ä.

Sitzungsschicht (Session Layer):
Die Sitzungsschicht, oft auch Verbindungsschicht genannt, regelt den Verbindungsauf- und Abbau über die darunterliegende Transportschicht.
Bei unidirektionalen Protokollen wird hierbei bspw. geregelt, welcher Kommunikationspartner wann senden kann und ähnliches.

Transportschicht (Transport Layer):
Die Transportschicht übernimmt, wie der Name vermuten lässt, den Transport der Kommunikationsteilnehmer.
Sie hat die elementare Aufgabe, den Datenfluss zu steuern sowie die Integrität, respektive die Unvefälschtheit, der Informationen zu gewährleisten.
Beispiele für Protokolle der Transportschicht sind u.a. TCP und UDP.

Netzwerkschicht (Network Layer):
Die Netzwerkschicht, auch Vermittlungsschicht genannt, hat die primäre Aufgabe, die Verbindung zu Knoten im Netzwerk herzustellen, um somit die darüberliegenden Schichten von der tatsächlichen Übertragung im Netzwerk zu befreien. Eine der Hauptaufgaben ist die Auswahl der Paketrouten vom Sender zum Empfänger.
In der Netzwerkschicht ist das Internet Protokoll (IP) einzuordnen.

Sicherungsschicht (Data Link Layer):
Die Aufgabe der Sicherungsschicht ist die gesicherte Übertragung der Daten vom Sender zum Empfänger.
Hierbei werden die Daten in Frames aufgeteilt und sequenziell versendet, wonach ihr Empfang vom Sender durch sogenannte Bestätigungsrahmen quittiert wird.
Ein Beispiel für in Layer 2 beheimatete Protokolle ist das Point-to-Point-Protokoll (PPP).

Bitübertragungsschicht (Physical Layer):
Die Bitübertragungsschicht regelt die Übertragung von Bits über das zugrundeliegende Übertragungsmedium.
Dies betrifft vorrangig die Übertragungsgeschwindigkeit und die Bit-Codierung.
Die weiteren Festlegungen diese Schicht betreffend ergeben sich hierbei aus dem genutzten Medium.
Ob ich hierbei auf 100Base-TX oder Buschtrommeln setze ist für die übergeordneten Schichten unerheblich.

TCP-IP-Referenzmodell

Nachdem wir im vorangegangenen Abschnitt alle Unklarheiten zum Thema ISO-OSI-Referenzmodell beseitigt haben sollten, gehen wir im weiteren auf das TCP-IP-Referenzmodell ein.
Dieses Referenzmodell ist nach den beiden primären Protokollen TCP und IP benannt.
Des Weiteren sei gesagt, dass das TCP-IP-Referenzmodell zeitlich vor dem OSI-Referenzmodell entstanden ist.
Dementsprechend sind auch hierbei gemachte Erfahrungen in das OSI-Modell eingeflossen.
Im Gegensatz zum OSI-Modell hat man beim TCP-IP-Modell nur vier Schichten:
Application Layer
Transport Layer
Internet Layer
Network Layer



Die im Rahmen der Entwicklung definierten Ziele sind die folgenden:

=>Unabhängigkeit von der verwendeten Netzwerk-Technologie
=>Unabhängigkeit von der Architektur der Hostrechner
=>Universelle Verbindungsmöglichkeiten im gesamten Netzwerk
=>Ende-zu-Ende-Quittungen
=>Standardisierte Anwendungsprotokolle

Applikationsschicht(Application Layer):
Die Applikationsschicht umfasst alle höherschichtigen Protokolle des TCP/IP-Modells.
Zu den ersten Protokollen der Verarbeitungsschicht gehörten u.a. TELNET, SMTP und FTP.
Hierzu gesellten sich später bspw. HTTP und DNS.

Transportschicht (Transport Layer):
Wie im OSI-Modell ermöglicht die Transportschicht im TCP/IP-Modell die Kommunikation zwischen Quell- und Zielhost.
Im TCP/IP-Modell wurden hierfür zwei Protokolle definiert: TCP & UDP.
TCP ist ein verbindungsorientiertes Protokoll, dessen Hauptaugenmerk auf Zuverlässigkeit und Nachvollziehbarkeit liegt.
UDP ist ein schnelleres, dafür aber unzuverlässigeres, verbindungsloses Protokoll, welches vorwiegend für Abfragen verwendet wird und für Übertragungen, bei denen es mehr auf Geschwindigkeit als auf die hundertprozentige Zuverlässigkeit ankommt, wie bspw. Übertragung von Bildern und Sprache.

Internetschicht (Internet Layer):
Die Internetschicht definiert in diesem Modell lediglich ein Protokoll und zwar das namengebende Internet Protokoll IP, dessen Aufgabe es auch wie bei der Implementierung im Rahmen von OSI ist, die Pakete im Netzwerk korrekt zuzustellen.
Das Internet Control Message Protocol (ICMP) ist hierbei ein fester Bestandteil in jeder IP-Implementierung und dient der Übertragung von Diagnose- und Fehlerinformationen für das IP.

Netzwerkschicht (Network Layer):
Unterhalb der Internetschicht hat das TCP/IP-Referenzmodell ein klares Definitionsdefizit. Es legt nicht all zu viel fest, was auf dieser Ebene passieren soll. Es beschreibt lediglich, dass zur Übermittlung von IP-Paketen ein Host über ein bestimmtes Protokoll an das Netzwerk angeschlossen sein muss.
Dieses Protokoll ist im TCP/IP-Referenzmodell allerdings nicht nähergehend definiert, da es von Netz zu Netz und von Host zu Host abweicht.
Zumeist machte man unter Anwendung dieses Referenzmodelles Gebrauch von bereits vorhandenen Protokollen wie bspw. Ethernet (IEEE 802.3) oder Serial Line IP(SLIP).

TCP/IP im Detail

Da die vierschichtige Betrachtung des TCP/IP-Referenzmodells bzgl. der tatsächlichen Datenübertragung einige Definitionslücken hat und Fragen offen lässt, wird es auch oft als fünfschichtige Darstellung verwandt.
Hierbei werden die im ISO-OSI-Referenzmodell beschrieben unteren Schichten “Data Link Layer” und “Physical Layer”, welche im klassischen TCP/IP-Modell als “Network Layer” zusammengefasst sind, wieder unterteilt in “Network Layer” und “Physical Layer”.
Diese Darstellung ist ebenfalls bekannt als hybrides Referenzmodell.
Diese erneute Auftrennung ist notwendig, da das TCP/IP-Referenzmodell nicht zwischen Bitübertragungs- und Sicherungsschicht separiert.
Diese beiden Schichten erfüllen jedoch grundsätzlich völlig verschiedene Aufgaben.
Die Bitübertragungsschicht hat mit den mediumsspezifischen Merkmalen von Kupferdraht, Glasfaser und drahtlosen Kommunikationskanälen zu tun, wohingegen die Sicherungsschicht darauf beschränkt ist, den Anfang und das Ende des Kommunikationsrahmens einzugrenzen und Daten mit der gewünschten Zuverlässigkeit von einem Ende zum anderen zu befördern.
Somit sollten diese Aufgaben auch in separate Schichten unterteilt werden, was das klassische TCP/IP-Refezenmodell jedoch nicht tut.

Schichtung

Die Schichtung beruht auf dem Prinzip, dass eine Schicht die von der darunterliegenden Schicht angebotenen Dienste in Anspruch nehmen kann, ohne Details selbiger Implementierung bzw. Erbringung zu haben. Auf diese Art wird auch die in den obenstehenden Abschnitten beschriebene Teilung der Aufgaben erreicht. Daten, die von einer beliebigen Applikation über Netzwerk versendet werden, durchlaufen den TCP/IP-Protokollstapel (TCP/IP-Stack) von der Applikationsschicht zur Netzwerkschicht, wobei von jeder Schicht Kontrollinformationen in Form eines Protokollkopfes (Headers) angefügt wird.
Dieser Prozess wird als Einkapselung(Encapsulation) bezeichnet.

Innerhalb des TCP/IP-Stacks werden die Daten mit unterschiedlichen Termini benannt, da auch jede Schicht ihre eigenen Datenstrukturen hat.
Applikationen, welche das TCP benutzen, bezeichnen Daten als Strom (stream). Applikationen, welche hingegen das UDP benutzen, bezeichnen die Daten als Nachricht (message).
Auf dem Transport Layer spricht man bei TCP von Segmenten (segments) und bei UDP von Paketen (packets).
Auf der nächsttieferen Ebene, also dem Internet Layer, spricht man in beiden Fällen von Datagrammen (datagram), auf dem Network Layer, bzw. dem Physical Layer, gilt die Bezeichnung Frame.

HINTERLASSEN SIE EINE ANTWORT

Bitte geben Sie Ihren Kommentar ein
Bitte geben Sie Ihren Namen ein