Baustelle:OSI-Referenzmodell

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche
Info.png Dieser Artikel wird gerade neu erstellt und ist noch nicht vollständig. Info.png
Der Inhalt dieses Artikels unterlag noch keiner Revision. Er kann geeignet sein, ein System zu beschädigen oder zu zerstören.
Die Anleitungen sollten noch nicht genutzt werden.
Alle.png

Inhaltsverzeichnis

1 Allgemeines

Damit die Kommunikation im Netzwerk, über physikalische Schnittstellen auch gelingt, ist es von Bedeutung, dass die ans Netzwerk angeschlossenen Geräte auch die gleiche Sprache sprechen. Zum Glück wurden zu diesem Zweck, von der Internationalen Organisation für Normung (Kurz: ISO) einige Standards entwickelt, an die sich alle Netzwerkteilnehmer halten sollten.

Dieser Artikel beschreibt das von der ISO entwickelte OSI-Referenzmodell und enthält viel theoretisches Wissen der Kommunikationstechnik. Die enthaltenen Informationen sind für die meisten Computer-Nutzer nicht erforderlich und nur für interessierte, fortgeschrittene Benutzer geeignet.

Die ISO hat, um die Kommunikation in Rechnernetzen zu regeln, dass sogenannte OSI-Schichtenmodell entwickelt, welches für jede der sieben Schichten beschreibt, was für Aufgaben diese zu erledigen hat. Da "nur" die grundlegenden Aufgaben der Schichten spezifiziert wurden, jedoch nicht die konkrete Ausführung, gibt es heute eine Vielzahl von Protokollen auf den einzelnen Schichten des OSI-Modells.

Es folgt eine geläufige Darstellung der Datenkommunikation, in Hinblick auf das OSI-Schichtenmodell:

OSI-Referenzmodell.png

Die Schichten eins bis vier werden auch als Verbindungsorientierte Schichten bezeichnet, da diese die eigentliche Kommunikation regeln. Schicht fünf bis sieben sind die Anwendungsorientierten Schichten.

Eine Datenkommunikation wird in den meisten Fällen direkt von der Anwendungsschicht aus gestartet. Die manuell ausgeführte Anfrage wird von der Anwendungsschicht an die untergeordnete Darstellungsschicht durchgereicht, dort angekommen kümmert sich die Darstellungsschicht, um eine für den Transport festgelegte Syntax. Sobald die Darstellungsschicht ihre festgelegten Aufgaben erfüllt hat, gibt diese die Daten wieder an die untergeordnete Sitzungsschicht weiter. Dieses Verfahren wiederholt sich bis zur Bitübertragungsschicht, wo die einzelnen Bits letztlich auf die Reise zum Zielsystem geschickt werden. Nach Eintreffen der Bits auf dem Zielsystem, fängt das Verfahren in umkegehrter Reihenfolge wieder von vorne an.

Bei einer Kommunikation von zwei entfernten Geräten, kommunizieren die einzelnen Schichten, immer nur mit der jeweiligen gleichen Schicht des entfernten Systems. Das heißt zum Beispiel, dass die Vermittlungsschicht von System eins, auch immer nur mit der Vermittlungsschicht von System zwei "spricht". Ansonsten kommuniziert die Vermittlungsschicht von System eins mit keiner anderen Schicht von System zwei. Die Schichten bleiben also im Grunde genommen unter sich, da diese sich darauf verlassen, dass die anderen Schichten Ihrer Arbeit nachkommen.


1.1 Bitübertragungsschicht (Physical Layer)

Erforderlich für ein funktionierendes Netzwerk ist der physikalische Zusammenschluss der Endgeräte. Der physikalische Zusammenschluss wird meist über elektrische Impulse (z.B. CAT5 Twisted-Pair-Kabel), optische Signale (z.B. Monomode Lichtwellenleiter 9/125µm) oder elektromagnetische Wellen (z.B. Funk) realisiert. Zwischen diesen Datenleitungen können bei Bedarf auch Hubs, Repeater, Multiplexer, Tranceiver und ähnliche Geräte eingesetzt werden.

Auf der Bitübertragungsschicht wird für jedes Übertragungsmedium festgelegt, wie die einzelnen Bits über Verbindungen übertragen werden. Beispielsweise wird bei einer Übertragung über ein Twisted-Pair-Kabel festgelegt, bei welchem Spannungsimpuls ein auf eins gesetztes Bit und bei welchem Impuls ein auf null gesetztes Bit übertragen wird. Auch die Bandbreite der Datenübertragung wird auf dieser Schicht festgelegt bzw. ausgehandelt.

Das bekannteste Protokoll, welches die Aufgaben dieser Schicht erledigt, ist das Ethernet-Protokoll, welches wohl am häufigsten anzutreffen ist und die Schnittstelle zwischen der Bitübertragungs- und der übergeordneten Sicherungsschicht ist. Aber auch Protokolle und Normen wie: V.24, V.28, X.21, RS 232 sind dieser Schicht zugeordnet.

Gegenwärtig werden Endgeräte meist in sogenannten Stern-Topologien physikalisch miteinander verbunden. Dabei kommen größtenteils "inteligente" Switche zum Einsatz, deren Aufgabe es ist, anhand von MAC- oder IP-Adressen die Pakete an den richtigen Empfänger weiterzuleiten (vergleichbar mit einem elektronischen Postboten). Der Switch ist jedoch nicht mehr der Bitübertragungsschicht zugeordnet, sondern der Sicherungs- und/oder der Vermittlungsschicht, lediglich der Weg, den der Switch bereitstellt, ist der Bitübertragungsschicht zugeordnet.

Seltener kommen die mittlerweile als veraltet geltenen Hubs zum Einsatz, welche ankommende Pakete an alle verfügbaren Empfänger weiterleiten. Diese Vorgehensweise stellt nicht nur ein Sicherheitsrisiko dar, weil alle Datenpakete von allen Endgeräten mitgelesen werden können, sondern sorgt auch schnell für ein überlastetes Netzwerk, da die verfügbare Bandbreite schnell erreicht ist.

Um zu überprüfen, ob eine Netzwerkverbindung (auf der Bitübertragungsschicht) zwischen zwei Geräten fehlerfrei funktioniert, sollte man folgende Tests vornehmen:

 lspci -nn | grep -i ethernet

Dieser Befehlt gilt nur für Ethernet-Schnittstellen, sollte eine serielle- oder eine Glasfaser-Schnittstelle kontrolliert werden, so ist die Grep-Pipe ( | ) anzupassen.

cat /var/log/messages | grep "eth0"

Die Netzwerkschnittstelle: eth0 muss je nach Umgebung angepasst werden. Einen Überblick über die vorhandenen Netzwerkschnittstellen liefert der Befehl: ifconfig. Das Auslesen der Logdatei: /var/log/messages bringt zudem die ausgehandelte Übertragungsrate zu Tage. Sollte die Übertragungsrate niedriger sein als erwartet, so kann eine falsch aufgelegte Ader im Kabel die Ursache dafür sein.

Folgende Ausgabe sollte das Auslesen der: /var/log/messages nach eth0 bei einer funktionierenden Verbindung ergeben:

Nov 28 18:11:28 apensiv kernel: [26989.988257] b44 ssb0:0: eth0: Link is up at 100 Mbps, full duplex

1.2 Sicherungsschicht (Data Link Layer)

Die Aufgabe der Protokolle, welche der Sicherungsschicht zugeordnet sind, ist es eine möglichst fehlerfreie Datenübertragung zu gewährleisten. Zusätzlich regeln Protokolle auf dieser Schicht den Zugriff auf das Übertragungsmedium.

Die Datenströme, welche übertragen werden sollen, werden auf dieser Schicht in Blöcke aufgeteilt und mit einer Sequenznummer und einer Prüfsumme versehen. Durch die Sequenznummer ist es für das Zielsystem möglich, die ankommenden Datenpakete wieder in die richtige Reihenfolge zu versetzen. Sollten einige Bits fehlerhaft übertragen werden, fällt dies aufgrund der Prüfsumme auf und das Paket kann neu angefordert werden. Das komplette Layer2-Paket nennt man auch Frame.

Das Ethernet-Protokoll arbeitet sowohl auf der Sicherungsschicht, als auch auf der untergeordneten Bitübertragungsschicht. Mithilfe der Hardware-Adresse (MAC-Adresse) ist eine Datenübertragung auf den ersten beiden Schichten möglich. Die meisten Switche für den Heimbereich, arbeiten mit dem Ethernet-Protokoll, welches auf Schicht eins und zwei angesiedelt ist. Der Switch kann aufgrund der MAC-Adresse, Frames an das gewünschte Zielsystem weiterleiten.

Um die eigenen MAC-Adressen für die Netzwerkschnittstellen des Systems auszulesen, kann der folgende Befehle genutzt werden:

ifconfig | grep HWaddr

Die Hardware-Adresse wurde fest vom Hersteller der Schnittstellenkarte vergeben. Da jeder Hersteller seinen eigenen "digitalen Fingerabdruck" hat, lässt sich anhand der Hardware-Adresse feststellen, von welchem Hersteller die Schnittstellenkarte gefertigt wurde.

Um zu überprüfen, welche anderen Geräte auf der Schicht zwei, mit dem eigenen System verbunden sind, kann der arp-Befehl genutzt werden:

guest@ubulap:~$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
R2D2.local               ether   00:90:a9:6d:xx:xx   C                     eth0
alice.box                ether   00:1f:3f:49:xx:xx   C                     eth0

1.3 Vermittlungsschicht (Network Layer)

Wireshark-Mitschnitt eines IPv4-Headers

Die Aufgaben der Vermittlungsschicht sind sehr umfangreich, die Protokolle auf dieser Schicht sorgen dafür, dass Datenpakete auch den Weg zu Zielsystemen finden, welche sich in anderen Netzwerken befinden. Zwei typische Geräte, die auf dieser Schicht arbeiten sind der Router und der Layer-3-Switch.

Auf dieser Schicht kommt bei den meisten Datenübertragungen das IP-Protokoll zum Einsatz, beim Ausführen eines ping-Befehls arbeitet auf dieser Schicht jedoch, dass für die Fehleranalyse entwickelte ICMP-Protokoll. Das IP-Protokoll wird zur Zeit in der Version IPv4 eingesetzt, da es aber bald mehr Systeme im Internet gibt, als die dafür benötigte Anzahl von IPv4-Adressen, wurde das IPv6-Protokoll entwickelt. Das IPv4-Protokoll ist jedoch schon lange Standard, sodass nicht absehbar ist, wann eine Umstellung auf IPv6 erfolgen wird.

Damit das IP-Protokoll seine Arbeit verrichten kann, ist es notwendig das jeder Station im Netzwerk zumindestens eine eindeutige IP-Adresse und eine zugehörige Subnetzmaske zugewiesen wird. Die Zuweisung kann hierbei, entweder manuell oder automatisch durch einen DHCP-Server erfolgen.

Die IP-Konfiguration der ersten Ethernet-Schnittstelle lässt sich mithilfe des ifconfig-Befehls herausfinden:

ifconfig eth0

Hier sollte, bei einem Layer3-Netzwerk zumindestens eine IP-Adresse und eine Subnetzmaske konfiguriert sein. Um mit anderen Geräten, ausserhalb des eigenen Netzwerks kommunizieren zu können, ist zusätzlich die Angabe eines Gateways erforderlich. An dieses Gateway werden alle Pakete mit unbekannten Zielsystem weitergeleitet.

Ein Symptom für eine fehlende Gateway-Angabe ist z.B. eine nicht vorhandene Internetverbindung, obwohl der entsprechende Gateway-Router über den ping-Befehl erreichbar ist.

Um zu prüfen an welches System die IP-Pakete weitergeleitet werden, empfiehlt sich ein Blick in die Routing-Tabelle:

sudo route -n

1.4 Transportschicht (Transport Layer)

1.5 Sitzungsschicht (Session Layer)

1.6 Darstellungsschicht (Presentation Layer)

1.7 Anwendungsschicht (Application Layer)

2 Problembehandlung / Problembehebung

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge