Lernunterlage - Netzwerkommunikaton: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „<span id="netzwerkkommunikation"></span> = Netzwerkkommunikation = <span id="schichtenmodell"></span> == 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 d…“) |
|||
Zeile 18: | Zeile 18: | ||
'''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. | '''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'':<br | ''Beispiel'':<br> | ||
Sekretariat empfängt Brief, entfernt Information des Sekretariats (den Umschlag mit der Adresse) an der Gegenstelle und reicht den Inhalt (die Briefseiten) übersetzt weiter. | 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. | 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 | Beim Senden wird daher die Information „eingepackt“ und beim Empfangen „ausgepackt“ (siehe Abbildung). | ||
[[Datei:Com102 1.png|300px|none|thumb|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: | 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: | ||
Zeile 60: | Zeile 46: | ||
Es wurde von der ISO in Zusammenarbeit mit internationalen und nationalen Normungsgremien entwickelt. | Es wurde von der ISO in Zusammenarbeit mit internationalen und nationalen Normungsgremien entwickelt. | ||
[[ | [[Datei:Com102 2.png|300px|none|thumb|Schichtenkommunikation]] | ||
Es bietet eine Erklärung und Einordnung der wichtigsten Funktionen und Eigenschaften von Kommunikationssystemen und definiert sieben Funktionsschichten (siehe Tabelle 4). | Es bietet eine Erklärung und Einordnung der wichtigsten Funktionen und Eigenschaften von Kommunikationssystemen und definiert sieben Funktionsschichten (siehe Tabelle 4). | ||
Zeile 69: | Zeile 53: | ||
{| | {| | ||
!width="7%"| OSI-Schicht | ! width="7%" | OSI-Schicht | ||
!width="32%"| | ! width="32%" | | ||
!width="20%"| Einordnung | ! width="20%" | Einordnung | ||
!width="39%"| Funktion | ! width="39%" | Funktion | ||
|- | |- | ||
| 7 | | 7 | ||
| Anwendungsschicht (Application Layer) | | Anwendungsschicht (Application Layer) | ||
| Anwendungssystem | | Anwendungssystem | ||
| Netzwerkschnittstelle zur Anwendung | | Netzwerkschnittstelle zur Anwendung | ||
|- | |- | ||
| 6 | | 6 | ||
| Darstellungsschicht (Presentation Layer) | | Darstellungsschicht (Presentation Layer) | ||
| | | | ||
<br> | |||
| Daten Repräsentation und Verschlüsselung | | Daten Repräsentation und Verschlüsselung | ||
|- | |- | ||
| 5 | | 5 | ||
| Sitzungsschicht (Session Layer) | | Sitzungsschicht (Session Layer) | ||
| | | | ||
<br> | |||
| Kommunikation zwischen Rechnern | | Kommunikation zwischen Rechnern | ||
|- | |- | ||
| 4 | | 4 | ||
| Transportschicht (Transport Layer) | | Transportschicht (Transport Layer) | ||
| Transportsystem | | Transportsystem | ||
| Ende-zu-Ende Verbindungen und Verlässlichkeit | | Ende-zu-Ende Verbindungen und Verlässlichkeit | ||
|- | |- | ||
| 3 | | 3 | ||
| Vermittlungsschicht (Network Layer) | | Vermittlungsschicht (Network Layer) | ||
| | | | ||
<br> | |||
| Pfad Bestimmung und logische Adressierung | | Pfad Bestimmung und logische Adressierung | ||
|- | |- | ||
| 2 | | 2 | ||
| Sicherungsschicht (Data Link Layer) | | Sicherungsschicht (Data Link Layer) | ||
| | | | ||
<br> | |||
| Physische Adressierung | | Physische Adressierung | ||
|- | |- | ||
| 1 | | 1 | ||
| Bitübertragungssschicht (Physical Layer) | | Bitübertragungssschicht (Physical Layer) | ||
| | | | ||
<br> | |||
| Medium, Signal und binäre Übertragung | | Medium, Signal und binäre Übertragung | ||
|} | |} | ||
Zeile 129: | Zeile 118: | ||
Die Aufgaben der Verbindungskontrollschicht sind: | Die Aufgaben der Verbindungskontrollschicht sind: | ||
'''Synchronisation<br | '''Synchronisation<br> | ||
'''Hierbei ist das Ziel der Gleichlauf von zwei Datenstationen. Die Grenzen der Übertragungseinheiten (Bits, Bytes) müssen gleich interpretiert werden. | '''Hierbei ist das Ziel der Gleichlauf von zwei Datenstationen. Die Grenzen der Übertragungseinheiten (Bits, Bytes) müssen gleich interpretiert werden. | ||
Zeile 136: | Zeile 125: | ||
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). | 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<br | '''Fehlererkennung<br> | ||
'''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. | '''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. | ||
Zeile 142: | Zeile 131: | ||
{| | {| | ||
!width="18%"| Zeichen | ! width="18%" | Zeichen | ||
!width="23%"| ASCII-Wert | ! width="23%" | ASCII-Wert | ||
!width="23%"| Bitfolge | ! width="23%" | Bitfolge | ||
!width="34%"| Prüfbit mit Bitfolge | ! width="34%" | Prüfbit mit Bitfolge | ||
|- | |- | ||
| A | | A | ||
| 65 | | 65 | ||
| 1000001 | | 1000001 | ||
| 0 1000001 | | 0 1000001 | ||
|- | |- | ||
| B | | B | ||
| 66 | | 66 | ||
| 1000010 | | 1000010 | ||
| 0 1000010 | | 0 1000010 | ||
|- | |- | ||
| C | | C | ||
| 67 | | 67 | ||
Zeile 162: | Zeile 151: | ||
| 1 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. | 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. | Verlorene Pakete werden mittels Durchnummerieren der Pakete und Vorgabe von Zeitintervallen erkannt, wobei verlorene Pakete erneut übermittelt werden. | ||
'''Flusssteuerung<br | '''Flusssteuerung<br> | ||
'''Die wichtigste Aufgabe der Flusssteuerung (data flow control) ist die Koordination bzw. Synchronisation der Übertragungs- und Verarbeitungsgeschwindigkeit 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). | '''Die wichtigste Aufgabe der Flusssteuerung (data flow control) ist die Koordination bzw. Synchronisation der Übertragungs- und Verarbeitungsgeschwindigkeit 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). | ||
Zeile 179: | Zeile 167: | ||
Abhängig von der Anzahl der Empfänger unterscheidet man die folgenden '''Kommunikationsmuster''': | Abhängig von der Anzahl der Empfänger unterscheidet man die folgenden '''Kommunikationsmuster''': | ||
* '''Punkt-Adressierung''' (singlecast, unicast)<br | * '''Punkt-Adressierung''' (singlecast, unicast)<br> | ||
Bezeichnet die eindeutige Adressierung einer Datenstation. | Bezeichnet die eindeutige Adressierung einer Datenstation. | ||
* '''Mehrpunkt-Adressierung''' (multicast)<br | * '''Mehrpunkt-Adressierung''' (multicast)<br> | ||
Bezeichnet die gleichzeitige Adressierung mehrerer Datenstationen. Ein Paket wird von allen bezeichneten Datenstationen empfangen. | Bezeichnet die gleichzeitige Adressierung mehrerer Datenstationen. Ein Paket wird von allen bezeichneten Datenstationen empfangen. | ||
* '''Broadcast-Adressierung''' sendet ein Datenpaket an alle angeschlossenen Datenstationen. | * '''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 | 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 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 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ängerstationen 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. | 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ängerstationen 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. | ||
Aktuelle Version vom 15. März 2024, 15:11 Uhr
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).
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 liegenden Schicht
3. Einhaltung der Kommunikationsvereinbarung (Protokolle) mit gleichrangigen Kommunikationspartnern im anderen Endsystem
Ein Schichtenmodell (layer model) definiert vereinheitlichte Verfahren und Regeln für den Austausch von Daten durch eine hierarchische Zusammenstellung 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 Schichtenmodell für die Kommunikation zwischen Datenstationen in einem offenen, heterogenen Netzwerk.
Es wurde von der ISO in Zusammenarbeit mit internationalen und nationalen Normungsgremien entwickelt.
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) | Anwendungssystem | Netzwerkschnittstelle zur Anwendung |
6 | Darstellungsschicht (Presentation Layer) |
|
Daten Repräsentation und Verschlüsselung |
5 | Sitzungsschicht (Session Layer) |
|
Kommunikation zwischen Rechnern |
4 | Transportschicht (Transport Layer) | Transportsystem | 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übertragungsschicht.
Die Sicherungsschicht besteht aus zwei Teilschichten (Sublayer), der Verbindungskontrollschicht 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 Verarbeitungsgeschwindigkeit 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ängerstationen 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 Übermittlungsprozesses 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 Sicherungsschicht garantiert die korrekte Übertragung der Daten auf einer Teilstrecke.