This is our old Q&A Site. Please post any new questions and answers at

When Fast Retransmit is implemented, if I received packet 1, then I will send an ACK that says I need packet 2, and then if I received packet 3, I will send a duplicate ACK that says that I need packet 2 (and not packet 4).

But will packet 2 on the sender side also have a Retransmission Timer assigned to it, that is, will there be a timer that is waiting for an ACK for packet 2 to arrive, and if it did not arrive it will retransmit it?

I think that the answer is Yes, because what if the duplicate ACK got lost! is this correct or am I missing something?

asked 30 Jul '15, 06:10

John_857's gravatar image

accept rate: 0%

I'm not entirely sure I understand your question, however:

The ACK you send merely confirms you have received Data to xxx Bytes. The sender then sends the next sequence to you and you then ACK that Number of Bytes. If Packet(s) go missing you will ACK what you have and ask for the missing ones, if there is no SACK running, you will stop at the missing Packet and wait for it. If you have SACK (which you should) then the new packets will continue to be received and you will simply keep asking for the missing packets until they arrive.

The RTO will also be set on the retransmissions, if a Server does not receive an ACK inside of the RTO, then it should retransmit up to the Maximum No. of Retransmissions you have set before giving up and [RST]ing your connection.

usually the Duplicate Acks will arrive before the RTO kicks in and a (Fast)Retransmission will occur in an established connection.

permanent link

answered 31 Jul '15, 02:02

DarrenWright's gravatar image

accept rate: 26%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 30 Jul '15, 06:10

question was seen: 1,268 times

last updated: 31 Jul '15, 02:02

p​o​w​e​r​e​d by O​S​Q​A