Baustelle:OSI-Referenzmodell
Aus Ubuntu-Forum Wiki
(→Netzwerkanforderungen) |
K (→Netzwerkanforderungen) |
||
Zeile 1: | Zeile 1: | ||
- | = | + | = Allgemeines = |
Damit die Kommunikation über physikalische Schnittstellen auch gelingt, ist es von Bedeutung, dass die ans Netzwerk | Damit die Kommunikation ü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 dafür von der Internationalen Organisation für Normung (Kurz: ISO) | angeschlossenen Geräte auch die gleiche Sprache sprechen. Zum Glück wurden dafür von der Internationalen Organisation für Normung (Kurz: ISO) | ||
Zeile 8: | Zeile 8: | ||
Da "nur" die grundlegenden Aufgaben der Schichten spezifiziert wurden, jedoch nicht die konkrete Ausführung, | 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. | gibt es heute eine Vielzahl von Protokollen auf den einzelnen Schichten des OSI-Modells. | ||
+ | |||
+ | [[Datei:OSI-Referenzmodell.png]] | ||
Version vom 16. Dezember 2010, 13:41 Uhr
Inhaltsverzeichnis |
1 Allgemeines
Damit die Kommunikation ü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 dafür von der Internationalen Organisation für Normung (Kurz: ISO) einige Standards entwickelt, an die sich alle Netzwerkteilnehmer halten sollten.
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.
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 CAT5 Twisted-Pair-Kabel mit RJ45-Stecker 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:
- Sichtprüfung (auf unterbrochene Netzwerkleitungen und richtige Rangierungen achten)
- Status-LED's auf beiden Geräten kontrollieren (beide müssen leuchten)
- Falls die Status-LED nicht aktiv ist, überprüfen, ob die Netzwerkkarte von Ubuntu erkannt wurde:
lspci -nn | grep -i ethernet
- Mit folgendem Befehl überprüfen (nach Einstecken des Verbindungskabels), ob die jeweilige Netzwerkschnittstelle aktiv ist:
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 vertauschte 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
Weitergehende Informationen:
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 handelsüblichen Switche arbeiten mit dem Ethernet-Protokoll, welches wiederum auf Schicht eins und zwei angesiedelt ist. Der Switch kann aufgrund der MAC-Adresse, Frames an das gewünschte Zielsystem weiterleiten.
Um zu überprüfen, ob (unter Linux) auf der Sicherungsschicht alles in Ordnung ist, bietet sich zuerst einmal an, die Hardware-Adressen der Netzwerkschnittstellen auszulesen:
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 über welche Hardware-Schnittselle mit dem Linux-System verbunden sind, kann man den arp-Befehl benutzen:
apensiv@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)
Die Aufgaben der Vermittlungsschicht sind sehr umfangreich; die Protokolle auf dieser Schicht sorgen dafür, dass Datenpakete auch den Weg zum Zielsystem finden. (Auf der Sicherungsschicht können nur direkt benachbarte Systeme erreicht werden)
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 das ICMP-Protokoll.