Wirtschaftsinformatik (Bachelor-Studiengang): Rechnernetze/Onlinedienste (2. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikRechnernetze/Onlinedienste: Grundprinzipien der Rechnernetze (Teil 3)

BM / CM, Kurs vom 01.10.2002 - 31.03.2003

Rechnernetze/Onlinedienste: Grundprinzipien der Rechnernetze (Teil 3): Flusskontrolle (Halt/Weiter-Meldungen (xon/xoff), Kredit-Verfahren, Sliding Window-Verfahren), Multiplexing (Zeitmultiplexing, Virtuelle Verbindungen, Frequenzmultiplexing), Splitting, Segmenting, Routing (Splitting, Segmenting, Routing, Protokolle und Dienste).

  1. Flusskontrolle
  2. Multiplexing
  3. Splitting, Segmenting, Routing

Flusskontrolle

Flusskontrolle = Datenflusskontrolle = Mechanismus zur Steuerung der Datenmenge, die gesendet werden darf.

Flusskontrolle ist immer erforderlich, wenn die beteiligten Kommunikationspartner nicht dieselbe Leistungsfähigkeit haben oder für die Kommunikation ausreichende Leistungen erbringen können, z.B. weil sie mit anderen Aufgaben belastet sind.

Anders formuliert: wenn die Kommunikationsleistung abgestimmt (synchronisiert) werden muss.

Der eine Extremfall: Empfänger kann immer alles dem Sender abnehmen und verarbeiten. Keine Flusskontrolle notwendig.

Der andere: Empfänger kann nichts empfangen. Der Sender muss das zu Sendende zwischenspeichern (store and forward-Prinzip, angewendet bei E-Mail).

Verfahren der Flusskontrolle:

Folgende Verfahren gibt es prinzipiell

Das oben eingeführte Stop and Wait-Protocol (Sender wartet nach Senden auf Bestätigung) realisiert implizit eine Flusskontrolle, da der Empfänger die Bestätigung solange verzögern kann, bis er Kapazität für das nächste Paket hat (allerdings nicht zu lange, da sonst der Time Out-Mechanismus auf der Senderseite eine Wiederholung startet, was ja wieder den Empfänger belastet). Dieses Verfahren ist eine Sonderform des Sliding Window-Verfahrens, nämlich mit Window size von 1.

Halt/Weiter-Meldungen (xon/xoff)

Hat der Empfänger für weitere Pakete keine Kapazität, sendet er ein xoff-Signal; hat er wieder Kapazität, dann ein xon:

Aber: Das xoff-Signal muss früh genug gesendet werden, da das Medium/Verbindung eine Speicherkapazität hat und der Sender ein schon angefangenes Paket nicht abbrechen möchte. Auch kann das xoff verloren gehen!

Statt der ASCII-Zeichen können auch Pakete mit der entsprechenden Bedeutung sowie bestimmte Bitkombinationen innerhalb von Paketen benutzt werden.

Kredit-Verfahren

Der Empfänger erlaubt dem Sender eine bestimmte Menge von Paketen zu senden (Kredit). Nach jedem Senden wird ein Kredit-Punkt entfernt. Hat der Sender keine Punkte, so muss er schweigen. Der Empfänger kann jederzeit den Kredit erhöhen.

Einfaches Verfahren, das den Nachteil des Nachlaufens beim xon/xoff-Verfahren aufgrund der Speicherkapazität des Mediums nicht hat und einen einfachen Algorithmus zur Bestimmung der Kreditpunkte anhand der freien Puffer beim Empfänger erlaubt.

Nachteil:

Der Verlust der Krediterhöhung muss festgestellt und behandelt werden, wobei das mehrfache Senden desselben Krediterhöhungpakets ohne besondere Maßnahmen zur mehrfachen Krediterhöhung führt.

Sliding Window-Verfahren

Das Sliding Window-(Schiebefenster) Verfahren ist eine Kombination aus Flusskontrolle und Bestätigung, wobei es möglich ist, mit einem Paket mehrere empfangene zu bestätigen, indem die höchste Nummer aller zu bestätigenden Pakete übertragen wird (Pakete mit niedrigerer Nummer sind damit mitbestätigt).

Ein Fenster ist ein Bereich von aufsteigenden Paketnummern, die ohne Bestätigung vom Sender für weitere Pakete benutzt werden können. Die Fenstergröße (Window size) ist damit der maximale Vorlauf, den der Sender gegenüber dem Empfänger haben darf (entspricht dem Kreditrahmen im vorherigen Verfahren).

In der Praxis kommen Fenstergrößen im Bereich von 4 bis 16 vor.

Sliding Window-Verfahren 1

Bildbeschreibung "Sliding Window-Verfahren 1": Auf einer Zeitachse werden die Paketnummern 0 bis 14 abgebildet. Die Paketnummern 0 bis 3 sind schon bestätigt (verbraucht), das nächste Fenster beginnt somit bei Paketnummer 4. In diesem Beispiel wird eine Fenstergröße von 4 abgebildet.

Sender sendet 2 Pakete mit Nummer 4 und 5. Er darf noch 6 und 7 ohne Bestätigung senden, dann erst ist sein Fenster ausgeschöpft:

Sliding Window-Verfahren 2

Bildbeschreibung "Sliding Window-Verfahren 2": Nach dem Senden der Pakete 4 und 5 ist erst die Hälte des gewährten Zeitfensters ausgeschöpft.

Sender sendet weitere 2 Pakete mit Nummer 6 und 7; da sein Fenster ausgeschöpft ist, muss er schweigen:

Sliding Window-Verfahren 3

Bildbeschreibung "Sliding Window-Verfahren 3": Nach dem Senden der Pakete 6 und 7 ist das gewährte Zeitfenster der Größe 4 ausgeschöpft.

Der Empfänger bestätigt Paket 6. Das bedeutet, dass die linke, untere Kante des Fenster um 3 nach oben verschoben wird und dass damit der Sender 3 weitere Pakete senden darf:

Sliding Window-Verfahren 4

Bildbeschreibung "Sliding Window-Verfahren 4": Nach Bestätigung des Paketes 6 (und damit auch den vorangegangen Paketen 4 und 5) wird das Zeitfenster weiter vorgeschoben. Es beginnt nun bei Paket 7 und endet bei Paket 10.

Der Sender sendet die Pakete 8 und 9:

Sliding Window-Verfahren 5

Bildbeschreibung "Sliding Window-Verfahren 5": Nach dem Senden der Pakete 8 und 9 ist nur noch das Senden eines Paketes in dem gewährten Zeitfenster möglich.

Der Empfänger bestätigt Paket 9:

Sliding Window-Verfahren 6

Bildbeschreibung "Sliding Window-Verfahren 6": Mit der Bestätigung des Paketes 9 werden auch die vorangegangenen Pakete 7 und 8 bestätigt. Das Zeitfenster wird erneut vorgeschoben, beginnt bei Paket 10 und endet bei Paket 13.

Das Sliding-Window-Verfahren ist weit verbreitet, da es

Im Duplex-Betrieb gibt es für jeden Sender ein eigenes Fenster, dessen Größe auch unterschiedlich sein kann.

Beispiel aus der Praxis: X.25

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Multiplexing

Multiplexing = Verfahren, das eine unabhängige Mehrfachverwendung eines Betriebsmittels durch mehrere Nutzer, hier insbesondere eines Mediums bzw. einer Verbindung, realisiert.

Das Verfahren arbeitet nach folgenden Arten:

Daneben gibt es noch im Funknetzbereich Sonderformen des Multiplexing.

Zeitmultiplexing

Zeitmultiplexing

Bildbeschreibung "Zeitmultiplexing": Das abgebildete Verfahren wird nachfolgend näher beschrieben.

Die Datenpakete mehrerer Benutzer - hier als Verbindungen dargestellt - werden zu verschiedenen Zeitpunkten auf die Verbindung geschaltet. Auf der Empfängerseite werden die Pakete wieder auseinander sortiert.

Der Multiplexer muss eine spezielle Nummer jedem Datenstrom zuordnen und diese Nummer in den Kopf der Pakete eintragen.

Der Demultiplexer analysiert diese Nummer und verteilt die Pakete entsprechend der Nummer auf die empfangenen Datenströme.

Dieser Simplex-Fall kann auch Halb- oder Vollduplex realisiert sein, wobei dann in der Gegenrichtung die Rollen vertauscht sind.

Es gibt statische Multiplexer, bei denen in einem festen Zeitrhythmus Paket für Paket jeder angeschlossenen Leitung - auch dann, wenn kein Paket zu senden ist - behandelt wird. Die Alternative sind statistische/- dynamische Multiplexer, die möglichst gerecht entsprechend der Situation Pakete auf die Leitung kopieren.

Virtuelle Verbindungen

Früher hießen die statistisch - dynamisch sich anpassenden - Multiplexer auch Konzentratoren.

Die benutzten Nummern im Paketkopf werden auch genannt.

Virtuelle Verbindung = Virtual Connection = Virtual Channel = Isolierte Realisierung im Sinne einer Nachbildung einer realen Verbindung mit erwünschten Eigenschaften.

Der Begriff des Virtuellen ist derselbe wie bei den Begriffen der Virtuellen Maschine (z.B. Java-Interpreter) oder des Virtuellen Speichers bei Betriebssystemen. Bei den Rechnernetzen gibt es noch Virtuelle Netze.

Virtuelle Verbindungen sind immer dann erforderlich, wenn

Reale Verbindungen gibt es nur bei den Medien. Alle Verbindungen, die auf Medien aufsetzen, sind virtuell.

Multiplexing ist immer dann erforderlich, wenn es mehr Benutzer als Betriebsmittel (Resourcen) gibt - und das ist in dieser Welt (fast) immer der Fall.

Verbindung über mehrere Wegstrecken:

Verbindung über mehrere Wegstrecken

Bildbeschreibung "Verbindung über mehrere Wegstrecken": Rechner 1 ist mit Rechner 2 verbunden. Rechner 2 ist desweiteren mit Rechner 3 und 4 verbunden. Auch Rechner 3 ist mit Rechner 4 verbunden. Rechner 4 hat dann noch eine Verbindung zu Rechner 6. An diesen wiederum sind Rechner 5 und 7 angebunden.

Die Verbindung zwischen Rechner R7 und R3 muss virtuell sein, da sie aus 3 Teilstücken zusammengesetzt wird, d.h. R7 und R3 sind verbunden, obwohl es keine physikalische Verbindung zwischen ihnen gibt.

Verbindung über dieselbe Wegstrecke:

Verbindung über dieselbe Wegstrecke

Bildbeschreibung "Verbindung über dieselbe Wegstrecke": Rechner 7 kommuniziert mit Rechner 3 über Rechner 6 und Rechner 4. Wenn Rechner 5 mit Rechner 1 kommunizieren möchte, dann läuft die Verbindung über Recher 6, Rechner 4 und Rechner 2. In beiden Verbindungen ist somit das Teilstück zwischen Rechner 6 und Rechner 4 enthalten.

Die Verbindung R7-R3 benutzt dasselbe Teilstück R6-R4 wie die Verbindung R1-R5. Dies geht nur dann gleichzeitig, wenn R6-R4 gemultiplext wird.

Virtuelle Verbindungen abstrakter:

Virtuelle Verbindungen abstrakter (Teil 1)

Bildbeschreibung "Virtuelle Verbindungen abstrakter (Teil 1)": Erläuterungen folgen weiter unten.

Virtuelle Verbindungen abstrakter (Teil 2)

Bildbeschreibung "Virtuelle Verbindungen abstrakter (Teil 2)": Erläuterungen folgen weiter unten.

Aus der Sicht der Programme/Prozesse verbindet irgendwie die Virtuelle Maschine die Kommunikationspartner: die Implementierung ist verborgen. Lediglich Schnittstellen sind erkennbar.

Aufbau und Abbau virtueller Verbindungen:

Virtuelle Verbindungen bestehen nicht einfach, sie müssen in einem Dialog zwischen den Multiplexern bzw. Programmen, die die Virtuelle Verteilte Maschine realisieren, vereinbart werden. Dies erfolgt durch spezielle Pakete samt Bestätigungen, in denen u.a. die Nummer der neuen virtuellen Verbindung festgelegt wird.

Nach dem letzten Austausch eines Datenpakets werden Virtuelle Verbindungen durch andere spezielle Pakete abgebaut; auch der Abbau wird meistens bestätigt, so dass beide Seiten sich über den Abbau einig sind.

Daher gibt es mindestens drei Phasen:

Virtuelle Verbindungen durch Netzwerke:

Wenn eine Virtuelle Verbindung durch Zusammensetzung mehrerer Teilverbindungen innerhalb eines Netzwerkes realisiert wird - dieses Zusammensetzen erfolgt in der Aufbauphase -, dann bestehen zwei Möglichkeiten:

In beiden Fällen muss in jedem Knoten des Netzwerks die Information über die Verbindung gespeichert sein.

Frequenzmultiplexing

Frequenzmultiplexing

Bildbeschreibung "Frequenzmultiplexing": Kanal 1, 2, 3 bis n senden gleichzeitig, aber auf verschiedenen Frequenzen. Zwischen zwei Frequenzen liegt jeweils eine für die Kanaltrennung erforderliche Frequenzlücke.

Wenn jeder Kanal (Virtuelle Verbindung) ein eigenes Frequenzspektrum mit einem Sicherheits-Abstand verwendet, wird dasselbe Medium mehrfach verwendet.
Dies ist nur bei Medien möglich.

Frequenzmultiplexing wird beim Radio, Fernsehen und bei den Funknetzen (Sprechfunk, Fernsteuerungen) verwendet.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Splitting, Segmenting, Routing

Splitting

Verfahren der Aufteilung einer Verbindung auf mehrere, um einen hohen Datendurchsatz mit mehreren Verbindungen mit einem niedrigen Durchsatz zu realisieren.

Splitting

Bildbeschreibung "Splitting": Das Verfahren wird nachfolgend erklärt.

Verfahren:

  1. Die Pakete des zu bewältigenden Datenstroms werden nummeriert.
  2. Dann werden diese entsprechend der Datenrate der benutzten Verbindungen verteilt.
  3. Auf der Empfangsseite werden die Pakete sortiert und in der ursprünglichen Reihenfolge nach oben gegeben.
Probleme:

Segmenting

Netzwerke bzw. benutzte Verbindungen unterstützen nur Pakete mit einer maximalen Länge.

Diese kann kleiner als die erforderliche sein.

Segmenting = Verfahren, lange Pakete in kleinere aufzuteilen und auf der Empfangsseite wieder zusammenzusetzen.

Segmenting

Bildbeschreibung "Segmenting": Ein Paket wird in mehrere kleine Pakete aufgeteilt (segmentiert).

Routing

Verfahren zur Bestimmung des Weges durch ein Netzwerk.

Bei verbindungsorientierten Netzen wird das Routing einmalig zum Beginn (Aufbauphase) der Verbindung durchgeführt. Alle Pakete nehmen denselben Weg durch das Netz.

Beispiele: X.25, ATM, Datex-L

Bei verbindungslosen Netzen wird das Routing für jedes Paket einzeln durchgeführt; es gibt keine Verbindung durch das Netzwerk - jedes Paket wird mit einem eigenen Routing individuell transportiert, so dass die Reihenfolge beim Empfang nicht unbedingt die Reihenfolge des Sendens ist (Pakete können sich überholen).

Beispiele: IP, UDP (Internet)

Optimierungsgrößen:

Das Routing kann den Weg, der auswählen. Dies sind in der Regel unterschiedliche Wege.

Da sich große Netze wie das Internet ständig ändern, kann keine korrekte und vollständige "Landkarte" erstellt werden, so dass alle Algorithmen sich ständig ändernden Situationen anpassen müssen.

Die Routing-Algorithmen sind Näherungsverfahren, die nie das Optimum erreichen können.

Protokolle und Dienste

Protokoll:

Menge von Regeln, die die Kommunikation zwischen Rechnern festlegen. Diese definieren die Syntax und Semantik der auszutauschenden Daten.

Dienst:

Service. Leistung eines ausgeführten Protokolls.

Unterschiedliche Protokolle können denselben Dienst erbringen. So können Protokolle als Implementierungen von Diensten angesehen werden, oder der Dienst als Spezifikation der Anforderungen an Protokolle.

Beispiele für Dienste: