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.