0
0
Computer Networksknowledge~10 mins

Flow control (stop-and-wait, sliding window) in Computer Networks - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Flow control (stop-and-wait, sliding window)
Sender sends 1 frame
Wait for ACK
ACK received?
NoTimeout: resend frame
Yes
Send next frame
Sender sends multiple frames up to window size
Receiver sends ACKs for received frames
Sender slides window forward on ACK
Continue sending frames within window
Timeout: resend unacknowledged frames
The sender sends frames and waits for acknowledgments (ACKs). In stop-and-wait, it sends one frame at a time and waits. In sliding window, it sends multiple frames before waiting, sliding the window forward as ACKs arrive.
Execution Sample
Computer Networks
Sender: send frame 1
Wait for ACK 1
ACK 1 received
Send frame 2
Wait for ACK 2
This shows stop-and-wait flow control where the sender sends one frame and waits for its acknowledgment before sending the next.
Analysis Table
StepActionFrame SentACK ReceivedWindow StateResult
1Send frame 11None[1]Frame 1 sent, waiting for ACK
2Wait for ACK 11No[1]Timeout, resend frame 1
3Resend frame 11No[1]Frame 1 resent
4ACK 1 received1Yes[]ACK received, slide window
5Send frame 22None[2]Frame 2 sent, waiting for ACK
6ACK 2 received2Yes[]ACK received, slide window
7Send frames 3,4,5 (window size 3)3,4,5None[3,4,5]Multiple frames sent
8ACK 3 received3,4,5Yes[4,5]Window slides, frame 3 acknowledged
9ACK 4 received4,5Yes[5]Window slides, frame 4 acknowledged
10Timeout for frame 55No[5]Resend frame 5
11ACK 5 received5Yes[]All frames acknowledged, window empty
💡 All frames sent and acknowledged, flow control cycle complete
State Tracker
VariableStartAfter Step 1After Step 4After Step 7After Step 11
Frame SentNone1None3,4,5None
ACK ReceivedNoneNoYesNoYes
Window StateEmpty[1]Empty[3,4,5]Empty
Key Insights - 3 Insights
Why does the sender wait after sending one frame in stop-and-wait?
Because the sender must receive an ACK for the current frame before sending the next, as shown in execution_table rows 1-6.
How does sliding window improve efficiency compared to stop-and-wait?
Sliding window allows sending multiple frames before waiting for ACKs, shown in rows 7-11 where frames 3,4,5 are sent together.
What happens when an ACK is not received in time?
The sender times out and resends the unacknowledged frame, as seen in rows 2-3 and 10.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 4, what is the window state after ACK 1 is received?
AWindow is empty
BWindow slides forward and is empty
CWindow contains frame 1
DWindow contains frame 2
💡 Hint
Check the 'Window State' column at step 4 in execution_table
At which step does the sender send multiple frames in sliding window?
AStep 7
BStep 3
CStep 5
DStep 10
💡 Hint
Look for multiple frames sent in the 'Frame Sent' column in execution_table
If the sender never receives ACK 5, what action is taken according to the execution_table?
ASender stops sending frames
BSender sends next frame without ACK
CSender resends frame 5 after timeout
DSender increases window size
💡 Hint
See the action at step 10 in execution_table for timeout behavior
Concept Snapshot
Flow control manages data transmission between sender and receiver.
Stop-and-wait sends one frame and waits for its ACK before next.
Sliding window sends multiple frames up to window size before waiting.
ACKs slide the window forward allowing continuous sending.
Timeouts cause resending of unacknowledged frames.
This improves efficiency and reliability in networks.
Full Transcript
Flow control in networking ensures data is sent reliably and efficiently. In stop-and-wait, the sender sends one frame and waits for an acknowledgment before sending the next. If the ACK is not received in time, the frame is resent. Sliding window flow control improves this by allowing multiple frames to be sent before waiting for ACKs. The sender maintains a window of frames it can send and slides this window forward as ACKs arrive. Timeouts cause resending of frames that were not acknowledged. This process balances speed and reliability in data transmission.