ISDN-Technik: Flusskontrolle

Aus Wikibooks

<ISDN-Technik

Die Technik, die eine gesicherte Übertragung zur Verfügung stellt, heißt Flusskontrolle. Mit gesicherter Übertragung ist gemeint, dass die übertragenen Datenpakete richtig, vollständig und in der richtigen Reihenfolge ausgeliefert werden. Dass die Datenpakete richtig ausgeliefert werden, wird schon durch das zugrundeliegende HDLC-Protokoll zugesichert. Jedoch kann HDLC Übertragungsfehler zwar erkennen, nicht aber korrigieren. Es ist die Aufgabe der Flusskontroller, fehlerhafte oder fehlende Datenpakete ein weiteres Mal zu übertragen und nötigenfalls die Übertragung solange zu wiederholen, bis die fehlerhaften oder fehlenden Pakete richtig empfangen wurden. Darüberhinaus werden Pakete wieder sortiert, falls sie nicht in der richtige Reihenfolge empfangen wurden.

Eine weitere Aufgabe der Flusskontrolle besteht darin, die Übertragung in eine oder beide Richtungen anzuhalten, wenn einer der beiden Endpunkte vorübergehend nicht in der Lage ist, zu empfangende Daten auch zu verarbeiten.

Funktionsweise der Flusskontrolle[Bearbeiten]

Funktionsweise der LAPB-Flusskontrolle

Das nenbenstehende Bild verdeutlicht die Funktionsweise der Flusskontrolle. Jedes Kreissegment steht symbolisch für ein gesendetes Datenpaket. Die Variable V(S) und V(A) bestehen auf der Senderseite, die Variable V(R) besteht auf der Empfängerseite.

Für die zu übertragenden Datenpakete stehen insgesamt 128 verschiedene Sequenznummern (von 0 bis 127) zur Verfügung. Die Sequenznummer werden fortlaufend vergeben; der Sender benutzt die Variable V(S), um sich die nächste zu vergebene Sequenznummer zu merken. Immer wenn ein neues Paket übtragen wird, wird es mit diesem Wert als Sendefolgenummer versehen. Danach wird V(S) um eins erhöht, bis es von 127 auf null überläuft.

Der Empfänger eines Datenpakets muss jedes fehlerfrei empfangene Paket bestätigen. Der Sender merkt sich in seiner Variable V(A), bis zu welcher Sendefolgenummer der Empfange bestätigt wurde. Alle Datenpakete mit Sendefolgenummern zwischen V(S) und V(A) sind noch unbestätigt, dabei dürfen höchstens k Pakete gleichzeitig unbestägt sein. k ist ein Systemparameter kann sinnvollerweise nur zwischen 1 und 127 liegen.

Der Empfänger merkt sich in seiner Variablen V(R) die Sendefolgenummer des letzten Pakets, bis zu dem (ausschließlich) alle Pakete empfangen wurden. Immer dann wenn er eine Bestätigungsmeldung an den Sender schickt, dann wird der Empfang der Pakete bis zur Sendefolgenummer N(R) bestätigt. Wenn der Empfänger Pakete empfängt mit Sendefolgenummern, die er bereits empfangen hat, dann werden diese Pakete verworfen. Wenn er Pakete empfängt, die eine Sendefolgenummer aufweisen, die größer als die erwartete Nummer V(R) ist, dann werden diese Pakete zunächst nicht bestätigt. Der Empfänger kann diese Pakete zunächst speichern und deren Empfang bestätigen, wenn das fehlende, das erwartete Paket empfangen wurde.