Flow Control

Last Edited



Definition of Flow Control in the Network Encyclopedia.

What is Flow Control in networking?

In networking, Flow Control is the mechanism by which a modem controls the rate at which it receives data from another modem. You can also use flow control to describe data rate control mechanisms between other devices, such as computers and attached printers, or between CSU/DSUs (Channel Service Unit/Data Service Units) and routers.

Flow Control

Flow control is sometimes equated with handshaking, but the term “handshaking” specifically refers to flow control negotiations that take place at the beginning of a communication session, while the term “flow control” also can apply to data transmission management during an active communication session.

In general modem technologies, two basic types of flow control exist:

  • Hardware flow control: Also known as RTS/CTS (Request To Send/Clear To Send) control, this method uses special dedicated pinning on cables to leave flow control to the modem itself. In other words, a separate hard-wired signal link (wire) that does not carry data is used to enable one modem to send stop and start messages to the other modem by raising or lowering voltage levels on this wire. Hardware flow control is used with high-speed modems that can compress data and is usually the default setting for Microsoft Windows-based software, such as HyperTerminal, that uses modems. 
  • Software flow control: Also known as XON/XOFF control, this method uses special data characters (usually Ctrl+S to stop transmission, and Ctrl+Q to resume) sent within the data stream itself to enable a local modem to signal a remote modem to stop transmitting data so that the local modem can catch up. Software flow control is slower and less reliable than hardware flow control because a user, program, or line noise might inadvertently generate a stop signal for the remote modem. In addition, software flow control is used only for transmitting ASCII text information, not for binary data files, because the binary data might contain the Ctrl+S stop character and cause the remote modem to stop transmitting data.