edited by
40,723 views
47 votes
47 votes

Station $A$ needs to send a message consisting of $9$ packets to Station $B$ using a sliding window (window size $3$) and go-back-$n$ error control strategy. All packets are ready and immediately available for transmission. If every $5$th packet that $A$ transmits gets lost (but no acks from $B$ ever get lost), then what is the number of packets that $A$ will transmit for sending the message to $B$? 

  1. $12$
  2. $14$
  3. $16$
  4. $18$
edited by

8 Answers

Best answer
70 votes
70 votes

Total $16$ packet Transmission

Correct Answer: $C$

edited by
65 votes
65 votes

Since all packets are ready initially itself, we can assume a timeout is detected after all possible packets are sent. So, the sending happens as shown in figure (I draw the figure assuming 10 packets. For 9 packets answer will be 16).

16 votes
16 votes
I think the most intuitive way to get how Go back N work is to remember this 2 points and try it yourself

1. The window should slide ahead as we go on receiving ack and we will miss ack only for frame which is lost i.e frame 5 according to question

2. We should go back and send frame starting from frame no which was lost till the end of current window size.

Suppose if frame 5th was lot we should resent 5  6 7 because currently these 3 frames are in window.

PS: we should also count frames which were sent but discarded as out of order frame

Let's say we have 9 frames to send

1 2 3 4 5 6 7 8  9

We will send 1 then window will slide and currently 2 3 4 will be frame in the window then we will send 2 window will slide now currently 3 4 5 will be in window snapshot then we will send 3 and window will slide again and current snapshot will have 4 5 6 in window then next 4 will be sent current snapshot will be 5 6 7.

Now point 2 if 5th one is lost then what frames will be sent again well start from 5th and go to end of window that is 7 as window size is 3 so 5 6 7 will be sent again. Try to work it out by using above 2 points plus don't forget to slide the window ahead as you go on sending frame and receive ack. Remember 5 6 7 were sent before as 5 was not received 6 7 were discarded make sure you count then as well

If you get it right the sequence you will get at the end is

1 2 3 4 5 6 7 5 6 7 8 9 7 8 9 9

Good luck
12 votes
12 votes

16 is the answer

Q doesn't say that only after 3rd packet B will send theacknowledgement for 1st packet from A
So we can say

"All packets are ready and immediately available for transmission"

packet1 from A - Tranmit1
       acknowledgement (ack) for packet1(pckt) from B
packet2 from A - Transmit2
       ack for pckt2 from B
packet3 from A - Transmit3
       ack for pckt3 from B
packet4 from A - Transmit4
       ack for pckt4 from B
packet5 from A - Transmit 5          (packet5 lost, so no ack from B for pckt5)
packet6 from A - Transmit 1          (go back n, so no ack for pckt6 also)
packet7 from A - Transmit 2          (go back n, so no ack for pckt7 also)
                             Timeout for packet5
packet5 from A - Transmit 3
       ack for pckt5 from B
packet6 from A - Transmit 4
       ack for pckt6 from B
packet7 from A - Transmit 5         (packet7 lost, so no ack for pckt7)
packet8 from A - Transmit 1         (go back n, so no ack for pckt8 also)
packet9 from A - Transmit 2         (go back n, so no ack for pckt9 also)
                             Timeout for packet7
packet7 from A - Transmit 3
       ack for pckt7 from B
packet8 from A - Transmit 4
       ack for pckt8 from B
packet9 from A - Transmit 5         (packet9 lost, so no ack for pckt9)
                             Timeout for packet9
packet9 from A - Transmit 1
       ack for pckt9 from B

B now receives all 9 packets.
In total 16 transmits from station A

Answer:

Related questions

21 votes
21 votes
1 answer
2