- Sender transmits data frame
with Send seq no = 4
- Sender sets a
timeout for
frame
|
- Receiver receives the
data frame with
matching Frame#:
- Receiver transmits a
ACK frame
-
Receiver
increments
R = 5 !!!
- Receiver delivers the data frame
|
But the
ACK frame is
delayed
- The sender will
time out:
- Sender will
retransmit
the frame #4
|
- The sender receives
the delayed ACK:
-
Sender increments
Frame# = 5 !!!
|
- The sender now
transmits a new frame with
send seq no = 5
- Sender sets a
timeout for
frame
|
This new data frame
is lost !!!
- In the mean time, the
re-transmission of
frame #4 is
received at the
receiver
The receiver
finds
send seq no ≠ 5
and
detects (correctly) that it is an
old frame:
-
Receiver transmits a
ACK frame
-
Receiver
discards
the data frame
(duplicate !!!)
|
- The sender receives
the ACK frame:
Error !!!
|