Go-Back-N ARQ (Automatic Repeat reQuest)

Go-Back-N ARQ (Automatic Repeat reQuest) is a fundamental protocol in reliable data transmission, leveraging a sliding window technique to manage packet flow between sender and receiver. In this article, we will focus exclusively on the detailed operation of Go-Back-N ARQ.

How Go-Back-N ARQ Works

Go-Back-N ARQ operates using a window-based transmission mechanism, where multiple packets can be sent sequentially before receiving acknowledgment (ACK) for the first one. However, in case of an error, all packets from the erroneous one onward must be retransmitted.

1. Sliding Window Mechanism

  • The sender maintains a window of size N, which defines the number of unacknowledged packets that can be sent before pausing.
  • Each packet is labeled with a sequence number, allowing the receiver to track the expected order.
  • The receiver only acknowledges packets in sequence; out-of-order packets are discarded.
  • Once an ACK for the first packet in the window is received, the sender slides the window forward and continues sending new packets.

2. Handling Packet Transmission

  1. Initial Transmission
    • The sender transmits multiple packets sequentially up to the window size (e.g., N=4 allows sending packets 1, 2, 3, and 4 before waiting for ACKs).
    • The receiver processes the packets and sends cumulative ACKs.
  2. Acknowledgment (ACK) Mechanism
    • The receiver acknowledges the last correctly received packet.
    • If packets 1, 2, and 3 are received correctly, the receiver sends ACK 3, indicating it is expecting packet 4.
  3. Error and Retransmission Handling
    • If an intermediate packet (e.g., packet 2) is lost or corrupted, the receiver discards all subsequent packets (e.g., packets 3 and 4).
    • The receiver only acknowledges the last correctly received packet (e.g., ACK 1 if packet 2 is lost).
    • The sender, upon detecting a timeout or lack of ACKs for packet 2, retransmits packet 2 and all subsequent packets (3 and 4).

3. Example Scenario

Let’s consider an example where the sender’s window size is 4 (N=4):

  1. The sender transmits packets 1, 2, 3, and 4.
  2. The receiver successfully receives packets 1 and 3 but loses packet 2.
  3. The receiver acknowledges only packet 1 (ACK 1), indicating that packet 2 is expected.
  4. The sender, not receiving ACK 4, retransmits packets 2, 3, and 4.
  5. Once all packets are successfully received, the receiver acknowledges the latest in-sequence packet (e.g., ACK 4).

4. Advantages and Limitations

Advantages:

  • Allows multiple packets to be transmitted before receiving an acknowledgment.
  • Simpler implementation compared to Selective Repeat ARQ.

Limitations:

  • Inefficient in high-error environments due to redundant retransmissions.
  • Bandwidth waste if errors occur frequently.

Go-Back-N ARQ ensures reliable data transmission but at the cost of potential inefficiencies due to its retransmission strategy. Understanding its operation is crucial for optimizing network performance in different environments.

 

Leave a Comment