Flow Control is a group of procedures used to control the amount of data a sender is able to send without acknowledgement.
Protocols
There are a number of given protocols under the banner of Flow Control, depending on the quality of the channel.
Noiseless Channel
There are a number of protocols for transmitting on channels where Noise is not an issue:
Noisy Channel
There is a number of protocols for transmitting on channels where errors may occur: