Understanding Flow Control: Stop-and-Wait and Sliding Window
📖 Scenario: You are learning how data is sent over a network between two computers. To avoid losing data or overwhelming the receiver, the sender uses flow control methods.Two common methods are Stop-and-Wait and Sliding Window. You will create simple models to understand how these methods control data flow.
🎯 Goal: Build simple step-by-step models that show how Stop-and-Wait and Sliding Window flow control methods work in sending data packets.
📋 What You'll Learn
Create a list of data packets to send
Set a window size for the sliding window method
Simulate sending packets using Stop-and-Wait method
Simulate sending packets using Sliding Window method
💡 Why This Matters
🌍 Real World
Flow control methods like stop-and-wait and sliding window are used in real networks to ensure data is sent reliably without overwhelming the receiver.
💼 Career
Understanding flow control is important for network engineers and software developers working on communication protocols and network applications.
Progress0 / 4 steps
1
Create the list of data packets
Create a list called packets containing these exact strings: 'Packet1', 'Packet2', 'Packet3', 'Packet4', 'Packet5'.
Computer Networks
Hint
Use square brackets to create a list and put each packet name as a string inside.
2
Set the sliding window size
Create a variable called window_size and set it to the number 3.
Computer Networks
Hint
Just assign the number 3 to the variable named window_size.
3
Simulate Stop-and-Wait sending
Write a for loop using the variable packet to go through each item in packets. Inside the loop, write a comment # Send packet and wait for acknowledgment to show the stop-and-wait process.
Computer Networks
Hint
Use a for loop with packet as the variable to go through packets. Inside, add the comment to explain the stop-and-wait step.
4
Simulate Sliding Window sending
Write a for loop using the variable i to go from 0 to len(packets) - window_size + 1. Inside the loop, create a variable window_packets that slices packets from i to i + window_size. Then add a comment # Send packets in the current window.
Computer Networks
Hint
Use a for loop with i to slide over the packets list. Slice the list from i to i + window_size to get the current window.
Practice
(1/5)
1. Which flow control method sends one packet and waits for an acknowledgment before sending the next?
easy
A. Stop-and-Wait
B. Sliding Window
C. Multiplexing
D. Routing
Solution
Step 1: Understand Stop-and-Wait flow control
Stop-and-Wait sends one packet and waits for an acknowledgment before sending the next packet.
Step 2: Compare with other methods
Sliding Window sends multiple packets before waiting, while Multiplexing and Routing are unrelated to flow control.
Final Answer:
Stop-and-Wait -> Option A
Quick Check:
One packet at a time = Stop-and-Wait [OK]
Hint: One packet then wait means Stop-and-Wait [OK]
Common Mistakes:
Confusing Sliding Window with Stop-and-Wait
Thinking Multiplexing is a flow control method
Mixing routing with flow control
2. Which of the following correctly describes the sliding window flow control method?
easy
A. Sends one packet and waits for acknowledgment
B. Sends multiple packets before waiting for acknowledgment
C. Sends packets without any acknowledgment
D. Sends packets only after a timeout
Solution
Step 1: Recall sliding window behavior
Sliding Window sends multiple packets before waiting for acknowledgment to improve speed.
Step 2: Eliminate incorrect options
Sends one packet and waits for acknowledgment describes Stop-and-Wait. The other options do not describe standard flow control methods.
Final Answer:
Sends multiple packets before waiting for acknowledgment -> Option B
Quick Check:
Multiple packets sent = Sliding Window [OK]
Hint: Multiple packets sent before wait means Sliding Window [OK]
Common Mistakes:
Choosing Stop-and-Wait for sliding window question
Thinking no acknowledgment is used
Confusing timeout with acknowledgment wait
3. Consider a sliding window protocol with window size 4. If the sender has sent packets 1, 2, 3, and 4, but only packets 1 and 2 are acknowledged, which packets can the sender send next?
medium
A. Packets 5 and 6
B. Packets 3, 4, and 5
C. Packets 5, 6, 7, and 8
D. Packets 3, 4, 5, and 6
Solution
Step 1: Understand sliding window acknowledgments
Packets 1 and 2 are acknowledged, so the window slides forward by 2 packets.
Step 2: Calculate new window range
Window size is 4, so after acknowledging 1 and 2, sender can send packets 5 and 6 (next two packets).
Final Answer:
Packets 5 and 6 -> Option A
Quick Check:
Window slides by acknowledged packets = Packets 5 and 6 [OK]
Hint: Window slides by acknowledged packets count [OK]
Common Mistakes:
Trying to resend unacknowledged packets
Sending too many packets beyond window size
Not sliding window after acknowledgments
4. A stop-and-wait protocol implementation is not receiving acknowledgments and keeps resending the same packet. What is the most likely cause?
medium
A. The sender is sending multiple packets at once
B. The sender window size is too large
C. The receiver is not sending acknowledgments
D. The network is using sliding window instead
Solution
Step 1: Analyze stop-and-wait behavior
Stop-and-wait waits for acknowledgment before sending next packet; no acknowledgment causes resending.
Step 2: Identify cause of no acknowledgment
If acknowledgments are missing, likely the receiver is not sending them or they are lost.
Final Answer:
The receiver is not sending acknowledgments -> Option C
Quick Check:
No acknowledgment = Resend same packet [OK]
Hint: No ack means receiver not responding [OK]
Common Mistakes:
Blaming sender window size in stop-and-wait
Confusing sliding window with stop-and-wait
Assuming multiple packets sent in stop-and-wait
5. In a sliding window protocol with window size 5, the sender transmits packets 1 to 5. Packets 2 and 3 are lost, but packets 1, 4, and 5 are acknowledged. Which packets should the sender retransmit next to maintain correct flow control?
hard
A. Packets 6 and 7
B. Packets 2, 3, and 6
C. Packets 2, 3, 4, and 5
D. Packets 2 and 3 only
Solution
Step 1: Identify lost packets
Packets 2 and 3 are lost, so they need retransmission.
Step 2: Understand acknowledgments impact
Packets 1, 4, and 5 are acknowledged, so only lost packets 2 and 3 must be resent before sending new packets.
Final Answer:
Packets 2 and 3 only -> Option D
Quick Check:
Retransmit lost packets only = Packets 2 and 3 [OK]
Hint: Retransmit only lost packets, not acknowledged ones [OK]
Common Mistakes:
Retransmitting already acknowledged packets
Sending new packets before lost ones
Confusing lost packets with acknowledged packets
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.