What is the Difference Between Go-Back-N and Selective Repeat Protocol

In the world of computer networks, protocols are the set of rules that govern how data is transmitted over the network. Two commonly used protocols for error control in data transmission are Go-Back-N and Selective Repeat (SR) protocols. While both protocols are designed to enhance data transmission, they differ in several ways. This article covers the differences between these protocols.

Understanding the Go-Back-N Protocol

The Go-Back-N protocol is a form of automatic repeat request (ARQ) that controls the errors that occur during the transmission of data. This protocol enables the sender to transmit numerous packets without pausing for a response or acknowledgment from the receiver end. The receiver only sends an acknowledgment for the last packet received in the correct order. During transmission, if a certain data packet is lost, the receiver will discard all packets received after it and ask the sender to resend all packets beginning from the lost one.

This protocol involves the sender transmitting multiple packets simultaneously, without requiring an acknowledgment from the receiver after each packet. The receiver, on the other hand, acknowledges receipt of the packets by sending a single acknowledgment for all the packets received. In case the sender does not receive an acknowledgment within a designated time frame, it assumes that all packets have been lost and initiates the process of resending them all from the start.

The advantages of the Go-Back-N protocol include its simplicity, low overhead, and suitability for use in noisy channels. However, it is not efficient in networks with high error rates or in situations where only a few packets are lost. Additionally, if the size of the window is too large, it can lead to a lot of unnecessary retransmissions.

Understanding the Selective Repeat Protocol

The Selective Repeat protocol is another form of ARQ used for error control in data transmission. In this protocol, the receiver acknowledges the receipt of every packet individually, instead of just the last packet received in the correct order. If a packet is lost, the receiver requests only the lost packet to be retransmitted, and the transmission of other packets continues.

This protocol allows the sender to transmit multiple packets simultaneously, without waiting for an acknowledgment from the receiver after each packet. However, unlike the Go-Back-N protocol, the receiver acknowledges receipt of each packet by sending an acknowledgment message for each packet received. If a data packet is lost during its transmission, the receiver requests the sender to resend only the missing packet(s).

The advantages of the Selective Repeat protocol include its ability to handle a larger number of packets and its efficient use of network bandwidth. However, it requires more complex processing at both the transmitter and the receiver, leading to higher overheads. It is also not as suitable for use on noisy channels.

Comparison of Go-Back-N and Selective Repeat Protocols

Although there are some similarities between the two protocols, they also have notable differences that set them apart. Both protocols use ARQ for error control, but the Go-Back-N protocol is more suitable for use in networks with low error rates and a small number of packets. The Selective Repeat protocol is better suited for handling many packets and in situations where the network has high error rates.

Additionally, the Go-Back-N protocol has a simpler design, lower overhead, and is easier to implement, making it a popular choice in many applications. The Selective Repeat protocol, on the other hand, is more complex and requires more processing, leading to higher overheads.

For example, if the network has a high error rate or many packets, the Selective Repeat protocol may be a better choice. On the other hand, if the network has a low error rate or a small number of packets, the Go-Back-N protocol may be sufficient.

Here’s a difference table between the Go-Back-N (GBN) protocol and the Selective Repeat (SR) protocol:

Feature Go-Back-N Protocol Selective Repeat Protocol
Window size Fixed window size Variable window size
Packet transmission Continuous transmission of packets Selective retransmission of lost packets
Receiver buffer Single buffer for received packets Individual buffer for each packet in the window
Acknowledgement Cumulative acknowledgement of packets Individual acknowledgement of each packet
Retransmission Entire window is retransmitted Only the lost packet is retransmitted
Efficiency Lower efficiency due to retransmission of correct packets Higher efficiency due to selective retransmission
Complexity Simpler to implement More complex to implement
Error recovery Limited error recovery Improved error recovery


Both the Go-Back-N and Selective Repeat are used for data transmission in computer networking. However, they differ in how they handle lost or damaged packets and how they acknowledge received packets. Understanding the differences between these protocols is crucial for network engineers and administrators in optimizing data transmission and ensuring network efficiency.

About the author


I am an Electrical Engineer. I love to write about electronics. I am passionate about writing and sharing new ideas related to emerging technologies in the field of electronics.