Computer Networks Prof.
Hema A Murthy
Sliding Window Protocol
• Sliding window protocol:
• Stop & Wait: inefficient if a is large.
• Data: - stream of bulk data
• - data can be pipelined
• - transmit window of date
• - donot worry about getting ack
immediately
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Sliding Window Protocol
• What should be the size of pipeline?
• How do we handle errors:
– Sender and receiver maintain – buffer space
– Receiver window = 1,
– Sender window = n
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Timing Diagram: Go back-N
Timeout
S 1 2 3 4 5 3 4 5
E D E
R
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Go-Back N
• Discard if correct frame not received
• Use same circuit for both directions
– Intermix data frames from both S Æ R with ack frames
from RÆ S
• Use kind field in header:
– decide whether data or ack
– piggy back ack on outgoing frame for RÆ S
– Ack field in frame
– If frame not available for piggybacking Æ Timeout
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Sliding Window Protocol
• Outbound frame sequence number
• Range - 0 – 2n-1
• n bit field
• Stop & Wait is Sliding window with n = 1
• Sender – maintain sequence number of frames it
is permitted to send
– sending window
• Receiver – maintain sequence number of frames
it is expected to accept
– Receiver window
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Sliding Window Protocol –
An example (Tanenbaum)
Example: SWP: sequence number: Sender 0 - 7
seqno – 3 bit
Sender
7 0 7 0
6 1 6 1
2 2
5 5
4 3 4 3
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Receiver
7 0 7 0
6 1 6 1
2 2
5 5
Sender 4 3 4 3
7 0 7 0
6 1 6 1
2 2
5 5
4 3 4 3
Receiver
7 0 7 0
6 1 6 1
2 2
5 5
4
Indian Institute of Technology Madras 3 4 3
Computer Networks Prof. Hema A Murthy
SWP -- Example
• Larger Sender Window Size
7 0
6 1
2
5
4 3
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Different Window Sizes:
Receiver, Sender (Peterson et al.)
If Sender Window is n
How large can the Receiver Window be?
LAR LFS
Sender window size
Last Acked Frame Last Frame Sent
Number of unacked frames
LFS – LAR ≤ SWS
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Receive Window Size (RWS)
• number of out order frames receiver is
willing accept
– LAF – Last acceptable frame (sequence
number)
≤
– LFR – Last frame received
≤ – LAF – LFR RWS
– When SeqNumber frame arrives:
– If SeqNumber LFR or Sequence Number ≤
> LAF – discard
– If LFR < Sequence Number LAF – accept
frame.
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Example: Larger RWS
• Example: LFS = 5, RWS = 4, LAF = 9
• If frame 7 & 8 arrive
– buffered
– but ack not sent since 6 not arrived.
– 7 & 8 out of order.
• If frame 6 delayed –
– Retransmitted, received later
• - Notice no NAK for 6.
• primarily timeout on 6 – retransmit 6.
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
SWP – Go back-N – a variation
• largest Sequence Number not yet acked.
• receiver only acks SequenceNumberAck
even if higher numbered frames are
received.
• set LFR = SequenceNumberToAck
• LAF = LFR + RWS
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy
Selective Repeat Protocol
• Variation SWP:
– selective ack for frame
– sender knows what to send
– problem – complicated
– can RWS > SWS ?
Indian Institute of Technology Madras