The different ARQ techniques used are as follows:
a. Sliding Window flow control
b. Stop and Wait ARQ
c. Go-Back-N ARQ
d. Selective repeat ARQ
- In this flow control mechanism, both sender and receiver agree on the number of data-frames after which the acknowledgement should be sent.
- When data-frame is transmitted, there is a probability that data-frame may be lost in the transit or it is received corrupted.
- In both cases, the receiver does not receive the correct data-frame and sender does not know anything about any loss.In such case, both sender and receiver are equipped with some protocols which helps them to detect transit errors such as loss of data-frame.
- Hence, either the sender retransmits the data-frame or the receiver may request to resend the previous data-frame.
Stop and wait ARQ
The following transition may occur in Stop-and-Wait ARQ:
- The sender maintains a timeout counter. When a frame is sent, the sender starts the timeout counter.
- If acknowledgement of frame comes in time, the sender transmits the next frame in queue.
- If acknowledgement does not come in time, the sender assumes that either the frame or its acknowledgement is lost in transit. Sender retransmits the frame and starts the timeout counter.
- If a negative acknowledgement is received, the sender retransmits the frame.
- Stop and wait ARQ mechanism does not utilize the resources at their best.
- When the acknowledgement is received, the sender sits idle and does nothing. In Go-Back-N ARQ method, both sender and receiver maintain a window.
- The sending-window size enables the sender to send multiple frames without receiving the acknowledgement of the previous ones.
- The receiving-window enables the receiver to receive multiple frames and acknowledge them.
- The receiver keeps track of incoming frame’s sequence number.
- When the sender sends all the frames in window, it checks up to what sequence number it has received positive acknowledgement.
- If all frames are positively acknowledged, the sender sends next set of frames. If sender finds that it has received NACK or has not receive any ACK for a particular frame, it retransmits all the frames after which it does not receive any positive ACK.
Selective Repeat ARQ
- In Go-back-N ARQ, it is assumed that the receiver does not have any buffer space for its window size and has to process each frame as it comes.
- This enforces the sender to retransmit all the frames which are not acknowledged.
- In Selective-Repeat ARQ, the receiver while keeping track of sequence numbers, buffers the frames in memory and sends NACK for only frame which is missing or damaged.
- The sender in this case, sends only packet for which NACK is received.