Flow and Error Control
Flow Control
It is the mechanism that ensures the rate at which a sender is transmitting is in proportion with the receiver’s receiving capabilities. Especially in cases where the sending device can send data much faster than the receiver can digest.
Flow control is the management of data flow between computers or devices or between nodes in a network so that the data can be handled at an efficient pace. For modem connections, either Xon/Xoff or CTS/RTS (Clear to Send/Ready to Send) commands can be used to control data flow.
Its Techniques
Stop and Wait Flow Control
The sender has to wait for an acknowledgement for every frame it has sent
Hence, the next frame is sent only after acknowledgement is received. This process continues until the sender transmits an End of Transmission (EoT) frame
The receiver indicates its readiness to receive data from each frame
For each frame sent, there must be an acknowledgement. Which takes a similar amount of propagation time to get back to the sender.
However, only one frame can be in transmission at a time. This leads to inefficiency if propagation delay is much longer than the transmission delay.
Sliding Flow Control
v It works by having the sender and likewise the receiver have a “window” of frames
v Each frame has to be numbered in relation to the sliding window
v The sender can send as many frames as would fit into a window
v The receiver, upon receiving enough frames, will respond with an acknowledgement of all frames up to a certain point in the window.
v This window can hold frames at either end.
v When the receiver sends an acknowledgement, it includes the number of the next frame it expects to receive.
v If the window size is sufficiently large, the sender can continuously transmit packet
Error Control
Error control is the technique of detecting and correcting blocks of data during communication. In other words, it checks the reliability of characters both at the bit level and packet level. As in many cases communication channels can be highly unreliable.
Error control is a method of checking the reliability of characters (parity) or blocks of data during communication. V.42 and also MNP error control protocols use CRC (Cyclic Redundancy Check) and retransmission of flawed frames.
Error Control Techniques
o Many factors including line noise can alter or wipe out one or more bits of a given data unit
o Reliable systems must have mechanism for detecting and also correcting such errors
o Error detection and likewise correction are implemented either at the data link layer or the transport layer of the OSI model
Wrapping Up
Flow control is a mechanism or code that compensates for differences in the flow of data into and out of a communication device, such as a computer modem or network device. Moreover, flow control is necessary for data communications because the sending computer may be faster than the receiving computer. Hence, sending the data too fast would result in errors or lost data.
As the communication channel is highly unreliable, the receiver must be able to deal with the received data, if it contains error. Furthermore, the term error control is defined as the process of identification or correction of error. Which occurred in the transmitted data.