Flow Control prevents the transmitting host from overflowing the buffers of the receiving host. If the flow of data is not controlled it can result in lost data. The ability to obtain reliable data transport uses a connection-oriented communications (briefly discussed in Part 5) session between the two, or more, systems and the protocols involved, which would permit the following:
- All segments received are acknowledged to the sender upon their receipt;
- Any segments lost or dropped, which are not acknowledged, will be retransmitted;
- Segments are re-sequenced into their original order upon arrival at their destination;
- Manageable data flow is maintained to avoid congestion, overloading and data loss.
The inherent purpose of flow control is to maintain a means for the receiving host to govern the amount of data sent by the transmitting host.