Software-Flusskontrolle
Sowohl die Software- als auch die Hardware-Flusskontrolle benötigen Software, um die Handshake-Aufgabe auszuführen. Dies macht den Begriff Software-Flusskontrolle etwas irreführend. Gemeint ist, dass bei der Hardware-Flusskontrolle zusätzliche Leitungen im Kommunikationskabel vorhanden sind, die Handshake-Bedingungen signalisieren. Bei der Software-Flusskontrolle, die auch unter dem Namen XON-XOFF-Flusskontrolle bekannt ist, werden Bytes über die Standardkommunikationsleitungen an den Absender gesendet.
Die Verwendung der Hardware-Flusskontrolle bedeutet, dass zwischen Sender und Empfänger mehr Leitungen vorhanden sein müssen, was zu einem dickeren und teureren Kabel führt. Daher ist die Software-Flusskontrolle eine gute Alternative, wenn sie nicht benötigt wird, um maximale Kommunikationsleistung zu erzielen. Die Software-Flusskontrolle nutzt den Datenkanal zwischen den beiden Geräten, wodurch die Bandbreite reduziert wird. Die Reduzierung der Bandbreite ist in den meisten Fällen jedoch nicht so erstaunlich, dass es ein Grund ist, sie nicht zu verwenden.
Im ASCII-Zeichensatz wurden zwei Bytes für die Software-Flusskontrolle vordefiniert. Diese Bytes heißen XOFF und XON, da sie die Übertragung stoppen und neu starten können. Der Bytewert von XOFF ist 19. Er kann durch Drücken von Strg-S auf der Tastatur simuliert werden. XON ist der Wert 17 zugewiesen, der Strg-Q entspricht.
Die Verwendung der Software-Flusskontrolle ist einfach. Wenn das Senden von Zeichen verschoben werden muss, wird das Zeichen XOFF in der Leitung gesendet, um die Kommunikation erneut zu starten. XON wird verwendet. Durch das Senden des XOFF-Zeichens wird die Kommunikation nur in Richtung des Geräts gestoppt, das das XOFF ausgegeben hat.
Diese Methode hat einige Nachteile. Eines ist bereits besprochen: Die Verwendung von Bytes auf dem Kommunikationskanal beansprucht etwas Bandbreite. Ein weiterer Grund ist schwerwiegender.
Handshake wird meistens verwendet, um ein Überlaufen des Empfängerpuffers zu verhindern, des Puffers im Speicher, der zum Speichern der kürzlich empfangenen Bytes verwendet wird. Wenn ein Überlauf auftritt, wirkt sich dies auf die Art und Weise aus, wie neue Zeichen auf dem Kommunikationskanal behandelt werden. Im schlimmsten Fall, wenn die Software schlecht entwickelt wurde, werden diese Zeichen weggeworfen, ohne sie zu überprüfen. Wenn ein solches Zeichen XOFF oder XON ist, kann der Kommunikationsfluss stark beschädigt werden. Der Absender liefert ständig neue Informationen, wenn der XOFF verloren geht, oder sendet niemals neue Informationen, wenn kein XON empfangen wurde.
Dies gilt auch für Kommunikationsleitungen, bei denen die Signalqualität schlecht ist. Was passiert, wenn die XOFF- oder XON-Nachricht aufgrund von Leitungsrauschen nicht eindeutig empfangen wird? Besondere Vorsichtsmaßnahmen sind auch erforderlich, damit die gesendeten Informationen nicht die XON- oder XOFF-Zeichen als Informationsbytes enthalten.
Daher ist eine serielle Kommunikation unter Verwendung der Softwareflusssteuerung nur akzeptabel, wenn die Kommunikationsgeschwindigkeiten nicht zu hoch sind und die Wahrscheinlichkeit, dass Pufferüberläufe oder Datenschäden auftreten, minimal ist.
Hochgeschwindigkeits-CSMA
Für hohe Geschwindigkeiten wie Ethernet CSMA Carrier Sense wurden Mehrfachzugriff, Kollisionserkennung / -vermeidung mit zufälligen Backoff-Timern zur Optimierung auf stochastischen Wahrscheinlichkeits-Thruput analysiert.