Lernunterlage - Netzwerkommunikaton

Aus FernFH MediaWiki
Zur Navigation springen Zur Suche springen

Netzwerkkommunikation

Schichtenmodell

Schichtenmodelle dienen zur Beschreibung der Kommunikation in Rechnernetzen. Jede Schicht löst hierbei einen klar spezifizierten Teil der Problemstellung und bietet Lösungen als Dienst der nächsthöheren Schicht an. Dabei greift die höhere Schicht auf die Dienste der darunterliegenden Schichten zu und muss sich nicht um deren Aufgaben kümmern.

Zur Verdeutlichung betrachten wir das berühmte Beispiel nach Tanenbaum der Kommunikation zweier Philosophen:

„Zwei Philosophen, einer in Kenia, der zweite in Indonesien, wollen Informationen austauschen. Der kenianische Philosoph möchte dem indonesischen Philosoph mitteilen, "dass er Kaninchen liebt". Er kennt aber die indonesische Sprache nicht und auch die genaue Zieladresse ist ihm nicht bekannt. Er übergibt daher seine Nachricht, die in Französisch formuliert ist „J’aime les lapins“, an sein Sekretariat, das sich um alles "Notwendige" zu kümmern hat. Das Sekretariat übersetzt die Nachricht ins Englische, da man weiß, dass man in Indonesien des Französischen nicht mächtig ist. Die übersetzte Nachricht „I love rabbits“ wird an die Poststelle weitergegeben, die die Adresse des Indonesischen Philosophen feststellt und die Nachricht übermittelt. In Indonesien wird die Nachricht von der dortigen Poststelle empfangen und an das Sekretariat zur Übersetzung gegeben, welches die Nachricht ins Holländische (der Sprache des indonesischen Philosophen) übersetzt „Ik hou van konjnen“. Somit kann der indonesische Philosoph die Nachricht verstehen.“

Diese Vorgangsweise entspricht im Wesentlichen der Situation der Kommunikation in einem Rechnernetz. Die unterste Schicht entspricht dem Transportprotokoll, die Nachricht wird über das "Übertragungsmedium" der Post ausgetauscht. Die nächsthöhere Schicht repräsentiert die Adressierung und die nächste Schicht die einheitliche Darstellung. Schließlich ist die oberste Schicht für die Anwendung zuständig, die Interpretation der Daten.

Schichtenkommunikation

Alle Schichten kommunizieren miteinander, wobei jede Schicht weitere Informationen zur ursprünglichen Nachricht hinzufügt, die nur für den direkten Kommunikationspartner auf der gleichen Schicht relevant sind.

Beispiel:
Sekretariat empfängt Brief, entfernt Information des Sekretariats (den Umschlag mit der Adresse) an der Gegenstelle und reicht den Inhalt (die Briefseiten) übersetzt weiter.

Für jede Schicht existiert eine Steuerinformation, die nur auf der jeweiligen Schicht relevant ist und nicht darüber.

Beim Senden wird daher die Information „eingepackt“ und beim Empfangen „ausgepackt“ (siehe Abbildung).

Schichtenkommunikation


Ein Kommunikationsprotokoll (communication protocol) ist eine standardisierte Sprache zwischen gleichrangigen Partnern. Sie regelt den Aufbau (Syntax, Inhalte, …) von Meldungen und deren Steuerinformation (Nachrichtenkopf, header) und legt notwendige Antworten fest. Dabei gelten folgende Regeln für die Funktionsweise des Schichtenmodells:

1. Erfüllung der Anforderung der darüber liegenden Schicht

2. Vorhandensein/Inanspruchnahme der Dienstleistungen der darunter liegen­den Schicht

3. Einhaltung der Kommunikationsvereinbarung (Protokolle) mit gleichrang­igen Kommunikationspartnern im anderen Endsystem

Ein Schichtenmodell (layer model) definiert vereinheitlichte Verfahren und Regeln für den Austausch von Daten durch eine hierarchische Zusammen­stellung von Kommunikationsdiensten. Die Dienste einer Schicht kommunizieren mit gleichrangigen Partnern über Protokolle, wobei sie über definierte Schnittstellen auf Dienste der darunterliegenden Schicht zugreifen.

ISO/OSI Referenzmodell

Das ISO/OSI Referenzmodell (International Standardization Organization/Open Systems Interconnection) ist ein allgemeines abstraktes Schichten­modell für die Kommunikation zwischen Datenstationen in einem offenen, heterogenen Netzwerk.

Es wurde von der ISO in Zusammenarbeit mit internationalen und nationalen Normungsgremien entwickelt.

Schichtenkommunikation

Es bietet eine Erklärung und Einordnung der wichtigsten Funktionen und Eigenschaften von Kommunikationssystemen und definiert sieben Funktionsschichten (siehe Tabelle 4).

Tabelle 4: OSI-Schichten

OSI-Schicht Einordnung Funktion
7 Anwendungsschicht (Application Layer) Anwendungs­system Netzwerkschnittstelle zur Anwendung
6 Darstellungsschicht (Presentation Layer)


Daten Repräsentation und Verschlüsselung
5 Sitzungsschicht (Session Layer)


Kommunikation zwischen Rechnern
4 Transportschicht (Transport Layer) Transport­system Ende-zu-Ende Verbindungen und Verlässlichkeit
3 Vermittlungsschicht (Network Layer)


Pfad Bestimmung und logische Adressierung
2 Sicherungsschicht (Data Link Layer)


Physische Adressierung
1 Bitübertragungssschicht (Physical Layer)


Medium, Signal und binäre Übertragung

Bitübertragungsschicht (Schicht 1, physical layer)

Die Bitübertragungsschicht legt die physikalisch-technischen Eigenschaften des Übertragungsmediums bei der Übertragung der einzelnen Bits zwischen 2 Datenstationen über ein konkretes Medium fest.

Beispiel: Wie ist die Darstellung der Zustände 0 und 1 durch bestimmte Spannungen, wie lange ist die Signaldauer für ein Bit, welche Modulationsverfahren werden eingesetzt, usw.

Sicherungsschicht (Schicht 2, data link layer)

Die Aufgabe der Sicherungsschicht ist die physische Adressierung der (benachbarten) Kommunikationspartner auf der gemeinsamen Teilstrecke und einen möglichst fehlerfreien Übertragung zwischen zwei benachbarten Datenstationen bereitzustellen, sowie den Zugriff auf das Übertragungsmedium zu regeln. Dazu wird der Bitdatenstrom in Blöcke, sogenannte „Frames“, oder Rahmen aufgeteilt. Die Sicherungsschicht verwendet hierbei die Dienste der Bitüber­tragungsschicht.

Die Sicherungsschicht besteht aus zwei Teilschichten (Sublayer), der Verbindungskontroll­schicht und der Zugangsschicht.

Verbindungskontrollschicht (logical link control, LLC)

Die Aufgaben der Verbindungskontrollschicht sind:

Synchronisation
Hierbei ist das Ziel der Gleichlauf von zwei Datenstationen. Die Grenzen der Übertragungseinheiten (Bits, Bytes) müssen gleich interpretiert werden.

Man unterscheidet dabei Asynchronverfahren, wo der Gleichlauf zwischen Sender und Empfänger für eine Bitfolge (meist ein Byte) durch die Datenendeinrichtung hergestellt wird und die Übertragung jedes Zeichens mit einem Startsignal beginnt und mit einem Stoppsignal (Start/Stopp-Bit) endet. Es ist ein einfaches und robustes Verfahren, wobei aber zusätzlich Start/Stopp-Bits übertragen werden müssen. Typische Protokolle sind X-, Y-, Z-Modem und Kermit.

Beim Synchronverfahren herrscht zwischen Sender und Empfänger ständiger Gleichlauf, der über einen regelmäßigen Taktimpuls (meist durch die Daten­übertragungseinrichtung) realisiert wird. Zeichen werden zu Übertragungsblöcken (Rahmen, Frames) zusammengefasst. Es ergibt sich eine höhere Übertragungsleistung, da keine Start/Stop Bits gesendet werden müssen. Protokollevertreter sind BSC (zeichenorientiert), PPP und HDLC (bitorientiert).

Fehlererkennung
Ziel ist die Erkennung von Übertragungsfehlern und dadurch die Wahrung der Datenintegrität (Unverändertheit der gesendeten Daten). Bitfehler werden hierbei durch Prüfbits erkannt. Bei einem 7-Bit ASCII Zeichen werden die sieben Datenbits addiert und das Prüfbit bei einer geraden Zahl von 1en auf 0, sonst auf 1 gesetzt, d.h. die Anzahl der 1en im korrekt übertragenen Zeichen (mit dem Prüfbit) ist immer gerade.

Beispiel: Prüfbit bei ASCII Zeichen

Zeichen ASCII-Wert Bitfolge Prüfbit mit Bitfolge
A 65 1000001 0 1000001
B 66 1000010 0 1000010
C 67 1000011 1 1000011

Komplexere CRC Methoden (cyclic redundancy check) erlauben die Erkennung von mehreren Bitfehlern und nicht nur die Erkennung, sondern auch die Korrektur von Fehlern.

Verlorene Pakete werden mittels Durchnummerieren der Pakete und Vorgabe von Zeitintervallen erkannt, wobei verlorene Pakete erneut übermittelt werden.

Flusssteuerung
Die wichtigste Aufgabe der Flusssteuerung (data flow control) ist die Koordination bzw. Synchronisation der Übertragungs- und Verarbeitungs­geschwindigkeit zwischen zwei Datenstationen. Dabei synchronisieren sich Sender und Empfänger mit einem einfachen Protokoll durch Versenden von Bestätigungen für empfangene Pakete (send and wait protocol, ACK positive Bestätigung, NAK negative Bestätigung bei fehlerhaften Prüfbits).

Zugangsschicht (media access control, MAC)

Die Zugangsschicht ist für zwei wichtige Aufgaben zuständig: die physische Adressierung der Datenstationen und das Zugangsverfahren zum Medium (z.B. ATM, Ethernet, …).

Datenstationen, die an das gleiche Übertragungsmedium angeschlossen sind, werden über ihre eindeutige MAC Adresse (Media Access Control) identifiziert. MAC Adressen werden im Normalfall durch den Netzwerkadapter bestimmt und sollten weltweit eindeutig sein.

Abhängig von der Anzahl der Empfänger unterscheidet man die folgenden Kommunikationsmuster:

  • Punkt-Adressierung (singlecast, unicast)

Bezeichnet die eindeutige Adressierung einer Datenstation.

  • Mehrpunkt-Adressierung (multicast)

Bezeichnet die gleichzeitige Adressierung mehrerer Datenstationen. Ein Paket wird von allen bezeichneten Datenstationen empfangen.

  • Broadcast-Adressierung sendet ein Datenpaket an alle angeschlossenen Datenstationen.

Durch das Zugangsverfahren wird der Zugang einer Datenstation zum gemeinsam genutzten Übertragungsmedium geregelt. Prinzipiell werden zwei Verfahren unterschieden

  • Bei streng koordinierten (deterministischen) Verfahren wird durch eine Vorschrift exakt festgelegt, zu welchem Zeitpunkt jede Datenstation senden darf.
  • Bei konkurrierenden (stochastischen) Zugangsverfahren ist jede Station prinzipiell zu jedem Zeitpunkt berechtigt ein Paket zu senden. Versuchen zwei Stationen gleichzeitig zu senden, tritt ein Fehler (Kollision) auf und nach bestimmten Wartezeiten starten die Stationen einen neuen Versuch

Bei koordinierten Zugangsverfahren darf zu einem Zeitpunkt nur eine Station senden. Das Senderecht wird gleichmäßig zwischen den Stationen aufgeteilt. Beim Tokenverfahren (token passing) wird der Datenrahmen (token) von Station zu Station (meist in einem Ringnetz) weitergegeben und kann „beladen“ werden oder „frei“" sein. Eine Station, die ein freies Token empfängt, kann Token laden und senden. Ein Token wird weitergegeben und Empfänger­stationen können Daten entnehmen. Wenn ein Token beim Sender ankommt, wird es von ihm entleert. Der bekannteste Vertreter ist der IBM Tokenring. Ein weiteres Verfahren ist ATM (asynchronous transfer mode) das ursprünglich für Punkt-zu-Punkt Verbindungen verwendet wurde und heute bei Weitverkehrsnetzen im Einsatz ist.

Die Vorteile von Tokenverfahren sind die garantierte Zeitspanne, nach der ein Sender senden kann, daher werden sie in Echtzeitsystemen und System mit zu garantierenden Prioritäten eingesetzt. Im Hochlastbereich zeigen sie eine bessere Auslastung als konkurrierende Verfahren, da sich dort die Kollisionen ab einer gewissen Anzahl von angeschlossenen Stationen häufen.

Bei konkurrierenden Zugriffsverfahren kann prinzipiell jede Station jederzeit senden. Es ist daher keine explizite Berechtigung zum Senden notwendig. Deren wichtigster Vertreter ist CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Eine Station die Datenpakete senden will, prüft hierbei, ob eine andere Station aktiv ist. Wenn ja, wartet sie, bis das Medium frei ist, sonst sendet sie. Wichtig ist, dass sie auch beim Senden das Medium abhört. Wenn jetzt 2 Stationen erkennen, dass sie gleichzeitig senden (man spricht von einer Kollision), stellen sie das Senden ein. Die Stationen starten einen neuerlichen Sendeversuch nach einer für jede Station zufälligen Wartezeit. Dies verhindert endlose Kollisionen. Der berühmteste Vertreter der CSMA/CD Verfahren ist das Ethernet.

CSMA/CD zeigen bei einer geringeren Stationszahl eine bessere Leistung als Tokenverfahren, da es kaum zu Kollisionen kommt und kein voller Zyklus für Token abgewartet werden muss. Sie sind auch deutlich einfacher in Hardware zu realisieren und daher auch bedeutend kostengünstiger.

Aus den oben genannten Gründen ist festzustellen, dass in den letzten Jahren die Kollisionsverfahren (hier vor allem das Ethernet) die Tokenverfahren fast vollständig verdrängt haben.

Zusammenfassung

Das Schichtenmodell erlaubt eine klare Abgrenzung von Aufgaben bei der Kommunikation von Daten und hilft die Komplexität des Übermittlungs­prozesses durch Aufgabenteilung zu reduzieren. Das ISO/OSI Modell ist ein international standardisiertes Referenzmodell, das eine Schablone für die Entwicklung von Protokollen und darauf aufbauenden Diensten darstellt. Die Bitübertragungsschicht beschreibt die physikalischen übertragungstechnischen Verfahren und die Sicherungs­schicht garantiert die korrekte Übertragung der Daten auf einer Teilstrecke.