What if your messages could fly faster and safer without waiting forever for replies?
Why Flow control (stop-and-wait, sliding window) in Computer Networks? - Purpose & Use Cases
Imagine you are sending important letters to a friend by mail, but you can only send one letter at a time and must wait for a reply before sending the next. If your friend is slow to respond or the mail is delayed, you waste a lot of time waiting.
This slow back-and-forth method causes delays and wastes time. If a letter gets lost, you might not know and keep waiting forever. It is hard to keep track of which letters arrived and which didn't, making communication unreliable and frustrating.
Flow control methods like stop-and-wait and sliding window help manage sending data efficiently. Stop-and-wait ensures each piece is acknowledged before sending the next, preventing overload. Sliding window lets you send multiple pieces before waiting for replies, speeding up communication while keeping track of what's confirmed.
send one packet; wait for ack; send next packet; wait for ack;
send multiple packets within window size; receive acks; slide window forward; repeat;
These flow control techniques enable fast, reliable data transfer over networks without overwhelming the receiver or losing track of information.
When you stream a video online, sliding window flow control helps your device receive many data packets smoothly, so the video plays without pauses or glitches.
Manual one-at-a-time sending is slow and error-prone.
Stop-and-wait waits for confirmation before next send, simple but slow.
Sliding window sends multiple packets before waiting, improving speed and reliability.
Practice
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 AQuick Check:
One packet at a time = Stop-and-Wait [OK]
- Confusing Sliding Window with Stop-and-Wait
- Thinking Multiplexing is a flow control method
- Mixing routing with flow control
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 BQuick Check:
Multiple packets sent = Sliding Window [OK]
- Choosing Stop-and-Wait for sliding window question
- Thinking no acknowledgment is used
- Confusing timeout with acknowledgment wait
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 AQuick Check:
Window slides by acknowledged packets = Packets 5 and 6 [OK]
- Trying to resend unacknowledged packets
- Sending too many packets beyond window size
- Not sliding window after acknowledgments
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 CQuick Check:
No acknowledgment = Resend same packet [OK]
- Blaming sender window size in stop-and-wait
- Confusing sliding window with stop-and-wait
- Assuming multiple packets sent in stop-and-wait
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 DQuick Check:
Retransmit lost packets only = Packets 2 and 3 [OK]
- Retransmitting already acknowledged packets
- Sending new packets before lost ones
- Confusing lost packets with acknowledged packets
Ready to prove it?
Pass the test and this pattern moves unknown
