Key differences between Go-Back-N Protocol and Selective Repeat Protocol

Go-Back-N Protocol

The Go-Back-N Protocol, a fundamental data link layer protocol used in computer networks, is part of the Automatic Repeat Request (ARQ) family of protocols, which are designed to ensure reliable data transmission over potentially unreliable communication links. This protocol employs a sliding window method, enabling multiple frames to be sent by a sender before waiting for an acknowledgment (ACK) from the receiver, thereby increasing network efficiency and throughput.

In Go-Back-N, the “N” refers to the window size, which is the number of frames that can be sent without requiring immediate acknowledgment. The sender maintains a window of frames that have been transmitted but not yet acknowledged. When an ACK is received, the window slides forward, allowing additional frames to be sent. However, if a frame is lost or an error is detected (often identified by a timeout or an out-of-order ACK), the protocol mandates that all frames starting from the erroneous one be retransmitted, hence the name “Go-Back-N.”

This retransmission strategy can lead to the retransmission of correctly received frames, which is less efficient than more selective retransmission strategies. Nevertheless, the simplicity of Go-Back-N makes it attractive for certain applications. The receiver’s role is generally straightforward, only needing to keep track of the next expected frame and discard any out-of-order frames, while sending ACKs for correctly received frames.

Go-Back-N is particularly effective in environments where the error rate is low, as the likelihood of frequent retransmissions is reduced. It’s a key protocol in understanding the development and operation of data transmission techniques in computer networks, illustrating a balance between efficiency and reliability.


  • Frame Transmission:

The sender can transmit multiple frames (up to N, where N is the window size) without waiting for acknowledgments for each one.

  • Acknowledgment Handling:

The receiver sends an acknowledgment (ACK) for a correctly received frame. This ACK indicates the next expected frame, allowing the sender to infer which frames have been successfully received.

  • Window Management:

The sender maintains a ‘window’ of frames that are sent but not yet acknowledged. This window slides forward as ACKs are received, allowing new frames to be sent.

  • Error Detection:

Both the sender and receiver are responsible for detecting errors in transmission. This is typically achieved through mechanisms like checksums or CRC (Cyclic Redundancy Check).

  • Retransmission:

If a frame is not acknowledged within a certain timeframe or an error is detected, the sender goes back and retransmits all frames starting from the unacknowledged frame.


  1. Sender and Receiver:

The two ends of the communication, where the sender transmits the data frames and the receiver acknowledges them.

  1. Data Frames:

The packets of information being transmitted over the network.

  1. Acknowledgment Frames (ACKs):

Frames sent by the receiver to acknowledge the successful receipt of data frames.

  1. Timer:

Used by the sender to track the time since each frame was sent. If an acknowledgment is not received within a specified timeframe, it triggers retransmission.

  1. Window Size (N):

The number of frames that can be sent before receiving an acknowledgment. It defines the size of the sender’s window.

  1. Sequence Numbers:

Each frame is assigned a sequence number for identification. These numbers are essential for keeping track of which frames have been acknowledged.

  1. Buffers:

Temporary storage at both the sender and receiver to hold frames either awaiting transmission, acknowledgment, or processing.


  • Increased Efficiency:

By allowing multiple frames to be sent before receiving acknowledgments, it improves the utilization of network resources compared to simpler stop-and-wait protocols.

  • Simplified Receiver Logic:

The receiver does not need to maintain a complex buffer management system. It simply discards out-of-order frames and sends cumulative acknowledgments.

  • Good for Low Error Rate Networks:

In environments where errors are infrequent, Go-Back-N performs well as the likelihood of having to retransmit many frames is low.

  • Simple Implementation:

The sender’s and receiver’s logic in Go-Back-N are simpler and less expensive to implement compared to more sophisticated protocols like Selective Repeat.

  • Flow Control:

The window size provides a basic mechanism for flow control, preventing the sender from overwhelming the receiver.


  • Inefficient Bandwidth Utilization in High Error Conditions:

If errors are frequent, the protocol becomes inefficient as the sender may need to retransmit a large number of frames due to a single error.

  • Increased Latency for Retransmission:

When a frame is lost, all subsequent frames in the window must also be retransmitted, which can introduce significant delays.

  • Potential for Receiver Buffer Overrun:

Since the receiver cannot accept out-of-order frames, a high volume of incoming frames might lead to dropped packets if the receiver’s buffer is limited.

  • Wasteful of Bandwidth:

Retransmitting a potentially large number of frames that the receiver may have already received correctly can be seen as a wasteful use of bandwidth.

  • Limited Window Size:

The protocol’s efficiency is capped by the size of the window, which is constrained by the size of the sequence number field.

  • No Individual Acknowledgment for Frames:

Only cumulative acknowledgments are used, which can lead to unnecessary retransmissions.

  • Susceptible to Duplicate Frame Problem:

If an ACK is lost and the sender retransmits frames, the receiver might receive duplicate frames.

Selective Repeat Protocol

The Selective Repeat Protocol, part of the Automatic Repeat Request (ARQ) family, is a sophisticated method used in computer networking for reliable data transmission. Unlike simpler ARQ protocols, Selective Repeat is designed to maximize efficiency in environments where the probability of errors during transmission is not negligible.

In Selective Repeat, both sender and receiver maintain a window of frames. The sender’s window contains the frames it is allowed to send, while the receiver’s window contains the frames it is ready to accept. The key feature of this protocol is its ability to acknowledge received frames individually, which allows for selective retransmission. That is, only the frames that are detected as lost or corrupted are retransmitted, rather than the entire window of frames as in Go-Back-N.

Each frame is tagged with a sequence number, and the receiver sends an individual acknowledgment for each correctly received frame. If a frame is lost or corrupted, the receiver simply does not acknowledge it, and after a timeout period, the sender only retransmits that specific frame. This reduces the unnecessary retransmission of correctly received frames, thereby making more efficient use of bandwidth.

Selective Repeat is particularly advantageous on links with higher error rates or in high-latency networks where retransmitting large quantities of data would lead to significant delays. However, it requires more complex logic and buffer management at both the sender and receiver, as each must handle frames arriving out of order and maintain larger buffers to do so effectively.                            


  • Selective Retransmission:

Unlike simpler protocols that retransmit all frames after a lost frame, Selective Repeat only retransmits the specific frame that was lost or corrupted.

  • Individual Frame Acknowledgment:

Each frame is acknowledged individually by the receiver. If an acknowledgment is not received within a specified time, only that frame is retransmitted.

  • Out-of-Order Frame Acceptance:

The receiver is capable of accepting and buffering frames that arrive out of order, which is not possible in simpler protocols like Go-Back-N.

  • Window-Based Transmission:

Both the sender and receiver use a window mechanism. The sender’s window contains frames that it is permitted to send, and the receiver’s window represents frames it is ready to accept.

  • Error Detection:

Errors in frames are detected using mechanisms like checksums or CRC (Cyclic Redundancy Check).


  • Sender and Receiver:

Fundamental entities in the communication process. The sender transmits data frames, and the receiver acknowledges them.

  • Data Frames:

Packets of data transmitted over the network, each identified by a unique sequence number.

  • Acknowledgment Frames (ACKs):

Sent by the receiver to indicate successful receipt of individual frames.

  • Timer for Each Frame:

In Selective Repeat, each frame has its own timer to track how long it has been since it was sent. If the timer expires (indicating no ACK was received), that specific frame is retransmitted.

  • Window Size:

Defines the number of frames that can be sent or received out of order. This size is typically limited by the size of the sequence number field.

  • Sequence Numbers:

Used to uniquely identify each frame within the sender’s and receiver’s window.

  • Buffers:

The receiver must maintain sufficient buffer space to store out-of-order frames until any missing frames are received and the entire sequence can be processed in order.


  • Efficient Bandwidth Utilization:

By only retransmitting the frames that were actually lost or corrupted, it uses available bandwidth more efficiently compared to protocols like Go-Back-N.

  • Faster Error Recovery:

The ability to retransmit only the erroneous frames reduces the time to recover from errors, leading to faster overall data transmission.

  • Handles High Error Rates Well:

In environments with higher error rates, Selective Repeat remains efficient as it avoids the needless retransmission of correctly received frames.

  • Supports Out-of-Order Delivery:

The receiver can accept and buffer frames that arrive out of order, which can be particularly useful in networks where packet ordering varies significantly.

  • Improved Throughput:

Due to selective acknowledgments and retransmissions, the throughput of Selective Repeat is generally higher than simpler ARQ protocols.


  • Complex Implementation:

Managing individual acknowledgments and multiple timers for each frame makes the implementation more complex than other protocols like Go-Back-N.

  • Increased Buffer Requirements:

Both sender and receiver need to maintain larger buffers to store the window of frames, which can be a challenge in terms of memory and management.

  • Potential for Buffer Overflow:

In high-latency or high-throughput environments, the receiver’s buffer may become overwhelmed, leading to dropped frames.

  • Sequence Number Limitations:

The efficiency of the protocol is constrained by the size of the sequence number field, as it limits the window size.

  • Requires Sophisticated Error Detection:

Effective operation of Selective Repeat depends on reliable error detection mechanisms to identify lost or corrupted frames accurately.

  • Possibility of Duplicate Frames:

If an ACK is lost and a frame is retransmitted, the receiver might receive duplicate frames, which it needs to handle appropriately.

Key differences between Go-Back-N Protocol and Selective Repeat Protocol

Basis of Comparison Go-Back-N Protocol Selective Repeat Protocol
Retransmission Strategy Retransmits all frames after error Retransmits only erroneous frames
Acknowledgment Type Cumulative acknowledgments Individual frame acknowledgments
Receiver Complexity Simple, discards out-of-order frames Complex, buffers out-of-order frames
Bandwidth Utilization Less efficient with errors More efficient, selective retransmit
Error Recovery Slower, retransmits multiple frames Faster, retransmits single frame
Buffer Requirements at Receiver Minimal Higher, needs buffering
Handling Out-of-Order Frames Not supported Supported and buffered
Implementation Complexity Simpler More complex
Throughput in High Error Rates Lower Higher
Window Mechanism Sender’s window only Both sender’s and receiver’s windows
Frame Processing at Receiver Sequential only Can process out-of-order frames
Timer Management Single timer for all frames Individual timers for each frame
Risk of Receiver Buffer Overflow Lower Higher
Sensitivity to Lost ACKs More sensitive, resends many frames Less sensitive, resends single frame
Sequence Number Utilization Less efficient More efficient

Key Similarities between GoBackN Protocol and Selective Repeat Protocol

  • Purpose of Reliable Data Transfer:

Both protocols are designed to ensure reliable transmission of data over networks where packets may be lost or corrupted. They achieve this by incorporating mechanisms for error detection and retransmission.

  • Use of ARQ Mechanism:

They belong to the ARQ family of protocols, which are characterized by the use of acknowledgments (ACKs) and retransmissions to guarantee the delivery of data.

  • Frame Sequencing:

Both protocols employ sequence numbers for frames to track the order of packets and manage the transmission and acknowledgment processes.

  • Error Detection:

They incorporate error detection techniques (such as checksums or CRC) to identify corrupt or erroneous frames that need to be retransmitted.

  • Sliding Window Concept:

Go-Back-N and Selective Repeat use a sliding window mechanism, which controls the flow of frames and limits the number of unacknowledged frames in the network.

  • Timeout and Retransmission:

In both protocols, if an acknowledgment for a frame is not received within a certain timeframe, a timeout occurs, triggering retransmission of frames.

  • Full-Duplex Operation:

They are typically used in full-duplex environments, where data can be sent and received simultaneously.

  • Acknowledgment Frames:

Both use acknowledgment frames (ACKs) to inform the sender about the successful receipt of frames.

  • Protocol Layers:

These protocols operate at the Transport Layer of the OSI model, providing end-to-end communication services.

  • Use in TCP/IP Model:

Go-Back-N and Selective Repeat are often discussed in the context of the TCP/IP model, particularly in relation to the Transmission Control Protocol (TCP), which employs similar reliable transmission mechanisms.

Leave a Reply

error: Content is protected !!