Home           Credits

Research & Analysis

Design & Implementation

User Manual

Reference Format

ARQ

CRC

VRC

Stop & Wait Flow Control

Sliding Window


ARQ

Automatic Repeat Request (ARQ)

Data or Service Data Unit (SDU) is divided/ packaged into packets or Protocol Data Unit (PDU) that contains a header & checksum are called information/data frames. Furthermore, there are also empty packets called control frames. These are the 3 types of control frames in ARQ:

             a) Positive Acknowledgement (ACK)
 b) Negative Acknowledgement (NAK)
 c) Enquiry (ENQ)

ARQ uses the timeout mechanism to retransmit data even if acknowledgement is not received. ARQ is used in many protocols for the purpose of reliable transmission. ARQ is usually implemented together with the flow control mechanism of the data link layer.

Error control/correction in the data link layer is based on ARQ which it is a process of retransmitting data that is lost in 3 cases:

             a) Damaged frame
 b) Lost frame
 c) Lost acknowledgement

ARQ uses sequence numbers that is stored in each frame in order to achieve synchronization between the sender & receiver. Theoretically, 1-bit sequence number would be sufficient for Stop-and-Wait ARQ.


Forms of ARQ
These are the 2 forms of ARQ:

a)  Stop-and-Wait ARQ

i) The sender keeps a copy of the last frame transmitted until it receives an acknowledgment for that frame.

ii) For identification of duplicate transmission purposes, data frames & ACK frames are numbered alternately 0 & 1.

iii) If receiver discovers an error in a data frame, NAK frame is returned which tells the sender to retransmit the last frame sent.

iv) If an expected acknowledgment is not received within an allotted time period, the sender which is equipped with a timer assumes the last data frame was lost & retransmit
it again. If the acknowledgement is lost but not the data, then the receiver discards the duplicate/retransmitted copy of the data, sends ACK & wait for the next data frame.

b)   Sliding Window ARQ

i) The sender keeps copies of all transmitted frames that have not been acknowledged.

ii) Receiver returns NAK frame if received data frame is damaged.

iii) ACK carries the number of the next frame expected. While, NAK carries the number of the damaged frame.

iv) An acknowledgment must be sent after (size of window -1) frames are sent. If the allotted time runs out with no acknowledgement, the timer equipped sender retransmits one or all frames depending on the protocol used.


Popular Variants of Sliding Window ARQ

These are the 2 popular variants of sliding window ARQ:

a)     Go-Back-n ARQ

i)  If 1 frame is lost or damaged, all frames sent since the last frame acknowledged are retransmitted.

ii) Receiver stops accepting data frame as soon as it discovers error in a data frame until the damaged frame has been replaced correctly. Receiver sends NAK with the damaged frame sequence number.

iii) If a data frame is lost in transit, meaning that the data frame received is out of
sequence or differs in the expected sequence number, NAK with the lost frame sequence number is sent while the receiver stops accepting data frame until the lost frame has been replaced correctly.

iv) If acknowledgment (ACK) is not received, the sender will retransmit all frames since
the last frame acknowledged when the time limit is reached. It also means the window capacity is reached & the sender’s timer begins counting.

v)  Once the window capacity is reached, sender must wait for the acknowledgement &
it cannot send the next data frame at this time.

b)     Selective-Reject ARQ

i)   Only the specific damaged or lost frame is retransmitted

ii)  If a frame is damaged, NAK is returned & the damaged frame will be retransmitted out
of sequence because the      receiver does not stop receiving data frame as in Go-Back-n ARQ. However, the receiver must be able to sort the frames it has & insert the retransmitted frame into its proper place in the sequence.

iii) The receiver must be able to store frames received after a NAK has been sent until the damaged frame has been replaced.

iv) The sender must be able to search the requested frame for transmission.

v)  ACK/NAK is numbered according to the frame received or lost respectively.

vi)  It treats lost frame that is last of the transmission like a lost acknowledgement.

vii) The sender stops sending when the window size limit is reached & waits for an acknowledgement & begin its timer operation. If no acknowledgement is received within the allotted time, the sender retransmits all of the frames that remain unacknowledged.