Chapter 11
Sliding Window protocol
10.
Sliding window protocol
Sliding window protocols apply Pipelining :
Go-Back-N ARQ
Selective Repeat ARQ
Sliding window protocols improve the efficiency
multiple frames should be in transition while waiting for ACK. Let more
than one frame to be outstanding.
Outstanding frames: frames sent but not acknowledged
We can send up to W frames and keep a copy of these frames
(outstanding) until the ACKs arrive.
This procedures requires additional feature to be added :sliding window
Sliding window
Sequence Numbers
Sent frames are numbered sequentially
Sequence number is stored in the header of the frame
If the header of the frame allow m bits for the sequence number, the sequence
numbers range from 0 to (2m -1).
The sequence numbers are modulo 2m, where m is the size of the sequence
number field in bits.
If m = 3, sequence number range from 0 to 7 (8 numbers): 0, 1, 2, 3, 4, 5, 6, 7, 0,
1,.....
Sliding window
used to hold the unacknowledged outstanding frames (frames sent but not
acknowledged)
Go_Back _N ARQ
Sender sliding window
The sender window is an abstract concept defining an
imaginary box of size 2m - 1 (sequence numbers −1)
The sender window can slide one or more slots when a valid
acknowledgment arrives.
If m = 3;
sequence
numbers = 8
and window
size =7
Go_Back _N ARQ
Receiver sliding window
The receive window is an abstract concept defining an
imaginary box of size 1 with one single variable Rn.
The window slides when a correct frame has arrived; sliding
occurs one slot at a time.
Go-Back-N ARQ
control variables
Outstanding frames: frames sent
but not acknowledged
S: hold the sequence number of the recently sent frame
SF: holds sequence number of the first frame in the window
SL: holds the sequence number of the last frame
R: sequence number of the frame expected to received
Go-Back-N ARQ
Go-Back-N ARQ
In Go-Back-N ARQ we use one timer for the first outstanding frame
The receiver sends a positive ACK if a frame has arrived safe and in
order.
if a frame is damaged or out of order ,the receiver is silent and will
discard all subsequent frames
When the timer of an unacknowledged frame at the sender site is
expired , the sender goes back and resend all frames , beginning with the
one with expired timer.( that is why the protocol is called Go-Back-N
ARQ)
The receiver doesn't have to acknowledge each frame received . It can
send cumulative Ack for several frame
Go-Back-N ARQ
Example: The sender has sent frame 6 , and timer expires
for frame 3( frame 3 has not been acknowledge); the
sender goes back and resends frames 3, 4,5 and 6
Go-Back-N ARQ
Normal operation
Go-Back-N ARQ
Damage or Lost Frame
Go-Back-N ARQ
Go-Back-N ARQ
Note
Stop-and-Wait ARQ is a special case of
Go-Back-N ARQ in which the size of the
send window is 1
10.
Selective Repeat ARQ
Go-Back-N ARQ is inefficient of a noisy link.
In a noisy link frames have higher probability of damage,
which means the resending of multiple frames.
this resending consumes the bandwidth and slow down the
transmission .
Solution:
Selective Repeat ARQ protocol : resent only the damage
frame
It defines a negative Acknowledgment (NAK) that report the
sequence number of a damaged frame before the timer expires
It is more efficient for noisy link, but the processing at the
receiver is more complex
Selective Repeat ARQ
Selective Repeat ARQ
m=3
Sequences no=2m =8 :
Lost Frame 0,1,2 ,3,4,5,6,7
Window size =2m/2=
8/2=4
Selective Repeat ARQ
• At the receiver site we need to distinguish between the acceptance of a
frame and its delivery to the network layer .
• At the second arrival , frame 2 arrives and is stored and marked , but it
can not be delivered because frame 1 is missing .
• At the next arrival , frame 3 arrives and is marked and stored , but still
none of the frames can be delivered .
• Only at the last arrival , when finally a copy of frame 1 arrives , can
frames 1 , 2 , and 3 be delivered to the network layer.
• There are two conditions for the delivery of frames to the network
layer: First , a set of consecutive frames must have arrived.
• Second, the set starts from the beginning of the window .
Selective Repeat ARQ
• The next point is about the ACKs .
• Notice that only two ACKs are sent here.
• The first one acknowledges only the first frame; the second
one acknowledges three frames.
• In Selective Repeat, ACKs are sent when data are
delivered to the network layer.
• If the data belonging to n frames are delivered in one shot ,
only one ACK is sent for all of them.
Note
In Selective Repeat ARQ, the size of the
sender and receiver window must be at
most one-half of 2m.
10.
Selective Repeat ARQ
m=2