Selective Repeat - Sliding Window Protocol

Last Updated : 30 Dec, 2025

The Selective Repeat Protocol (SRP) is a reliable data transmission technique that enhances protocols like Go-Back-N by retransmitting only those packets that are lost or corrupted, rather than resending all subsequent packets after an error. This selective retransmission reduces unnecessary overhead and improves efficiency, especially on unreliable or noisy communication links.

  • Window Size: The sender’s window (Ws) and the receiver’s window (Wr) are of equal size. This keeps transmission and reception synchronised.
  • Packet Handling: The receiver can accept packets that arrive out of order. Correct packets are buffered until missing ones are retransmitted.
  • Retransmission Mechanism: The sender retransmits only the packets that are not acknowledged. Retransmission occurs after a timeout or on receiving a Negative Acknowledgement (NAK).
  • Efficiency: Selective retransmission reduces unnecessary packet resending. This improves bandwidth utilisation on unreliable links.
  • Efficiency Formula: The efficiency of SRP is given by

η = N / 1+2a

​where N is the window size and a=Tp/Tt

Why Window Size is Important

Selective Repeat Protocol (SRP): the sender and receiver window size must be less than or equal to 2m-1, which is half of the available sequence number space. If the window size exceeds this limit, sequence numbers may wrap around before earlier packets are acknowledged. As a result, the receiver may be unable to distinguish between new packets and old retransmitted packets. This ambiguity can cause incorrect packet acceptance and lead to transmission errors.

Selective-Repeat-Sliding-Window-Protocol
Sender only retransmits frames, for which a NAK is received

The efficiency of the Selective Repeat Protocol (SRP) is the same as that of the Go-Back-N protocol. It is defined as the ratio of the data transmission time to the total time taken for successful transmission and acknowledgment. The efficiency is given by:

η = Tt(data) / Tt(data) + 2Tp + Tq + Tpro + Tt(ack)

where,

  • Tt(data) = transmission delay of the data packet.
  • Tp = propagation delay.
  • Tq = queuing delay.
  • Tpro = processing delay.
  • Tt(ack) = transmission delay of the acknowledgment packet.

Buffers and Sequence Numbers

Buffers Required:

  • In Selective Repeat Protocol, buffering is needed at both ends.
  • The sender requires N buffers, and the receiver also requires N buffers. Hence, the total buffers required are 2N.

Sequence Numbers:

  • To uniquely identify frames and avoid ambiguity, sequence numbers are required at both the sender and receiver.
  • The total number of sequence numbers needed is 2N.

Efficiency Relation:

  • The efficiency of Selective Repeat Protocol is the same as that of Go-Back-N.
    It is given by:

η = N / 1+2a

where, a = Tp/Tt

Tp is the propagation delay and Tt​ is the transmission delay.

Comment

Explore