Netzwerktechnik: OSI
Das OSI-Modell (im englischen: Open Systems Interconnection Reference Model) wurde seit 1979 zur Standardisierung von Datenverkehr zwischen Computeranwendungen entwickelt und ist heute Grundlage für jede Kommunikation zwischen Applikationen auf Computern. Es beschreibt ein Metamodell verschiedener Spezifikationen, welches Herstellern von Soft- und Hardware erlaubt über fest definierte Schnittstellen miteinander Informationen auszutauschen.
Protokolle
[Bearbeiten]Wenn wir Computerprogramme benutzen die untereinander Informationen austauschen, dann kommunizieren diese ähnlich wie der Mensch mit Hilfe von verschiedenen Sprachen, die Protokolle genannt werden.
Zur Lösung ähnlicher Probleme beginnen verschiedene Softwarehersteller oft mit unterschiedlichen Ansätzen. Daraus erwachsen mehrere „Sprachen“, in denen jeweils die Programme eines Herstellers miteinander kommunizieren, mit denen aber eine Kommunikation von Programmen über Herstellergrenzen hinweg kaum möglich ist. Protokolle sind nun fest definierte Regelwerke darüber, auf welche Weise eine bestimmte Art von Daten über einen gegebenen Kanal (z.B. das Internet) ausgetauscht werden können. Sie erleichtern so die Kommunikation von Daten über die Grenzen des Programmangebots eines einzelnen Herstellers hinweg erheblich.
Vereinfacht dargestellt sind Protokolle übergeordnete Sprachmodelle zum Transport von Informationen und zur Bewältigung unterschiedlicher Aufgaben gedacht. Ein Protokoll ist immer eine klar definierte Sprache zum Austausch von Informationen zwischen (zwei) Parteien, die die gleichen Aufgaben bewältigen. Protokolle unterscheiden sich durch Spezialisierung auf bestimmte Fachgebiete. Obwohl die eigentlichen Information in ihre kleinsten Bestandteile zerlegt immer eine Sammlung von Bitmustern darstellen, nutzt zum Beispiel ein Programm, welches dem Führen von E-Mailkorrespondenz dient, für die Bewältigung der Aufgabe "Versenden von E-Mail" in der Regel ein anderes Metaprotokoll als für die Bewältigung der Aufgabe "Austausch von Identitätsinformationen um überhaupt Erlaubnis zum Abrufen und Absenden von E-Mail über ein bestimmtes vom E-Mailserver verwaltetes E-Mailkonto zu bekommen".
Damit unter Verwendung eines Protokolls Informationen zwischen Parteien übertragen werden können, wird außer einem Protokoll natürlich auch ein Medium zur Übertragung benötigt. In einem Gespräch zwischen Computern werden Daten transparent für den Nutzer über das "Medium" Netz geleitet.
Ein Netz verbindet verschiedene Anwender und überträgt dabei Informationen von einem Anbieter zu einem Empfänger. Ein Beispiel dazu wäre die Übertragung dieser Webseite. Das, was Sie gerade lesen, wurde auf Ihre Anforderung hin von einem "Dienstleister", dem Webserver, an den "Anfrager", den Browser gesendet, wobei die Anforderung und das Senden über die gemeinsame Sprache, das Protokoll HTTP über eine Sammlung unterschiedlicher Netzwerke erfolgt ist, die wir abstrakt Internet nennen.
Dienstleister
[Bearbeiten]Um die Übertragung von Informationen zu erreichen, muss eine Vielzahl von Aufgaben bewältigt werden. Die Anforderungen, die dabei gelöst werden müssen, reichen von Fragen der elektronischen Übertragung der Signale über eine geregelte Reihenfolge in der Kommunikation bis hin zu abstrakteren Aufgaben, die sich innerhalb der kommunizierenden Anwendungen ergeben. Die Vielzahl dieser Probleme und Aufgaben wird durch unterschiedliche "Dienstleister" geregelt, die jeweils unterschiedliche Teilbereiche des Transportes übernehmen und Ihre Aufteilung in den verschiedenen Schichten des OSI-Modells finden.
OSI untergliedert die verschiedenen Anwendungsbereiche der Kommunikation zwischen Anwendungen in sieben logische Schichten. Jede der Schichten übernimmt eine Spezialisierung in der Kommunikation und ist so konzipiert, dass sie die Aufgaben, die ihr zugeordnet sind, unabhängig von den anderen Schichten ausführen kann.
Ein analoges Beispiel
[Bearbeiten]Wenn wir einen Geschäftsbrief an einen Geschäftspartner in den USA versenden, interessiert uns nicht unbedingt wie dieser genau am Bestimmungsort ankommt - wir werden diesen in der Regel nicht selber dorthin bringen. Alles was wir machen müssen ist den Brief diktieren oder selber schreiben und an der Poststelle des Unternehmens abgeben. Diese wird einen Briefumschlag organisieren, den Brief falten und dort hinein legen, eine Adresse gemäß Spezifikation eintragen, abwiegen und den entsprechenden Tarif für die Übermittlung entrichten sowie irgendwie irgendeinem uns meist unbekannten Dienstleister für die Zustellung übergeben.
Wir delegieren also die einzelnen Teilaufgaben an jeweilige Spezialisten. In der Sprache der Computer nutzen wir bereits jetzt schon die 4 obersten Schichten des OSI-Modells, die Softwarekombination Diktieren, Schreiben, Einpacken in einen Umschlag, Adressieren und Versand, und verlassen uns darauf das andere "Schichten" in unserem Versandmodell ebenfalls ihre Arbeit verrichten. Bereits hier wird deutlich, dass diejenigen sich mit dem Modell sehr intensiv befassen müssen, deren Aufgabe die Fehlersuche in oder konzeptuelle Arbeit mit diesem Modell darstellt.
Tabellarische Darstellung
[Bearbeiten]Nr. | Schicht (eng.) | Schicht | Protokolle | |||||||||
7 | Application | Anwendung | HTTP | SMTP | FTP | |||||||
6 | Presentation | Darstellung | Postscript | |||||||||
5 | Session | Sitzung | DNS | LDAP | ||||||||
4 | Transport | Transport | TCP | UDP | ||||||||
3 | Network | Vermittlung | IP | IPX | ||||||||
2 | Data Link | Sicherung | Ethernet | ATM | FDDI | ARP | ||||||
1 | Physical | Bitübertragung |
Gesamtüberblick
[Bearbeiten]In unserem obigen Beispiel übernimmt ein externer Dienstleister über eine "Session" den Transport. Eventuell bekommen wir noch eine Sitzungsnummer zur Nachverfolgung. Wie der Transport geschieht ist für unsere vorherige Software vollkommen transparent. Die Entscheidung, wer den Brief wann weiterleitet und welchen Weg der Brief auf seiner Reise nimmt (also welches Netwerk genutzt), wie über den "Data Link" die Zustellung gesichert und welches physikalische Medium der Übertragung benutzt wird bestimmt das Logistikunternehmen aufgrund seiner Organisation (OSI Schicht 4) bereits fest auf Layer 3, anhand der mit uns getroffenen Servicevereinbarungen und der damit verbundener Tarife.
Ob per Eilbote, Container, Flugzeug, Schiff transportiert wird und wie komplex sich die Steuerung der einzelnen Teilaufgaben für den Subunternehmer gestaltet ist für uns zunächst unerheblich. Genauso ist für die beteiligten Dienstleister der Inhalt des Briefes und der finale Empfänger nicht von Bedeutung. Die Dienstleister verpacken unsere Meldung und regeln die Übergabe an weitere Spezialisten. Sie kennen nur jeweils Ihre Gegenstelle für Ihre Teilaufgabe. Der Spediteur, der auf OSI Schicht 1 das Netzwerk "Strasse" benutzt, kennt nur sein Bestimmungsendziel auf gleicher Ebene. Dabei bringt er vermutlich gesammelt Tonnen von allen möglichen Briefen in einem Container (OSI Schicht 2) an eine Schnittstelle "Flugplatz" oder "Hafen" zur Weiterleitung über ein anderes Netzwerk an die USA. Die jeweilige Einsatzleitung dazwischen entscheidet auf OSI Layer 3 und 4 was der nächste Schritt ist und welches Transportmedium als nächstes benutzt wird. Der Transporteur erledigt nur seine Teilaufgabe, bei der weder die Endadresse noch das Zielland eine Rolle spielt, sondern nur der Transport an die jeweilige Gegenstelle.
Jede OSI-Schicht stellt immer eine Kommunikationsmethode zwischen zwei Parteien mit gleichen Aufgaben dar, wobei der Empfänger immer genau reversiv die Tätigkeit seines Partners auf der anderen Seite übernimmt.
Was unsere Software in einen "Umschlag" legt, wird von der Gegenstelle wieder aus dem Umschlag genommen. Eine Schnittstelle "Poststelle" leitet an die Software "Versand" über einen Postausgang und der Versand der Gegenstelle empfängt über den Posteingang.
Beide nutzen die gemeinsame Schnittstelle "Paketdienst". Dieser wiederum nutzt eigene Dienstleister wie die Funktion "Spediteur" zur Lieferung per Protokoll "LKW" im Container über "Strasse" (OSI Schicht 1) von Schnittstelle "Containerterminal X" nach "Containerterminal Y im Hafen Z", wo das Protokoll "Schiff" den Transport (über OSI Schicht 1), getriggert von Router "Reederei" (OSI Schicht 4), über das physikalische Medium Wasser zur nächsten Schnittstelle "Empfangshafen" in den USA liefert.
Schicht 7 Anwendungsschicht
[Bearbeiten](engl. application layer, auch: Verarbeitungsschicht, Anwenderebene).
Die Anwendungsschicht stellt Funktionalitäten in Form von Diensten, wie z.B. E-Mail (POP3, IMAP und SMTP), Adressenverwaltung (LDAP), Namensauflösung (DNS), Internet-Kommunikations-Dienste (HTTP/HTTPS) oder SSH zur Verfügung und regelt außerdem die Datenein- und ausgabe.
Schicht 6 Darstellungsschicht
[Bearbeiten](engl. presentation layer, auch: Datendarstellungsschicht, Datenbereitstellungsebene).
Die Darstellungsschicht setzt die systemabhängigen Zeichen in eine unabhängige Form um und ermöglicht so den Datenaustausch zwischen unterschiedlichen Systemen.
Im analogen Beispiel Telefon versendet dieses selber keine Sprache sondern die Umwandlung derselben in elektronische Signale. Die Darstellungsschicht übernimmt die Aufgabe die elektronischen Signale zu erzeugen und auch auf der anderen Seite wieder in akustische zu wandeln.
Schicht 5 Sitzungsschicht
[Bearbeiten](engl. session layer, auch: Kommunikationssteuerungsschicht, Steuerung logischer Verbindungen, Sitzungsebene).
Die Sitzungsschicht regelt die Verbindung zwischen den angeschlossenen Endgeräten, dazu werden Steuerungs- und Kontrollmechanismen verwendet.
Im analogen Beispiel Telefon wäre dies der Aufbau und Abbruch einer Telefonverbindung.
Hier gibt es eine ausführlichere Beschreibung der Layer-5-Protokolle.
Schicht 4 Transportschicht
[Bearbeiten](engl. transport layer, auch: Ende-zu-Ende-Kontrolle, Transport-Kontrolle).
Die Transportschicht stellt eine vollständige Host-to-Host Kommunikation zwischen Sender und Empfänger zur Verfügung. Außerdem bietet sie den darüber befindlichen anwendungsorientierten Schichten 5 bis 7 einen einheitlichen Zugriff, so dass diese die Eigenschaften des Kommunikationsnetzes nicht berücksichtigen müssen.
Unter Verwendung dieses Dienstes gibt es auf Schicht 4 das Protokoll TCP (Transfer-Control-Protokoll). Es nutzt die Eigenschaft von IP, einzelne Pakete, die Informationen enthalten, zwischen Anwendungen versenden zu können. Die Protokolle TCP und IP werden sehr oft zusammen als Kombination TCP/IP benannt.
Die Software muss sowohl zum Senden als auch zum Empfang von Paketen ausgelegt sein. Ähnlich wie ein Nutzer einer firmeneigenen Telefonzentrale über eine Endnummer als Anhang an die zentrale Nummer erreichbar ist, registriert sich die Software über eine Schnittstelle des Betriebssystems mit der sogenannten Portnummer.
Das Betriebssystem des Rechners nimmt uns die Arbeit ab uns diese Dinge merken zu müssen, wir benutzen einfach nur die jeweilige Software. Genau wie bei einer Telefonanlage kann eine Endnummer nur von einem "Nutzer" gleichzeitig verwendet werden.
Während ein Port die direkte Ansprechstelle für Anwendungen auf einem Rechner darstellt, entspricht eine IP Adresse dem Analog einer zentralen Rufnummer und identifiziert den Rechner. Auch IP Adressen müssen wir uns nicht merken, nur den Namen des Dienstes mit dem wir kommunizieren und den Namen des Rechners auf dem dieser läuft.
Wenn Sie diesen Artikel hier lesen, der über "http://de.wikibooks.org:80" angefordert wurde, dann nutzen Sie den Dienst Webserver über das http-Protokoll, der die virtuelle Unterdomain "de", also den deutschen Bereich, unter dem Port 80 auf dem Rechner mit dem "Alias" Namen "wikibooks" der Gruppe der Rechner die zur Domaine org gehören, anspricht. Da wir uns ein Bündel Zahlen nicht gut merken können, wurde zu unserer Bequemlichkeit die IP Adresse des Empfängerrechners bereits automatisch über einen weiteren Dienst ermittelt, nämlich den sogenannten Dynamischen Namens Service, DNS, ein vollautomatisches Adressverzeichniss, und die Portnummer standardisiert, so dass wir diese auch nicht mehr gesondert angeben müssen.
TCP/IP bietet folgenden Dienst an:
Nenne mir einen Zielrechner und eine Portnummer, ich werde dorthin eine Leitung eröffnen. Jedes Zeichen, das von hier auf diese Leitung gelegt wird, kommt garantiert am anderen Ende an, und jedes Zeichen, das auf der Gegenstelle gesendet wird, kommt ebenso sicher hier an, solange bis die Leitung abgebrochen wird."
Schicht 3 Vermittlungsschicht
[Bearbeiten](engl. network layer, auch: Paketebene).
Die Netzschicht hilft den verbindungsorientierten Diensten das Schalten von Verbindung und bei paketorientierten Diensten die Vermittlung von Datenpaketen. Die Datenübertragung geht in beiden Fällen jeweils über das gesamte Kommunikationsnetz hinweg und schließt die Wegesuche (Routing) zwischen den Netzknoten mit ein. Da nicht immer eine direkte Kommunikation zwischen Absender und Ziel möglich ist, müssen Pakete von Knoten, die auf dem Weg liegen, weitergeleitet werden. Weitervermittelte Pakete gelangen nicht in die höheren Schichten, sondern werden mit einem neuen Zwischenziel versehen und an den nächsten Knoten gesendet.
Bei der Kommunikation im Internet ist das grundlegende Protokoll auf Schicht 3 das IP (Internet-Protokoll). Jeder Rechner, der an der Kommunikation teilnehmen möchte, benötigt eine IP-Adresse.
- Bei IPv4 ist dies ein vierstelliger Zahlenverbund, der pro sog. Oktet jeweils Werte von 0 bis 255 annehmen kann. Die einzelnen Stellen werden mit einem Punkt getrennt dargestellt. Beispiel: 192.115.32.4. Technisch gesehen ist diese Adresse eine 32-stellige Binärzahl.
- Bei IPv6 ist dies eine Kombinationen von Hexadezimalzahlen, die in acht Blöcke zu jeweils 16 Bit (4 Hexadezimalstellen) unterteilt wird. Diese Blöcke werden durch Doppelpunkte getrennt. Beispiel: 2001:0db8:85a3:08d3:1319:8a2e:0370:7344. Damit stellt diese Adresse eine 128-stellige Binärzahl dar.
Dann bietet das IP-Protokoll folgenden Dienst an:
Gib mir ein Paket aus Binärdaten und nenne mir die IP-Adresse des Zielrechners, und ich schicke das Paket dorthin, jedoch ohne Garantie, dass es überhaupt ankommt.
(Dass ein solches Netzwerk in Teilnetze geteilt ist, die durch Router verbunden sind, sprengt den Rahmen dieser Einführung.)
Schicht 2 Sicherungsschicht
[Bearbeiten](engl. data link layer, auch: Verbindungssicherungsschicht, Verbindungsebene, Prozedurebene).
Die Sicherungsschicht hat die Aufgabe, eine möglichst fehlerfreie Übertragung zu gewährleisten und den Zugriff auf das Übertragungsmedium zu sichern. Um das sicherzustellen, wird der Datenstrom in Blöcke (auch als Frames oder Rahmen bekannt) zerlegt und mit Prüfsummen versehen. Dann wird eine Kopie eines Blocks versendet und anhand der Prüfnummer ermittelt ob dieser unbeschädigt angekommen ist. Dadurch, dass das Original solange festgehalten wird, bis die Zustellung der Kopie als erfolgreich bestätigt wurde, ist es möglich, das verlorene Pakete zu identifizieren und erneut anzufordern. Sind alle Blöcke angekommen, werden diese zu einer exakten Kopie der ursprünglichen Einheit wieder zusammengesetzt.
In lokalen Netzen ist die Schicht 2 in zwei Unterebenen aufgeteilt. Die Media-Access-Control- und die Logical-Link-Control-Ebene. (MAC-Ebene oder LLC-Ebene.)
MAC-Ebene (2a)
[Bearbeiten]Die MAC-Ebene ist für die Zusammenarbeit der einzelnen Endsysteme erforderlich. Unter anderem mit den MAC-Adressen und den Zugriffsverfahren wie z.B. CSMA/CD.
Sie grenzt an die Bitübertragungsschicht (Schicht 1).
LLC-Ebene Logical Link Control
[Bearbeiten]Die Hauptaufgabe der LLC-Ebene besteht darin, die Datensicherung auf Verbindungsebene zu gewährleisten.
Sie grenzt an die Netzwerkschicht (Schicht 3).
Schicht 1 Bitübertragungsschicht
[Bearbeiten](engl. physical layer, auch: physische Ebene)¨.
Die physische Schicht ist die erste und somit niedrigste Schicht des OSI-Schichtenmodells. In der Schicht 1 werden hauptsächlich die mechanischen, elektrischen und auch optischen Eigenschaften der Übertragungsmedien festgelegt.
Eigentlich sollte man noch erwähnen, dass gerade bei dem heute gebrauchlichen TCP/IP noch nicht so eine saubere Einteilung der Schichten möglich ist. Diese Protokolle wurden zu einer Zeit erdacht, als man diese Art der Schichten noch nicht kannte. So wurden z.B. Funktionen in der Sicherungs- und der Transportschicht etwas vermengt.
Merksatz
[Bearbeiten]Man kann sich die Schichten mit folgendem Merksatz gut einprägen (engl. Anfangsbuchstaben der Schichten 7-1) :
All People Seem To Need Data Protection oder Alle Priester Saufen Tequila Nach Der Predigt
Hier die Schichten von unten nach oben 1-7 :
Please Do Not Throw Salami - Pizza Away!
Oder auf Deutsch:
Alle Deutschen Schüler Trinken Verschiedene Sorten Bier
DoD-Schichtenmodell
[Bearbeiten]Das Department of Defense (das US-Verteidigungsministerium), hat ebenfalls ein theoretisches Modell entwickelt, nach dem das Internet aufgebaut werden sollte. Dabei ist mit Internet jedoch nicht das Internet, das wir heute kennen gemeint, sondern ein rein militärisches Netz das durch eine dezentrale Struktur vor Ausfällen geschützt sein sollte.
Nr. | Schicht | Beispiele | |||||||
4 | Application | HTTP | SMTP | FTP | DNS | ||||
3 | Transport | TCP | UDP | ||||||
2 | Internet | IP | IPX | ||||||
1 | Network Access | Ethernet | ATM | FDDI | TR |
Vergleich OSI und DoD
[Bearbeiten]Bei einem direkten Vergleich der beiden Schichtenmodelle sieht man, dass die Unterschiede gar nicht so groß sind.
DoD | ISO | Schicht |
4 | 7 | Application |
6 | Presentation | |
5 | Session | |
3 | 4 | Transport |
2 | 3 | Network |
1 | 2 | Data Link |
1 | Physical |