I am a computer science under graduation student, and was going through some Go Back N ARQ (Computer Networking) videos on YouTube, and got a doubt in a question, which according to me should have a different answer than what the instructor on the video is arriving at (given that no other comment in the comments section of the video raises the same doubt, I am pretty sure I have had some problem in understanding the protocol). I would be greatful for any help. The question goes as follows:

Given a connection oriented communication between two hosts that are following the Go back N protocol, with sender's window = 3, and assuming that every 5th packet transmitted by the sender is lost (no acknowledgements are lost), what are the total number of transmissions required by the sender host? Assume that the packets to be sent are numbered 1-10.

The sequence of transmissions by the sender that I am getting is (final answer = 16):

1,2,3; 4,5,6; 5,6,7; 8,9,10; 8,9,10; 10

Meanwhile, the instructor in the video gets it like this (final answer = 18):


I would appreciate if someone could point out where I am going wrong in understanding the protocol. Thanks!

  • 2
    $\begingroup$ Could you provide the video you mention? $\endgroup$
    – Auberon
    Jun 16, 2016 at 21:32
  • $\begingroup$ Sure, youtube.com/… $\endgroup$ Jun 17, 2016 at 10:41

2 Answers 2


1-2-3 is correctly sent and acknowledged so the sender's window is now over 4-5-6.

4 is received correctly and so it is acknowledged. This makes the window (currently over 4-5-6) slide to 5-6-7. However, since 5 was lost, 5 will not be acknowledged. Therefore, despite 6 being well received, 6 will not be acknowledged as well. Meanwhile the sender sends 7 because his window allows him to (it looks like you think it doesn't trigger the sender to send 7). It is received well but the recipient doesn't acknowledge it because it's still waiting for 5 to arrive. The sender's timer goes off and therefore it sends 5-6-7 again... (etc).

If you haven't seen it already, this animation is really helpful.

  • 1
    $\begingroup$ Thanks a lot :-) I indeed somehow got an impression that a window of packets is sent by the sender only after all the previous window of packets has been acknowledged by the receiver. Giving a deeper thought, it was quite dumb of me to develop such notions, because if Go Back N indeed worked like that, it's average efficiency would reduce down to that of the simple Stop and Wait protocol. Thanks a lot for the explanation! Cheers! :-) $\endgroup$ Jun 17, 2016 at 10:44

the sequence would be: 1 2 3 4 5 6 7 5 6 7 8 9 7 8 9 10 9 10

first slot: 1 2 3

next : 2 3 4

next : 3 4 5

next : 4 5 6

next : 5 6 7

now 5th packet is lost. so the above whole slot would be resend according to the procedure of go back n.

next : 5 6 7

now the counting of the 5th packet will start from the last packet after which the packet was lost i.e 6

next : 6 7 8

next : 7 8 9

now. counting from the 6 which was first sent, we know that 7th packet will again be lost. so the above whole slot will be repeated again.

next : 7 8 9

next : 8 9 10

next : 9 10

now, 9th packet will again be lost and the whole slot would be sent again.

next : 9 10

next : 10

hence, in total there would be 18 tranmissions.

thank you.


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.