Leitungssicherung

Home ] Nach oben ] Inhaltsverzeichnis ]


Monitorservice

Ersatzteile

Elektronik-Forum

Gästebuch

 Webhosting  

Reparaturen

Ersatzteilversand

Für Fachhändler

Ersatzteilbeschaffung  

Ein Vogel

Sonderangebot :    Sonderangebot !      Kältespray 400ml Preis : 4,95 Euro
Im Onlineshop bestellen

Leitungssicherung

Die physikalische Ebene besorgt den Transport einer Folge von Bits, die in einzelne Rahmen aufgelöst wird, über einen Übertragungsabschnitt. Dabei kann, wie im letzten Abschnitt bereits erwähnt, eine Vorwärtsfehlerkorrektur (FEC) zur Anwendung kommen, die die Wahrscheinlichkeit für einen korrekten Empfang wesentlich erhöht. Trotzdem ist nach wie vor mit einer Zerstörung einzelner Bits eines Rahmens oder gar eines ganzen Rahmens zu rechnen.

Einen zusätzlichen Schutz bieten die Sicherungsprotokolle, die jeweils einen Übertragungsabschnitt gegen Verfälschung und Verlust sichern. Auch dies kann nur durch zusätzliche Redundanzbits erfolgen, deren korrekter Empfang mit hoher Wahrscheinlichkeit den Empfang eines korrekten Datenrahmens andeutet; sind die Redundanzbits nicht korrekt, so liegt allerdings mit absoluter Sicherheit ein Übertragungsfehler vor!

Den derzeit besten Schutz bieten die sogenannten zyklischen Redundanzcodes (CRC), die speziell bei bit-synchronen oder byte-synchronen Übertragungsprotokollen eingesetzten werden, und die an jeden Rahmen eine zusätzliche Prüfsumme (frame check sequence = FCS) anhängen.

Übertragung eines Rahmens

Die Übertragung eines kompletten Datenblocks benötigt natürlich eine endliche Zeit, da alle physikalischen Vorgänge zeitbehaftet sind. Vor allem die endliche Ausbreitungsgeschwindigkeit des (elektrischen oder optischen) Signals benötigt eine endliche Signallaufzeit und eine daraus folgende Verzögerung (propagation delay).

 

Quittierungsverfahren

Die sicherste Methode, einen gestörten Rahmen zu korrigieren, ist die erneute Übertragung des Rahmens. Diese Wiederholverfahren sind die Basis für alle Sicherungsverfahren ab der Ebene 2 aufwärts. Da das Anstoßen der Wiederholung einer Übertragung automatisch erfolgt, wurden diese Klasse von Verfahren als "automatic repeat request" oder ARQ bezeichnet.

Die ARQ Fehlerkontrolle beruht auf der Fehlererkennung durch den Empfänger. Bei dieser aktiven Fehlersicherung sendet der Empfänger an den Sender eine Bestätigung oder Quittung zurück, die sowohl positiv oder negativ sein kann, je nachdem ob ein Fehler im empfangenen Bitmuster (Codewort) entdeckt wurde. Bei einer positiven Bestätigung (ACK) teilt der Empfänger mit, daß er einen Informationsrahmen ohne Fehler bzw. mit sehr großer Wahrscheinlichkeit korrekt erhalten hat. Mit einer negativen Bestätigung (NAK) teilt der Empfänger mit Sicherheit das Vorliegen eines Übertragungsfehlers mit und fordert mit dieser Rückfrage eine Wiederholung der Übertragung an. Diese aktive Rückfrage wird vom Sender als Aufforderung, den Informationsrahmen nochmals zu übermitteln, interpretiert.

 

Beide Formen dieses Sicherungsverfahrens werden als Automatic Repeat ReQuest (ARQ) bezeichnet. Je nach den speziellen Details der verwendeten Strategie lassen sich eine Vielzahl von ARQ Verfahren unterscheiden; gemeinsam ist allen Verfahren jedoch, daß der Sender ein bereits gesendetes Paket so lange in seinem Speicher für eine notfalls erforderliche Sendewiederholung bereit halten muß, bis eine positive Quittung vom Empfänger eintrifft.

Die im obigen Bildern verwendete Zeitabfolge wird üblicherweise nicht so detailliert angegeben, sondern in Form von vereinfachten Diagrammen (time sequence diagrams) dargestellt. Sie zeigen den zeitlichen Ablauf des Austausches von Daten und Steuerinformationen zwischen den beteiligten Stationen, d.h. Sender und Empfänger. Die Übertragung der einzelnen Rahmen oder Informationsblöcke wird dabei schematisch als Strich gezeichnet, wobei diese Striche in Richtung fortschreitender Zeit geneigt sind, um anzudeuten, daß die Übertragung eine gewisse Zeit erfordert.

 

Das Grundprinzip kann durch eine positive oder auch durch eine negative Bestätigung umgesetzt werden. Bei einer positiven Bestätigung quittiert der Empfänger den korrekten Erhalt eines Pakets, bei einer negativen hingegen nur das Auftreten eines Fehlers.

So elegant diese beiden Lösungen auf den ersten Blick erscheinen, so schnell stellt sich heraus, daß beide mit gewaltigen Problemen zu kämpfen haben, sobald berücksichtigt wird, daß ja auch die Pakete mit den Quittungen zerstört werden können:

Das Problem des Verlusts eines ACK kann nur mit Hilfe einer Zeitüberwachung (timeout) gelöst werden, d.h. der Sender startet nach dem Absenden des Pakets einen Timer und bewahrt das Paket vorsichtshalber in einem Puffer auf. Trifft innerhalb der vorgesehenen Zeitspanne ein positives ACK ein, so wird der Timer gelöscht und das Paket aus dem Wiederholspeicher gelöscht.

Das Problem des Verlusts eines NAK kann zu einer unendlichen Schleife führen, da jetzt beide Seiten nur noch im Zustand "Paket bitte wiederholen" verharren. Diese Schleife kann ganz einfach dadurch vermieden werden, daß ein Prozess, der bereits im Zustand "NAK gesendet" ist, keine weiteren NAKs mehr senden darf. Allerdings treffen wir jetzt auf das gleich Problem wie beim verlorenen ACK - eine Zeitüberwachung muß jetzt dafür sorgen, daß keine unendlichen Wartezeiten auftreten.

Auch damit sind aber noch nicht alle Probleme gelöst:

da der Empfänger beim Stop and Go ARQ nicht weis, ob es sich um eine Wiederholung eines Paketübertragung handelt oder um die Sendung eines neuen Pakets, muß eine Identifizierung der einzelnen Pakete erfolgen. Dies wird üblicherweise mit einer Sequenznummer bewerkstelligt, wobei natürlich nur ein begrenzter Zahlenbereich gewählt wird. Für das einfachste Stop-und-Go Verfahren reichen 2 Werte, die mit einem einzigen Bit darstellbar sind: Wiederholung (= letzter Wert) bzw. neues Paket (= neuer Wert). Da sich die beiden Werte Null und Eins abwechseln, wird dieses Verfahren auch als "Alternating Bit" Protokoll bezeichnet.

Die einfachste Strategie für das ARQ Verfahren besteht darin, jeden Block unmittelbar zu quittieren und den Sender nur dann den nächsten Block übertragen zu lassen, wenn der vorherige korrekt vom Empfänger quittiert wurde. Dieses "stop and go" oder auch "stop and wait" Verfahren ist relativ einfach zu implementieren und wurde daher auch häufig eingesetzt, z.B. im bekannten BSC Protokoll von IBM.

Problematisch bei allen ARQ Verfahren ist das Verhältnis zwischen der Übertragungszeit für ein einzelnes Paket bzw. Rahmen oder Block, und der Signalausbreitungszeit zwischen Sender und Empfänger. Auf relativ kurzen Leitungen und bei niedrigen Übertragungsgeschwindigkeiten spielt die Signallaufzeit praktisch keine Rolle, bei höheren Datenraten und großen Entfernungen kann dieses Verhältnis jedoch beachtliche Werte annehmen und dann fällt die Effizienz der einfachen ARQ Verfahren auf extrem ungünstige Werte zurück.

Kritisch für die Effizienz des Verfahrens und somit auch für die Auslastung der Leitung ist die Verzögerung zwischen der Sendung von zwei Paketen. Diese wird bestimmt durch

  • die Signalausbreitungszeit
          
  • die Verarbeitungszeit im Rechner

Offensichtlich ist nur die Paketzeit T echte Nutzzeit innerhalb der Gesamtzeit Tt bis zur nächsten Übertragung. Das Verhältnis T / Tt gibt somit die Auslastung für ein einfaches Stop and Go Verfahren.

Wie das oben gezeigte Beispiel verdeutlicht, muß dem Sender eine Zeitüberwachung übertragen werden, um einerseits die Wiederholung der Übertragung fehlerhafter Pakete sicherzustellen und andrerseits die ewigen NAK Schleifen auszuschließen. Meist wird daher ein Protokoll mit positiven ACKs implementiert und dazu eine Zeitüberwachung (timeout); trifft nicht innerhalb der durch den Timeout bestimmten Zeit ein ACK ein, so wird das vorsorglich im Puffer gehaltene Datenpaket nochmals gesendet. Gehen n solcher Versuche erfolglos aus, so wird die Leitung als gestört deklariert und alle Verbindungen abgebrochen.

Die positive Bestätigung wird nur gesendet, wenn das Paket ohne Fehler empfangen wurde. Geht das Paket selbst verloren, oder wird das ACK Paket zerstört, so erhält der Sender keine Rückmeldung.

Das Problem kann nur durch die Überwachung der seit dem Absenden verstrichenen Zeit durch den Sender gelöst werden.

Trifft nicht innerhalb der vom Sender festgelegten Zeit eine Bestätigung ein, so wird angenommen, dass das Paket verloren ging und eine Wiederholung der Übertragung eingeleitet. Dadurch werden zerstörte Pakete mit Sicherheit nachgeliefert.

Ein neues Problem tritt auf, falls eine Bestätigung zerstört wird, da dann ein bereits korrekt empfangenes Paket nochmals übertragen wird! Diese Schwierigkeit kann nur durch eine eindeutige Identifizierung der Pakete durch Sequenznummern gelöst werden.

Quittungen und Identifizierung

Eine mögliche Strategie für das ARQ Verfahren besteht darin, daß der Empfänger nach einer Rückfrage alle fehlerhaft empfangene Information ignoriert; erst der nächste korrekt empfangene Informationsrahmen wird bestätigt. Damit scheint die korrekte Datenübertragung sichergestellt. Leider ist dies nicht der Fall, denn wenn wir uns an den obigen Bildern diesen Fall vor Augen führen, sehen wir, daß im Falle einer fehlerhaften Übermittlung der Rückfrage sich dieses einfache Protokoll in einer endlosen Schleife von Rückfragen totläuft.

Mit der passiven Fehlerkontrolle, bei der sich der Empfänger passiv verhält, kann dieses Problem umgangen werden. Wenn ein fehlerhafter Informationsrahmen empfangen wird, so wird dieser einfach ignoriert und keine weitere Aktion ausgelöst. Es liegt in der Verantwortung des Senders, festzustellen, daß innerhalb einer gewissen Zeitgrenze keine Bestätigung eingetroffen ist. Der Sender wird deshalb nach dem Absenden eines Informationsrahmens eine Zeitüberwachung starten. Trifft die Bestätigung ein, so kann die Zeitüberwachung abgebrochen werden. Andernfalls muß nach Ablauf der Zeitüberwachung (sog. "timeout") angenommen werden, daß der Informationsrahmen nicht beim Empfänger angekommen ist oder von diesem wegen Übertragungsfehler ignoriert wurde. Daher wird beim Auftreten eines Timeout der Informationsrahmen ein weiteres Mal übermittelt und die Zeitüberwachung erneut angestoßen.

Diese Strategie führt jedoch zu einem weiteren Problem: Anstelle des Informationsrahmens kann die Übermittlung der Bestätigung gestört werden. Auch der Sender verhält sich in diesem Falle passiv und wird die fehlerhafte Information, deren Bedeutung unerkannt bleibt, ignorieren. Nach Ablauf der Zeitüberwachung wird der Informationsrahmen ein weiteres Mal übermittelt; andererseits hat der Empfänger den vorherigen Informationsrahmen richtig empfangen und richtig bestätigt. Er muß deshalb annehmen, daß es sich beim neu empfangenen Informationsrahmen um neue Information handelt. Dieser ungewollten Informationsverdoppelung kann jedoch mit Sequenznummern begegnet werden.

Wie an den aufgeführten Beispielen erkennbar, kann die Fehlersicherung nur dann einwandfrei arbeiten, wenn die einzelnen Blöcke oder Pakete eineindeutig identifiziert werden können. Dies ist jedoch nur möglich, wenn den einzelnen Blöcken eine solche Identifizierung mitgegeben wird, da sich alleine aus der Situation der Status nicht eindeutig rekonstruieren lässt. Es ist naheliegend, die Pakete durch eine "Sequenznummer" zu kennzeichnen, die in einem Kontrollfeld des übertragenen Blocks untergebracht wird und durch die Fehlersicherung geschützt wird.

Eigentlich sollten diese Sequenznummern ein-eindeutig sein, d.h. nur einmal vergeben werden. Da der Zeitabschnitt innerhalb dessen die Sequenznummer eindeutig sein muß aber im Wesentlichen von der Verzögerung im System bestimmt wird, kann unter Umständen ein relativ kleiner Bereich gewählt werden, z.B. 2 für Stop and Go oder für die noch zu besprechenden kontinuierlichen Verfahren ein Bereich von 8 oder 128.

Bei Eröffnung einer Verbindung wird zwischen den beiden Partnern eine Anfangs-Sequenznummer vereinbart, die dann jeweils um Eins erhöht wird, bis der maximale Wert erreicht ist; anschließend wird wieder mit dem niedrigsten Wert fortgesetzt. Es muß jedoch sichergestellt werden, daß Pakete, die beispielsweise diesen niedrigsten Wert als Sequenznummer erhielten, mit Sicherheit inzwischen das System verlassen haben bzw. notfalls entfernt wurden.

Im Übertragungsrahmen muß daher ein Feld einer bestimmten Länge n für die Identifizierung bereitgestellt werden. Der Sequenznummernraum umfasst damit insgesamt 2n Werte, die üblicherweise den Bereich 0 ..2n-1 abdecken.

Protokolle existieren nicht in einem Vakuum, sondern sind Teil des Betriebssystems eines modernen Rechnersystems. Um die wesentlichen Funktionen zu verdeutlichen, werden wir uns einige Beispiele von zunehmender Komplexität ansehen. Alle diese Beispiele setzen eine Reihe von Hilfsfunktionen des Betriebssystems voraus, die im nachfolgenden Bild zusammengestellt sind:

Das Grundprinzip des "handshakes" zwischen einem Sender und einem Empfänger wird von den auf der nächsten Seite abgedruckten Protokollen verdeutlicht. Natürlich wird im allgemeinen Falle ein Protokoll sowohl die Funktion des Sendens als auch des Empfangens von Datenblöcken (Paketen) erfüllen müssen, wie dies dann in den Folgebeispielen gezeigt wird:

Kontinuierliche Verfahren

Für die Effizienz aller ARQ Verfahren ist das Verhältnis zwischen der Signallaufzeit und der Paket-Übertragungszeit (Paketzeit) maßgebend. Eine Erhöhung der Effizienz kann also nur erreicht werden, wenn die "Nutz-Zeit" innerhalb der "Quittierungszeit" erhöht wird und dies bedeutet, daß der Sender nach Übertragung eines Pakets nicht blockiert, sondern auf Verdacht bereits weitere Pakete nachsendet - quasi in der Hoffnung, daß das erste und die folgenden Pakete sowieso korrekt den Empfänger erreichen werden. Nur wenn Fehler auftreten wird diese vorausschauende Strategie gestört und muß erst durch eine Fehlerbehebungsphase gehen, bevor die kontinuierliche Arbeitsweise wieder aufgenommen werden kann.

Diese "kontinuierlichen" Verfahren können bei korrekter Auslegung die Auslastung der Übertragungsstrecke auf fast 100 % des theoretisch möglichen Wertes (nicht der Leitungskapazität) anheben, zumindest solange keine Übertragungsfehler auftreten. Das Grundprinzip des Verfahrens wird vom nachfolgenden Bild verdeutlicht:

Wesentliche Unterschiede bestehen zwischen den sog. "Go-back-N" und den "Selective Repeat" Verfahren, d.h. der Art wie beim Auftreten von Übertragungsfehlern weitergearbeitet wird.

Go-back-N

Beim Go-back-N Verfahren setzt der Sender nach Erhalt einer Rückweisung (NAK) oder beim Ablauf der Zeitüberwachung nach dem letzten quittierten Block wieder auf und überträgt von dort ab alle gespeicherten Blöcke nochmals.

Selective Repeat

Beim Selective Repeat Verfahren wird vom Empfänger ein Block als fehlerhaft gemeldet und nur dieser Block wird vom Sender erneut übertragen. Nach diesem Block macht der Sender weiter in der ursprünglichen Sendereihenfolge.

Das nachfolgende Protokoll 4 ist ein symmetrisches Sende- und Empfangsprotokoll, das auch alle möglichen Fehlersituationen behandeln kann.

Obwohl dieses Protokoll absolut korrekt arbeitet, hat es doch ein verborgenes Problem, das durch eine unglückliche zeitliche Kombination von Ereignissen auftreten kann (sog. "race condition"). Dieses Problem (siehe nächstes Bild) tritt leider in der Praxis immer wieder auf.

Durch ungünstige zeitliche Verschränkung der ankommenden Pakete kommt es zur doppelten Übertragung jedes einzelnen Datenpakets über den Kanal! Dieses Problem tritt z.B. beim Amateur Packet Radio (AX.25) und bei Dateitransfers auf.

Zurück Weiter

Vielen Dank an   Roland   ww.2cool4u.ch   , der  Texte und Bilder zur Verfügung gestellt hat !


Geschichte ] Grundlagen ] Fehlerkorrektur ] [ Leitungssicherung ] Lichtwellenleiter ] Op. Übertragung ] Richtfunktechnik ] Satellitenübertragung ] Wellenausbreitung ] Seriell und Parallel ] Digitale Systeme ] Wettersatellit ]

Home ] Nach oben ] Inhaltsverzeichnis ]

Sonderangebot :    Sonderangebot !      Schaumreiniger Preis : 3,95 Euro
Im Onlineshop bestellen

 

Unser Tip :

Versand von Ersatzteilen




Baldur Brock  Großgartacher Str. 180  74080 Heilbronn
Tel : 07131 920256   Fax : 07131 910915  E-Mail : Baldur Brock

Impressum und AGB


Ersatzteil-Onlineshop Ersatzteilversand     Laugenpumpe Versand

Hier verwendete Produktbezeichnungen, Logos und Abbildungen sind Eigentum des jeweiligen Herstellers oder Besitzers und dienen lediglich zur Identifikation!