Error control refers to mechanisms to detect and
correct errors that occur in transmitting frames.The most common techniques
for error control are based on some or all of the following -
These mechanisms, collectively refered to as automatic repeat request (ARQ) exist in the following versions.
Stop-and-Wait ARQ
Stop-and-Wait ARQ is based on the stop-and-wait flow
control technique. The source station transmits a frame, and then must
wait for an acknowledgement. No other data frames can be sent until the
destination station’s reply arrives at the source station. Two possible
errors could occur. First, the frame that arrives at the destination could
have been damaged. The receiver detects this by using error detection technique
and simply discards the frame. To account for such errors, the source station
is equipped with a timer. If no acknowldgement is received by the timer
expires, then the same frame is sent again. This method requires that the
transmitter maintain a copy of the transmitted frame until an acknowledgement
is received for that frame. The second error is a damaged acknowledgement.
If an ack is damaged in transit and is not recognisable by the source station,
it will timeout and resend the same frame. Thus duplicate frames arrive
at the destination. To avoid discrepencies, rettransmitted frames are alternately
labelled with 0 or 1, positive acks are of the form ACK0 nad ACK1. If a
duplicate frame is received at the destination, the destination simply
discards it , and sends the positive ack corresponding to the discarded
frame.
The principle advantage of Stop-and-Wait ARQ is
its simplicity. Its priciple disadvantage is that it is an inefficient
mechanism because one can’t afford to send an ack for every data frame
received where the medium is noisy and the data rates low.
Go-Back-N ARQ
The form of error control based on sliding window flow control that is most commonly used is called Go-Back-N ARQ. In this scheme, a station may send a series of frames sequentially numbered modulo some maximum value( eg. 7 means 0 to 6 ) determined by the window size. While no errors occur, the destination will acknowledge ( RR, receive ready ) incoming frames as usual. If the destination station detects an error in the frame, it sends a negative acknowldgement ( REJ = reject ) for that frame. The destination station will discard that frame and all future incoming frames until the frame in error is correctly received. Thus the source station, when it receives an REJ must retransmit the frame in error plus all succeeding frames that were transmitted in the interim.
Selective Reject ARQ
In selective reject ARQ, the only frames retransmitted
are those which receive a negative acknowledgement ( SREJ ). This is more
efficient than Go-BackN because it minimises the amount of retransmissions,
but mandates the receiver to maintain a buffer large enough to save post-SREJ
frames until the frame in error is retransmitted, and it must contain logic
for re-inserting that frame in the proper sequence. The transmitter and
the receiver also require more complex logic to be able to send/receive
a frame out of sequence. Because of such complications, selective reject
is much less used than Go-Back N arq.