Procedures used to limit the rate at which data is transmitted to the rate at which it can be received. There are two major classes of flow control: end-to-end and hop-by-hop. End-to-end flow control limits the amount of data according to the capacity of the final destination to absorb it, without regard to the path through the network taken by the data (which may vary from message to message). Hop-by-hop flow control limits the amount of data sent according to the capacity of each individual node and/or link on the path through the network. In this latter case, the path is usually constant for the lifetime of the connection between sender and receiver. see also window (def. 3), acknowledgment.