Datenflusssteuerung - de.LinkFang.org

Datenflusssteuerung



Mit Datenflusssteuerung (engl. data flow control) werden unterschiedliche Verfahren bezeichnet, mit denen die Datenübertragung von Endgeräten an einem Datennetz, die nicht synchron arbeiten, so gesteuert wird, dass eine möglichst kontinuierliche Datenübermittlung ohne Verluste erfolgen kann.

Wenn ein schneller Sender mit einem langsamen Empfänger zusammenarbeitet, muss die Datenübertragung zeitweise unterbrochen werden. Der Empfänger würde sonst mit Daten überlastet werden, die er nicht verarbeiten könnte. Die Steuerung dieser Unterbrechungen ist die Aufgabe der Datenflusssteuerung.

Um den Datenfluss zu steuern, gibt es verschiedene Verfahren.

Gewöhnlich arbeitet bei einer Datenübertragung nicht nur ein Verfahren zur Datenflusssteuerung, sondern mehrere gleichzeitig. Wenn beispielsweise ein PC einen Internetzugang über ein Modem hat, arbeitet an der Schnittstelle vom Modem zum PC ein Hardware-Verfahren (Handshaking über Steuerleitungen), mit dem die Übertragungsgeschwindigkeit zwischen ihnen geregelt wird. Die Protokolle der Internetprotokollfamilie auf höherer Ebene haben jedoch weitere Mechanismen zur Geschwindigkeitsadaption.

Dass meistens mehrere Verfahren gleichzeitig arbeiten, liegt daran, dass nicht nur die Datenübertragungsrate zwischen Sender und Empfänger an einem Datennetz geregelt werden muss, sondern in jedem Abschnitt auf dem gesamten Übertragungsweg im Netz. Auch das Datennetz und seine Komponenten arbeiten mit einer bestimmten Geschwindigkeit, die von der Geschwindigkeit von Sender und Empfänger abweichen kann.

Die Hardwareverfahren für die Datenflusssteuerung sind im OSI-Modell der Bitübertragungsschicht zuzuordnen. Softwareverfahren gibt es außerdem auch auf den nächsthöheren Schichten.

Inhaltsverzeichnis

Datenflusssteuerung auf Protokollebene


Diese Flusssteuerung ist eine Funktion in einem Netzwerkprotokoll. Sie ist gewöhnlich in einem Protokollstapel zwischen zwei Schichten angesiedelt (OSI-Modell), oder aber zwischen zwei gleichberechtigten Schichten (Peer-Entities) auf Empfänger- und Senderseite.

Diese Algorithmen benutzen eine Art von Feedback: der Empfänger signalisiert dem Sender mit einer Quittung, ob dieser weiter senden soll. Bei TCP kommt dabei ein Sliding-Window-Protokoll zum Einsatz. „Window“ bedeutet hier, dass immer ein ganzes „Fenster“ mit empfangenen Daten quittiert wird, „sliding“ bedeutet, dass die Fenstergröße mittels des Steuerungsdialoges nach oben oder unten geregelt werden kann. Der Empfänger gibt immer mit an, wie viele Bytes er bereit ist zu empfangen. Somit kann eine TCP-Verbindung automatisch und dynamisch den Datenfluss regeln.

Andere Verfahren versenden immer nur ein Paket und versenden mit der Bestätigung eine Sendeberechtigung (Stop-and-Wait-Protokolle). HDLC verwendet die Blocktypen RR (Receive Ready) und RNR (Receive Not Ready) zur Flusssteuerung.

Datenflusssteuerung von Peripheriegeräten


Als Peripherie werden hier Drucker, Modems, Terminals oder ähnliche Geräte bezeichnet.

Hardware-Flusssteuerung, Hardware-Handshake oder Hardware-Protokoll

Eine Hardware-Flusssteuerung wird durch entsprechende Signalpegel auf zugehörigen Schnittstellenleitungen realisiert.

Parallele Datenübertragung (Druckertechnik)

Die oft an Druckern verwendete Centronics-Schnittstelle benutzt drei Leitungen zur Flusssteuerung:

Ein Drucker ist viel langsamer als die steuernde Endeinrichtung. Durch Deaktivierung der Schnittstellenleitung Busy dürfen keine weiteren Daten gesendet werden, die Datenübertragung stoppt kurzfristig.

Serielle Datenübertragung

Allgemein

Die zur Datenübertragung notwendigen Schnittstellenleitungen sind in der ITU-T-Empfehlung V.24[1], der DIN 66020 oder RS232 beschrieben. Sie beziehen sich auf eine lokale Endeinrichtung (z. B. PC), die über ein lokales Übertragungsgerät (z. B. Modem) mit einem entfernten Übertragungsgerät (z. B. Modem beim Provider) und der entfernten Endeinrichtung (z. B. Internet-Server) kommuniziert. Die Leitungen werden je nach Norm unterschiedlich bezeichnet. Hier werden die umgangssprachlichen Bezeichnungen genutzt.

Der normale Ablauf einer Datenübertragung ohne Flusssteuerung verläuft folgenderweise:

Diese logischen Abläufe sind in einem Nullmodem-Kabel fest verdrahtet. Ein Nullmodem verbindet zwei Endeinrichtungen mit gleicher Übertragungsgeschwindigkeit.

Es gibt eine weitere definierte Schnittstelle: RFR (Ready for receiving = Bereit zum Empfang). Durch Platzprobleme auf dem 25-poligen Stecker wurde eine Doppelbelegung mit RTS (Request to send = Aufforderung zum Senden) auf Pin 4 (9-polig: Pin 7) notwendig: Entweder kann man den Sender steuern, oder der Sender arbeitet mit konstantem Trägersignal, und der Empfänger wird gesteuert. Modems in der Betriebsart Halbduplex können deshalb mit RFR nicht gesteuert werden, da dort der Sender gesteuert werden muss.

Da beide Schnittstellen aus Richtung der Endeinrichtung arbeiten, werden sie oft gleichgesetzt. Die ITU-T warnt in der Empfehlung V.43 aber ausdrücklich davor[2].

Normen mit Beschreibung einer seriellen Datenflusssteuerung

Folgende Dokumente unterscheiden korrekt zwischen RTS und RFR:

Datenflusssteuerung durch RFR/CTS (oft fälschlich als RTS/CTS bezeichnet)

Hinweis: Obwohl seit 1995 wichtige Normen bei einer Datenflusssteuerung die Leitung RTS im Zusammenhang mit neueren Duplex-Modems gegen RFR austauschen[5][6], wird in Handbüchern von einfachen Modems immer noch RTS/CTS beschrieben. Für die Benutzer dieser Modems ändert sich nichts, da die richtige Funktion vorhanden ist.

Datenflusssteuerung durch DTR/DSR

Dieser Ablauf ist identisch mit dem vorherigen, es werden nur andere Schnittstellenleitungen benutzt. Besonders bei Modems kann dieser Mechanismus verwendet werden. Er ist zwar nicht genormt, aber gebräuchlich.

Datenflusssteuerung durch andere Schnittstellenleitungen

Eher selten genutzte Möglichkeiten sind die zeitweise Halbierung der Übertragungsgeschwindigkeit durch die Schnittstelle 111 bzw. 112 oder das Abschalten der Taktung.

Software-Flusssteuerung, Software-Handshake, Software-Protokoll oder X-ON/X-OFF

Eine Software-Flusssteuerung wird durch in die Datenübertragung eingefügte Zeichen gesteuert. Der Hauptvorteil liegt darin, keine gesonderte (zusätzliche) Schnittstellenleitung zu erfordern.

Im ASCII-Zeichensatz (ITU-T-Empfehlung T.50) sind die ersten 32 Zeichen für Steuerungsaufgaben reserviert. Vier davon, DC1 bis DC4 (Device Control), sind Gerätesteuerzeichen.

Die Software-Flusssteuerung sollte davon die folgenden Zeichen benutzen:

Diese Zeichen sind sowohl in Richtung Endeinrichtung zum Übertragungsgerät als auch umgedreht nutzbar.

In der Datenübertragung mit Modems gibt es oft die Möglichkeit, diese Zeichen durch Konfiguration umzustellen.

Da das Einfügen und Auswerten dieser Zeichen frühzeitig an Puffern vorbei erfolgen muss, handelt es sich dabei um Out-Of-Band-Daten.

Anwendung

Ist der Sendespeicher des lokalen Modems fast gefüllt, wird das X-OFF-Steuerzeichen in die Empfangsdaten zur eigenen Endeinrichtung eingefügt. Sobald dieser Speicher zur Gegenstelle gesendet wurde und damit wieder leer ist, wird das X-ON-Steuerzeichen eingefügt und damit die Blockierung der Endeinrichtung aufgehoben. Die Übertragungsleitung ist hierdurch vor Datenverlusten gesichert.

Probleme

Beim Versand von Binärdaten dürfen die beiden Steuerzeichen nicht in den Daten auftauchen, da sonst die Datenübertragung unterbrochen wird. Die Zeichen müssen maskiert werden, z. B. dadurch, dass die ganze Datenübertragung so umkodiert wird, dass die Daten als ASCII-Werte der hexadezimalen Zahlen gesendet werden. Ein vor Jahren oft genutztes Format war der Hex-Record von Intel. Dadurch wurde das zu übertragene Datenvolumen aber verdoppelt. Obwohl durch die Umkodierung innerhalb der zu übertragenen Dateien die X-ON/X-OFF-Steuerzeichen nicht mehr vorkommen, war eine Übertragung oft nicht möglich. Das effizientere Protokoll X-Modem beinhaltet zum Beispiel einen fortlaufenden Blockzähler von 00hex bis FFhex, so dass unabhängig von den zu übertragenen Daten jedes Datenbyte auftritt. Während X-Modem läuft, muss diese Software-Flusssteuerung vorübergehend deaktiviert werden, und der Empfänger muss genügend Pufferspeicher für einen Block bereitstellen: Das XON/XOFF-Protokoll wird durch ein ACK/NAK-Protokoll ersetzt.

Die Software-Flusssteuerung sollte nur genutzt werden, wenn es keine Alternative gibt.

Einzelnachweise


  1. List of definitions for interchange circuits between data terminal equipment (DTE) and data circuit-terminating equipment (DCE)
  2. ITU-T V.43, Abschnitt 4.2.1.1 a: In many publications, circuit 133 (Ready for receiving) is, incorrectly, referred to as circuit 105 (Request to send). These two interchange circuits are significantly different in their respective definitions and functions.
  3. ITU-T V.43, Abschnitt 4.1.1.1 a
  4. ITU-T V.43, Abschnitt 4.2.2.1 a
  5. Circuit 133 (Memento vom 30. Juli 2012 im Internet Archive). Die TIA benutzt offiziell RFR: Circuit 133, RFR (Ready for Receiving) is commonly assigned to the connector pin that is alternatively used for circuit 105, RTS. It is sometimes referred to by that name. (PDF-Datei; 344 kB)
  6. Plug and Play External COM Device Specification Version 1.00 February 28, 1995 . Microsoft nennt in diesem Dokument für Entwickler ausdrücklich RTS und RFR; für den Anwender wird auch heute noch in der Hilfe nur RTS beschrieben.

Weblinks





Kategorien: Kommunikationsprotokoll



Quelle: Wikipedia - https://de.wikipedia.org/wiki/Datenflusssteuerung (Autoren [Versionsgeschichte])    Lizenz: CC-by-sa-3.0


Veränderungen: Alle Bilder und die meisten Designelemente, die mit ihnen in Verbindung stehen, wurden entfernt. Icons wurden teilweise durch FontAwesome-Icons ersetzt. Einige Vorlagen wurden entfernt (wie „Lesenswerter Artikel“, „Exzellenter Artikel“) oder umgeschrieben. CSS-Klassen wurden zum Großteil entfernt oder vereinheitlicht.
Wikipedia spezifische Links, die nicht zu Artikeln oder Kategorien führen (wie „Redlink“, „Bearbeiten-Links“, „Portal-Links“) wurden entfernt. Alle externen Links haben ein zusätzliches FontAwesome Icon erhalten. Neben weiteren kleinen Designanpassungen wurden Media-Container, Karten, Navigationsboxen, gesprochene Versionen & Geo-Mikroformate entfernt.


Stand der Informationen: 07.05.2020 06:30:21 CEST - Wichtiger Hinweis Da die gegebenen Inhalte zum angegebenen Zeitpunkt maschinell von Wikipedia übernommen wurden, war und ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.org nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein oder Fehler in der Darstellung vorliegen, bitten wir Sie darum uns per zu kontaktieren: E-Mail.
Beachten Sie auch : Impressum & Datenschutzerklärung.