My professor has asked this (exam) question and it actually makes no sense to me:

TCP offers a reliable, bidirectional byte stream over the best effort packet delivery in IP. For reliability, a sender in a TCP connection re-transmits a possibly lost packet. One of the methods with which TCP guesses the loss of a packet is by duplicated (repeated) acknowledgements. Illustrate clearly and succinctly this method, with a reason why it is a reasonable way to guess a packet loss.

Surely a packet is only acknowledged when it is received? If so, how can repeated acknowledgement detect a lost packet if that packet is lost and has not been acknowledged. Unless of corse he means a lost acknowledgement packet? Where that is duplicated several times to signify that it has not be received and the packet has not been acknowledged? Or is there more to this?

  • $\begingroup$ Instead of the picture of the question, you should perhaps type it out. Text is, of course, much easier to search for than images of text. $\endgroup$ – Guildenstern May 24 '14 at 16:16
  • $\begingroup$ Aren't you supposed to do your own exam questions? $\endgroup$ – David Richerby May 26 '14 at 1:08
  • $\begingroup$ Erm its not assessed until im behind a desk doing it in timed condition so no? I can ask for help. $\endgroup$ – joker May 26 '14 at 9:10

One assumption in TCP design is that packets arrive in the same order as they are sent.

And TCP performs cumulative ACK, "where the receiver sends an acknowledgment signifying that the receiver has received all data preceding the acknowledged sequence number." (Wikipedia). And receiver sends back exact one ACK for every one packet it receives.

These facts make sender assume a packet is lost if it receives duplicated ACKs. To avoid false negative guess (because of out of order delivery), TCP sender usually assumes a packet is lost when three duplicated ACKs are received.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.