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 umgekehrter 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, welcher meist über elektrische Impulse, optische Signale oder elektromagnetische Wellen realisiert wird. 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 Verbindung wird auf dieser Schicht festgelegt bzw. ausgehandelt.

Das bekannteste Protokoll, welches die Aufgaben dieser Schicht erledigt, ist das Ethernet-Protokoll, welches 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.

Es lohnt sich (meistens) bei der Fehleranalyse auf der ersten Schicht des OSI-Modells anzufangen und sich Schritt für Schritt zur Anwendungsschicht vorzuarbeiten.

Typische Symptome für einen Fehler auf der Bitübertragungsschicht wären:

Bei einem solchen Verhalten ist folgendermaßen vorzugehen:

 lspci -nn | grep -i ethernet

Dieser Befehlt gilt nur für Ethernet-Schnittstellen, bei anderen Schnittstellentypen ist der grep-Befehl 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 guest kernel: [26989.988257] b44 ssb0:0: eth0: Link is up at 100 Mbps, full duplex

Bei Ethernet-Verkabelungen ist auf die Verwendung des richtigen Kabels zu achten. (Twisted-Pair-Kabel und Patchkabel) Bei seriellen Anschlüssen sollte darauf geachtet werden, dass auch alle Pins Kontakt zum Stecker haben, es hat kann schwerwiegende Folgen haben, sollte ein Pin schräg stehen.

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