Node A sends 2 packets to node B (node B has 2 available buffer size), if node A has sent 2 packets, and the 2 packets were successfully received by node B. Node B sent the acknowledgement to A but for some reason it has been delayed. If the retransmission of the packet has to be delayed until node A gains credit to be able to send another packet, What if the delayed Acknowledgment of that packet was received after timeout happens and before the node A gains the credit , will it have to resend the not Acked packet? i.e. whatever the case that happened, does every timeout must have retransmission ?

edit: the credit at the node A is the effective window enter image description here

and here is a link from the I got this pic from: http://slideplayer.com/slide/16761168/

  • Did any answer help you? if so, you should accept the answer so that the question does not keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
    – Ron Maupin
    Dec 23, 2021 at 16:42

1 Answer 1


Data need to be retransmitted if they are not ACKed. The TCP window is not any kind of "credit" on how much data can be sent in total but describes only how much application data can be "in-flight", i.e. without (yet) getting the ACK back. Thus, retransmitting already sent data is not affected by this "credit" since this is only about (re)transmitting data inside the existing window.

  • I did not mention that the ACK has been lost, but the packet was received correctly at the receiver but for some reasons it will take long time in its way back to the sender, so the sender will wait for this ACK until timeout happen. but the sender at this moment does not have enough credit to resend it again so it will wait for gaining credit, and while waiting for the credit, the ACK FROM THE receiver has arrived
    – AAEM
    Feb 28, 2021 at 10:07
  • @AAEM: I still have no idea what this "credit" thing is you are talking about and I'm not able to follow your comment also in other cases. It might be because words like "receiver" and "sender" change the meaning based on the current context (a sender sends data which are received by the receiver which then itself is a sender of the ACK which gets received by the original sender, but now receiver for the ACK ...). I recommend that you edit your question to add a more detailed description what is happening and use thinks like A and B instead of sender, receiver. Maybe add some drawing too. Feb 28, 2021 at 10:13
  • I have edited the question is it clear now?
    – AAEM
    Feb 28, 2021 at 10:35
  • @AAEM: it is more clear now - but again, what is this "credit" you are talking about? There is no kind of "credit" needed in order to resent a packet where no ACK was received. Feb 28, 2021 at 10:55
  • by credit i mean the available capacity in the effective window size, i have edited the question please have a look
    – AAEM
    Feb 28, 2021 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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