CS455 Syllabus

### Acknowledgement schemes

• Acknowledgement schemes used in reliable communication protocols

• There are 2 kinds of acknowledgement schemes used in reliability protocols:

1. Selective acknowledgement:

• ACK n (n = receive sequence number) acknowledges:

 the (correct) reception of the data frame with send sequence number = n

2. 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 also acknowledge

 All data frames that have been acked by ACK (n−1)

• ACK (n−1) will also acknowledge

 All data frames that have been acked by ACK (n−2)

• And so on....

In other words:

• Tranmitting ACK n will implicitly:

 re-transmitting all 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 receiver can 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 only retransmit 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 rate fiber 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...)