Do you think IIT Guwahati certified course can help you in your career?
No
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.
The protocols involved in flow control are shown below:
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 inGo-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.
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.
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.
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.
Now, the current window size is 4. So, the receiver acknowledges frame number 1.
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.
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.
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
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.