0

While refreshing some old theory, and solving couple of problems, one instance had me confused: "7 packages (0 to 6) with window size 3 are sent. Packet no. 2 ACK is lost the first time it is sent, and packet number 4 gets lost the first time it is sent"

I am aware that the window size will now encompass packets [2,3,4] since ACK2 has not been received a timeout would occur, and that same window will be re-sent. But Packet 4 is lost. I have tried to depict, what I think happens. Forgive my sketching skills: enter image description here

Saurus
  • 79
  • 1
  • 7
  • where are you confised? packet 4 is lost first time it is sent, but it is not lost the second time, right? so, what is wrong? – Effie Oct 17 '21 at 09:37
  • btw, it this from Kurose, becase apparently they might have Go-Back-N without cummulative acknowledgements – Effie Oct 17 '21 at 09:39
  • if ack for p2 is lost, then send p5 cannot happen, there is no ack, so there is no reason for window move; the part with rev p3 depends on whether acknowledgments are cummulative or not. if the acknowledgements are cummulative, the ack for p3 implicitly acks everything before p3 as well, so when ack for p3 is received, packets 6 and 7 can be sent; if the acks are not cummulative, it will timeout and the window will be sent starting from 3. when p4 is sent again, its timeout is reset and started again, so after this normal communication happens. – Effie Oct 17 '21 at 09:46
  • if the acks are cummulative, p4 will timeout and case p4 p5 and p6 to be retransmitted – Effie Oct 17 '21 at 09:46
  • Is my depiction/logic correctly sketched? My confusion lies in how an ACK loss is treated versus a packet loss, in that transaction. – Saurus Oct 17 '21 at 09:49
  • are the acknowledgements cummulative or not? (apparently both versions exist) – Effie Oct 17 '21 at 09:52
  • That is not stated. Only that it is RDT(reliable data transfer) and GBN. – Saurus Oct 17 '21 at 09:53
  • well,, since I fail to understand how GBN without cummulative acknowledgements can work, let's assume that they are cummulative. Then ack for p3 acknowledges p2 also. you need to move send p5 to first rev a3 point and at this point send p5 and p6. – Effie Oct 17 '21 at 09:55
  • 1
    if you can redo your question to the window of 5, you can play a version without receiver buffer and with cummulative acknowledgements here http://tm.uka.de/~eir-arq/webarq/gobackn1.html – Effie Oct 17 '21 at 09:57
  • Thanks for the link. Seems very intuitive. I assume with selected-repeat, same situation, only the lost individual packets are resent - and not the entire window? – Saurus Oct 17 '21 at 10:03
  • 1
    well, in selective repeat the acknowledgements are not cummulative, so it is slighly different. there is a demo on that link too, click "<" in top left corner – Effie Oct 17 '21 at 10:05

1 Answers1

1

For completeness. Lost acknowledge will not cause retransmission, because acknowledgement for next packet will implicitly ack the missing one.

enter image description here

Effie
  • 758
  • 5
  • 15