Table of contents
1.
Introduction 
2.
What is Selective Repeat ARQ?
3.
Working of Selective Repeat ARQ
4.
Techniques to Control ARQ
5.
Requirements for Error Control
6.
Advantages of Selective Repeat Protocol
7.
Disadvantages of Selective Repeat Protocol
8.
Frequently Asked Questions
8.1.
What is the Selective Repeat ARQ Protocol?
8.2.
What are ARQ Protocols?
8.3.
What is the Minimum Window Size Required for Selective Repeat ARQ Protocol?
9.
Conclusion
Last Updated: Feb 25, 2025
Medium

Selective Repeat ARQ Protocol

Author Sandeep Kamila
4 upvotes
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction 

Selective Repeat Automatic Repeat reQuest (ARQ) protocol is a crucial component in data communication and networking. It plays a pivotal role in ensuring reliable and efficient data transmission across networks, particularly in scenarios where errors and packet loss are common occurrences. Selective Repeat ARQ represents an advancement over simpler ARQ protocols, offering enhanced reliability and performance by selectively retransmitting only the lost or damaged packets.

Selective Repeat ARQ

The protocols involved in flow control are shown below:

flow control

In this article, we will discuss the Selective Repeat ARQ protocol. In Selective Repeat ARQ, the sender sends several frames specified by a window size without waiting for individual acknowledgement from the receiver, as in the Go-Back-N ARQ protocol.

What is Selective Repeat ARQ?

Selective repeat protocol, also known as Selective Repeat Automatic Repeat Request (ARQ), is a data link layer protocol that uses the sliding window technique for reliable data frame delivery. Only erroneous or lost frames are retransmitted in this case, while good frames are received and buffered.

Selective Repeat ARQ is used in the data link layer for error detection and control. The sender sends several frames specified by a window size in the selective repeat without waiting for individual acknowledgement from the receiver, as in Go-Back-N ARQ

Working of Selective Repeat ARQ

  • In Selective Repeat ARQ, only the erroneous or lost frames are retransmitted, while correct frames are received and buffered.
     
  • While keeping track of sequence numbers, the receiver buffers the frames in memory and sends NACK (negative acknowledgement) for only the missing or damaged frame.
     
  • The sender will send/retransmit the packet for which NACK (negative acknowledgement) is received.
     

Now, let's take an example to understand the above points:

Suppose there is a sender and a receiver. There are 11 frames to be sent, and the frames are numbered as 0,1,2,3,4,5,6,7,8,9,10. The size of the window N decides the sequence number of the frames. For better understanding, we have taken the running numbers.

Let's take the sender's window size to be 4, which means the sender can send four frames before expecting any acknowledgement from the first frame, which is 0.

 

iilustration image

     

The sender sends the first frame, which is 0. Now, only frame 0 will be there in the current window. The sender will send the next frames in the buffer (1, 2, 3) because the sender can send four frames without expecting acknowledgment from the receiver.

iilustration image

 

The sender is expected to receive an acknowledgement from the receiver. Let's assume the sender received an acknowledgement for frame 0 from the receiver.

 

iilustration image

 

Frame 0 is sent and acknowledged. The current window size is 3; the sender will send the next frame from the buffer, which is 4, and the window slides.

iilustration image

 

Now, the current window size is 4. So, the receiver acknowledges frame number 1.

 

iilustration image

 

The window slides and the sender will send the next frame in the buffer, which is 5, and the window slides. Let's assume that the sender is not acknowledging frame number 2 because either the frame is lost or the acknowledgement is lost.

 

iilustration image

 

In this case, the sender will not send frames 4 and 5 again, and it knows that frame 2 is missing because the receiver would have sent a negative acknowledgement (NACK) for frame 2. So, the sender will retransmit frame 2 alone and as usual other frames are transmitted.

iilustration image


You can also read about the network models in computer network.

Techniques to Control ARQ

There are several techniques to control ARQ:

  • Selective Repeat: In this technique, the receiver individually acknowledges each correctly received packet, while requesting retransmission of only the lost or corrupted ones. The sender stores and retransmits only the specific packets requested by the receiver, leading to efficient bandwidth utilization
     
  • Go-Back-N: This technique allows the sender to transmit multiple packets before requiring an acknowledgment. However, if an acknowledgment is not received within a specified time, the sender retransmits all unacknowledged packets from the last correctly received acknowledgment. This technique is suitable for scenarios with low error rates
     
  • Automatic Repeat Request: This technique, in its basic form, is a simple error control technique where the receiver sends positive acknowledgments for correctly received packets and negative acknowledgments (NACKs) for missing or corrupted packets. The sender retransmits packets upon receiving a NACK
     
  • Hybrid ARQ: This technique combines the principles of ARQ and forward error correction (FEC). It allows the receiver to use previously received packets to recover from errors without requesting retransmissions. If recovery is not possible, it can request specific packets using ARQ

Requirements for Error Control

There are various requirements for error control:

  • Reliability: Ensure error control detects and corrects transmission errors to guarantee data integrity
     
  • Efficiency: Minimize overhead for error detection and correction, especially in resource-constrained networks
     
  • Scalability: Adapt to varying network sizes, configurations, and changing conditions
     
  • Error Detection/Correction: Use effective codes like checksums, CRC, and FEC to identify and correct errors
     
  • Adaptability: Adjust parameters based on current network conditions, e.g., retransmissions or redundancy
     
  • Minimal Impact: Introduce minimal delay and overhead, avoiding significant performance degradation
     
  • Security: Detect and handle malicious tampering or data corruption
     
  • Compatibility: Seamlessly integrate with existing network infrastructure and protocols

Advantages of Selective Repeat Protocol

There are many Advantages of the Selective Repeat Protocol. Some of them are :

  • Efficient Data Transmission: Selective Repeat protocol only retransmits the lost or damaged data frames, saving bandwidth and improving efficiency.
     
  • Minimized Congestion: The protocol reduces network congestion by retransmitting only necessary frames, leading to smoother data flow.
     
  • Faster Recovery: Selective Repeat allows individual damaged or lost frames to be retransmitted, enabling quicker recovery than stopping the entire transmission.
     
  • Optimized Network Utilization: It utilizes available network resources more effectively by not unnecessarily resending all frames.
     
  • Improved Reliability: The protocol enhances data reliability by correcting specific errors, ensuring accurate data delivery.
     
  • Supports High Error Rates: Selective Repeat can handle environments with high error rates, as it targets only problematic frames.
     
  • Adaptive: The protocol adjusts to varying network conditions, adapting its retransmission strategy based on the actual situation.
     
  • Higher Throughput: Due to its targeted retransmission, the protocol maintains a higher throughput than other strategies like Go-Back-N.
     
  • Minimal Latency: It reduces latency by selectively resending only required frames instead of waiting for a larger window of frames to be acknowledged.
     
  • Efficient for Large Windows: Particularly useful in scenarios where larger window sizes are needed, as it avoids unnecessary retransmissions of correct frames.

Disadvantages of Selective Repeat Protocol

some of the Disadvantages of the Selective Repeat Protocol are : 

  • Increased Complexity: Selective Repeat Protocol adds complexity to both the sender and receiver sides, requiring additional logic and mechanisms to manage individual acknowledgements and retransmissions.
     
  • Higher Overhead: Maintaining a sliding window for each unacknowledged packet increases overhead, consuming more memory and processing resources.
     
  • Out-of-Order Delivery: Selective Repeat can result in out-of-order delivery of packets at the receiver due to potential variations in transmission times and acknowledgements, requiring additional effort to reorder received packets correctly.
     
  • Retransmission Overhead: In cases of packet loss, Selective Repeat may trigger unnecessary retransmissions of individual lost packets, leading to redundant data transmission.
     
  • Increased Delay: The protocol's complexity can introduce delays in processing acknowledgements and handling retransmissions, potentially affecting real-time applications.
     
  • Synchronization Dependency: The protocol relies on synchronized timers and acknowledgements, making it susceptible to disruptions in synchronization that could lead to inefficient retransmission.


Despite these disadvantages, Selective Repeat can still be effective in reliable data transmission scenarios where packet loss is infrequent and efficient bandwidth utilization is crucial.

Frequently Asked Questions

What is the Selective Repeat ARQ Protocol?

Selective Repeat ARQ retransmits only the erroneous or lost frames, using individual acknowledgments and a sliding window for efficient error control in data transmission.

What are ARQ Protocols?

Automatic Repeat reQuest (ARQ) protocols ensure reliable data transmission by detecting errors and retransmitting lost or corrupted frames, including Stop-and-Wait, Go-Back-N, and Selective Repeat.

What is the Minimum Window Size Required for Selective Repeat ARQ Protocol?

The minimum sender and receiver window size for Selective Repeat ARQ must be at most (N/2), where N is the total sequence number space.

Conclusion

In this article, we have discussed the Selective repeat ARQ protocol. This protocol stands as a cornerstone in modern data communication and networking. Through its selective retransmission mechanism, Selective Repeat ARQ ensures the reliability and efficiency of data transmission in the face of packet loss and errors. 

Recommended Readings:

Live masterclass