Rechnernetze
Home Nach oben

Synchrone Übertragungsprozeduren

Die synchrone Übertragungstechnik garantiert über eine längere Zeit den Gleichlauf zwischen Sender und Empfänger. Dieses geschieht entweder durch hochgenaue Uhren (selten) oder durch Synchronisierung. Wir verstehen hierunter die Möglichkeit, daß einer der beiden Kommunikationspartner dem anderen mitteilt, wann das nächste Zeichen (bzw. Bit) zu senden ist. Dieses kann entweder über eine eigene Taktleitung geschehen (clock) oder durch Rückgewinnung des Takts aus dem Signalwert. Genaueres hierzu wird im Abschnitt zu Übertragungscodes gesagt.

Da Sender und Empfänger über eine längere Zeit synchron laufen, kann wesentlich mehr Information ohne Resynchronisation übertragen werden als beim asynchronen Verfahren. Diese Information besteht entweder aus einem oder mehreren Zeichen (zeichensynchron) oder aus beliebig vielen Bits (bitsynchron). Im ersten Falle beträgt die Anzahl der übertragenen Bits stets ein Vielfaches der Bitzahl eines Zeichens; im zweiten Falle ist diese beliebig, wenn auch in beiden Fällen üblicherweise durch eine maximale Länge beschränkt.

Die synchronen Übertragungsprozeduren teilen die zu übertragende Nachricht in Blöcke oder Übertragungsblöcke (transmission blocks) auf. Ein Block kann in der Regel jederzeit gesendet werden, also unabhängig vom Anfang oder Ende des letzten übertragenen Blocks (und damit asynchron!). Er wird durch bestimmte Steuerzeichen eingeleitet, die z.B. im ASCII-Code festgelegt sind; dort werden sie Kontrollzeichen (control character) genannt.

Zur Übertragung werden zunächst einige (2 bis 8) SYN-Zeichen gesendet. Der Empfänger kann diese verwenden, um sich intern zu synchronisieren. Der Blockanfang wird durch ein STX-Zeichen (Start-of-Text) markiert; danach wird die eigentliche Nutzinformation übermittelt. Am Ende der Nutzinformation wird ein ETX-Zeichen (End-of-Text) gesendet; dann folgen in der Regel zwei oder vier Prüfbytes zur Fehlersicherung BCC (Block Check Character). Im folgenden Diagramm sind Nutzdatenzeichen durch DAn gekennzeichnet

.......... SYN SYN SYN STX DA0 DA1 ... DAn ETX BCC BCC ..........

Aufbau eines Übertragungsblocks

Blöcke werden meistens in ihrer Länge begrenzt. Die Gründe hierfür sind pragmatischer Art (Blöcke müssen beim Empfänger zwischengespeichert werden), technischer Art (der Gleichlauf zwischen Sender und Empfänger kann nur eine begrenzte Zeit sicher aufrecht erhalten werden) und theoretischer Art (optimale Länge für ausreichende Fehlersicherung durch eine bestimmte Anzahl von Fehlerzeichen). Um dennoch beliebig lange Informationsblöcke (d.h. logisch zusammenhängende Information) übertragen zu können, wird die Information zerteilt. Man spricht von

Fragmentierung (fragmentation), wenn ein langer Informationsblock auf mehrere Übertragungsblöcke aufgeteilt wird;

Füllung (filling), wenn mehrere Informationsblöcke in einem Übertragungsblock übertragen werden;

Füllung mit Fragmentierung, wenn zugleich gefüllt und fragmentiert wird.

Wird Information fragmentiert, so wird dieses in der Regel im Übertragungsblock dadurch gekennzeichnet, daß statt eines ETX-Zeichens ein ETB-Zeichen (End-of-Textblock) gesendet wird. Erst der letzte Übertragungsblock mit Daten eines Informationsblocks wird mit einem ETX-Zeichen beendet:

.......... SYN SYN SYN STX DA00 DA01 ... DA09 ETB BCC BCC ..........
.......... SYN SYN SYN STX DA10 DA11 ... DA19 ETB BCC BCC ..........

....

.......... SYN SYN SYN STX DA90 DA91 ... DA99 ETX BCC BCC ..........

Aufbau von Übertragungsblöcken mit fragmentierter Information

Übertragungsblöcke des HDLC-LAP B Protokolls (welche im X.25-Protokoll verwendet werden) haben den folgenden Aufbau:

.......... flag adr. ctrl DA0 DA1 ... DAn BCC BCC flag ..........

Hierbei ist flag ein Byte mit der Bitfolge  01111110 . Dieses hat bestimmte pragmatische Gründe, die später genauer untersucht werden.  adr. ist die Adreß-Information,  ctlr sind Kontroll- bzw. Steuerzeichen. Man beachte, daß die Prüfbytes innerhalb des Übertragungsblocks (also vor dem abschließenden  flag ) stehen.

Bei der zeichenorientierten Übertragung kann das Problem auftreten, daß ein Nutzzeichen gleich einem Kontrollzeichen, z.B.  ETX ist. Damit auch solche Zeichen übertragen werden können, wird ein Fluchtzeichen (escape-character) verwendet:  ESC . Wird dieses empfangen, so wird das folgende Zeichen nicht als Steuerzeichen, sondern als Nutzzeichen interpretiert und unverändert dem Anwender übergeben. Man nennt dieses Verfahren Codeerweiterungstechnik (character stuffing). Wenn ein Übertragungsprotokoll garantiert, daß beliebige Nutzdaten übermittelt werden können (und keine Gefahr besteht, daß diese mit Kontrolldaten verwechselt werden), so nennt man dieses Verfahren transparent. Die meisten heute eingesetzten Verfahren erfüllen diese Forderung (was jedoch nicht für alle klassischen Netzwerktechniken gilt).

Bei der bitorientierten Übertragung kann genauso eine beliebige Bitfolge als Kontrollzeichen aufgefaßt werden. Beim HDLC-LAPB-Protokoll handelt es sich um eine bitorientierte Übertragung; das Ende eines Blocks wird allein durch ein flag erkannt. Auch hier könnte das abschließende flag als Datenzeichen aufgefaßt werden. Um dieses zu verhindern, wird jeder Bitfolge von fünf 1-Bits in den Anwendungsdaten ein zusätzliches 0-Bit angehängt; dieses Vorgehen wird Bitstopfen (bit stuffing) bezeichnet. Der Empfänger interpretiert jede Bitfolge: …111110… als …11111… (d.h. er löscht das 0-Bit wieder heraus), während eine Bitfolge …111111… unverändert weitergegeben wird (und somit zu einem flag oder einem anderen Steuerzeichen gehören muß). Diese Bit-Manipulationen werden auf Seiten des Senders und Empfängers von einer Hardwarevorrichtung erledigt, so daß Sender und Empfänger nicht einzelne Bitfolgen untersuchen müssen. Diese darf natürlich beim Sender nur während der Nutzdatenübertragung arbeiten, nicht jedoch wenn flag gesendet werden. Beim Empfänger muß sie immer in Betrieb sein.

Die zeichenorientierte Übertragung wird auch als Basic Mode bezeichnet. Ein Vertreter aus dieser Klasse ist die BSC-Prozedur (binary synchronous connection) von IBM. Sie ist im industriellen Bereich stark verbreitet, und wird bei den meisten Kleinrechnern verwendet. Da moderne Datensichtgeräte über synchrone Übertragungsprozeduren angeschlossen werden, werden diese auch als Synchronterminals bezeichnet.

Die durch die ISO genormte HDLC-Prozedur (high level data link control) wurde aus der SDLC-Prozedur (synchronous data link control) von IBM abgeleitet, unterscheidet sich von dieser jedoch in einigen Punkten. Da die HDLC-Prozedur der ISO freie Parameter hatte, mußte für die Empfehlung X.25 der CCITT eine bestimmte Übertragungsprozedur ausgewählt werden, die als HDLC-LAPB (link access procedure balanced) bezeichnet wird.