Automatic Repeat reQuest
• Automatic Repeat reQuest (ARQ)
• A Protocol to control error on unreliable data transmission lines
• Uses timeouts & ACKs (or NAKs) for each data packet
• In case timeout expires before sender receives an ACK from the receiver, sender resends the packet
• Receiver will not send an ACK if – Data packet is lost in transmission
– An error in the packet is detected
• Three Types of ARQ
ACKs are messages sent by a receiver to acknowledge that it has correctly received a data packet. Negative ACKs or NAKs are their counterpart.
When Data is to be transmitted it is broken down into like data structures also called data packets. They are reassembled at destination.
CRC stands for cyclic redundancy code and is an error-detecting code attached here with both the packet and the ACK
The header is required as a sequence number. When an ACK is transmitted, it tells the sender to which data packet is next in sequencePacket
SequenceInformation frames
Control frames
Error-free Packet Sequence
CRC
Information packet
Header CRCHeader
Transmitter Receiver
0 11
Stop-And-Wait ARQ
• In this method the transmitter and receiver work on delivering one frame at a time through an alteration of actions.
Here B receives error free F4, but its ACK is lost in transmission. After timeout, A resends F4, B recognizes it has received a double, deletes one and resends the ACK for F4
F0 process was successful. F1 is sent. There is an error so B sends no ACK. After Timeout, A resends F1. This time ACK is received so A sends F2.
TimeA
B
F0
ACK1
F1 F1 F2
ACK2 ACK3
TimeA
B
F3
ACK4
F4 F4 F5
ACK5 ACK6ACK5
Timeout
Timeout
error
Go-Back-N ARQ
• Here, the transmitter continues sending frames unlike ‘stopping and waiting’ for the ACK to arrive and then proceed. Thus the transmission line is kept busy and more data is transferred if line remains reliable
• Called a sliding window protocol as with each arriving error free frame the receive window slides forward.
When the number of outstanding frames crosses N (Here N=3) the sender is forced to ‘go back N’ frames. Thus here it will retransmit frames from F2 onwards.
A sends F0. Without waiting for an ACK, it sends F1 and then F2. F2 encounters an error. B sends no ACK and then continues to ignore later frames
TimeA
B
F0A
CK
1F1 F2 F3 F4 F2 F3 F4 F5A
CK
2
AC
K3
AC
K4
Three Frames Outstanding;Go Back 3
Out-of-sequence frames
error
Compare and Contrast
Stop-and-Wait ARQ
• Error causes loss of transmission time equal to timeout period.
• Utilization and thus transfer speed is low even with no error as sender waits for ACK before sending new F.
Go-Back-N ARQ
• Error causes loss in transmission time equal to N frames.
• When no error occurs, utilization is nearly 100%. Transfer speeds are thus high on relatively reliable connections.
Selective Repeat ARQ
• Unlike Go-Back-N, here a NAK is sent by the receiver if sees a skipped frame due to error. Subsequent frames are not ignored and the sender selectively repeats transmission of only the frame that encountered error.
B continues to receive subsequent frames but it sends an ACK for 2 until F2 arrives. It then sends an ACK for the next frame. Here it is for F6.
A sends F0. Without waiting for an ACK, it sends F1 and then F2. F2 encounters an error. B sends a NAK for F2 when it receives F3. F3 is saved at B
TimeA
B
F0A
CK
1F1 F2 F2 F6 F7A
CK
2
AC
K6
error
F3 F4 F5
AC
K2
NA
K2
AC
K2
Compare and Contrast
Go-Back-N ARQ
• Error causes loss in transmission time equal to N frames.
• When no error occurs, utilization is nearly 100%. Transfer speeds are thus high on relatively reliable connections.
Selective Repeat ARQ
• Error causes loss in transmission time equal to the time taken to begin transmitting a frame.
• When no error occurs, utilization is nearly 100%. Transfer speeds are thus high.
Automatic Repeat reQuest
Advantages
• Provides a high throughput in good signal conditions.
• Asking the sender to tosend packets again instead of correcting them results in high data reliability.
Disadvantages
• Requires a reverse channel for transmission of ACKs/NAKs
• Poor signal conditions result in low transfer speeds as errors will cause delay variations due to retransmitted data.
Top Related