Acknowledgement schemes used in
reliable communication protocols
There are 2 kinds of
acknowledgement schemes
used in reliability protocols:
Selective acknowledgement:
ACK n
(n =
receive sequence number)
acknowledges:
the (correct) reception of
the data frame with
send sequence
number= n
Cumulative acknowledgement:
ACK n
acknowledges:
the (correct) reception of
all data frames
with
send sequence
number< n
I.e.:
the (correct) reception of
all data frames
with
send sequence
number≤ (n−1)
Example:
Note:
ACK 3 means:
The first of the
new frames
for the receiver has
sequence number #3
Strength/weakness of the cumulative
ACK scheme
Fact:
ACK n will
alsoacknowledge
All data frames
that have been acked by
ACK (n−1)
ACK (n−1) will
alsoacknowledge
All data frames
that have been acked by
ACK (n−2)
And so on....
In other words:
Tranmitting
ACK n will
implicitly:
re-transmittingall the ACK frames
ACK (n−1),
ACK (n−2), ...
Strength of
the cumulative ACK scheme:
The ACK frames in
the cumulative ACK scheme
are
very well protected
In other words:
If the ACK n frame was
lost, then:
the lost ACK n frame can be
recovered by the
ACK (n+1) frame !!!
Example: if
ACK 7 is
lost,
then data frame 6 is
also acknowledged
if ACK 8 is
received
Weakness of the
cumulative ACK scheme:
The receiver
can
not acknowledge:
correctly data frames
that are received
out-of-order
Example:
The sender transmits
frames 1,2,3
Frame 1 was
lost Frame 2, 3 were received
correctly
Then:
The receivercan not
send ACK 3 !!!
(because ACK 3 will
also
acknowledge the lost frame 1 !!!)
Consequence:
The sender may
time out on
the correctly received
frames (2 and 3)
This can
lead to inefficiency
because sender will
retransmit
some data frames unneccassarily
Strength/weakness of the Selective
ACK scheme
Strength:
Extremely efficient:
The sender will onlyretransmit
the unacknowledged (corrupted) frames
Weakness:
The ACK frames are
not protected
from loss
An ACK can be
lost (= corrupted)
Lost ACK frames will cause
(unnecessary) retransmission
and reduce efficiency)
Which method is more popular ?
As of 2014:
The cumulative acknowledgement
method
is preferred for
long distance communication
because:
The error rate is
relatively high
So you want to
protect the
acknowledgement messages !!!
Fact:
The Transport Control Protocol (TCP)
of the Internet Protocol (IP)
uses
cumulative acknowledgement
Note:
With the advent of
high speed and
low error ratefiber optic cables,
the
selective acknowledgement
method
is being
considered
to replace the
cumulative ack scheme.
(But it's very difficult to
switch protocol on
a global scale...
I don't expect the Internet to use
selective ACK
before I'm dead...)