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$?
There is lot of confusion got created on the question https://gateoverflow.in/230305/slidind-window-protocol#c240121
Can someone clear that
Total $16$ packet Transmission
Correct Answer: $C$
why is 1,2,3,4 sent at once, only 1,2,3 should be sent at once(due to window size 3) then it recieves a cummulative ACK and then 4,5,6 should be sent from which 5 gets lost then recieve ACK for 4 and then 5,6,7 should be sent and so on. Shouldn't we consider the window size 3, given in the question and cummulative ACKs in GBN?
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).
@Tuhin Dutta sir,
In GBN the timeout timer is maintained for First outstanding frames for Entire send window..eg
When Ws = 4,5,6 TO timer for 4 is maintained and window slides when ACK for 4 comes ..So if 5th one also lost with 4th [2 losses in same window ] ..it will be handled by retransmision of window 4,5,6 because TO timer for 4 expires ..
Am i right sir??
@Arjun Sir , GBN uses cumulative ACK right? then why here individual ACK are shown?
see here → https://www.geeksforgeeks.org/difference-between-stop-and-wait-gobackn-and-selective-repeat/
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