316 9 Modeling Error Control Protocols
9.4 Selective-Repeat (SR ARQ) Protocol
The selective-repeat protocol is a general strategy for handling frame transmis-
sion errors when the round-trip time for frame transmission and reception of the
acknowledgment is comparable to frame transmission time. SR ARQ is used by
the TCP transport protocol. In this protocol, the transmitter groups the frames into
windows so that each window contains N frames. When the sender sends frames
within a window, the receiver stores the frames of the current window and checks
for errors. After a complete window has been received, or after the proper timeout
period, the receiver instructs the transmitter to resend only the frames that contained
errors. That results in a more efficient protocol compared to GBN ARQ that resends
frames in error as well as error-free frames.
Figure 9.5 shows an example of transmitting several frames using selective-
repeat protocol where the buffer size is N = 3. Solid arrows indicate ACK signals
and grey arrows indicate NAK signals. Frame 1 was correctly received while frame
2 was received in error. We see that the transmitter starts to send frame 2 as soon as
the corresponding NAK is received. Frame 4 was also received in error, and we can
see that it is retransmitted as soon as its NAK signal was received.
9.4.1 Modeling the SR ARQ Protocol
In this section, we perform Markov chain analysis of the SR ARQ protocol. We
make the following assumptions for our analysis of the selective-repeat protocol.
1. Each window contains N frames.
2. The average length of a frame is n bits.
3. The forward channel has random noise and the probability that a bit will be
received in error is . Another name for is bit error rate (BER).
4. The feedback channel is assumed noise-free so that acknowledgment signals
from the receiving station will always be transmitted to the sending station.
5. The maximum number of retransmissions is k
m
after which, the sender will de-
clare the channel to be not functioning.
Fig. 9.5 Selective-repeat
ARQ protocol with buffer
size N = 3. Solid arrows
indicate ACK signals and
grey arrows indicate NAK
signals
...
1 2
Window Size
Receiver
Transmitter
Channel
Time
3 4 2 5 4 6 8
7
Error Error