Bird
Raised Fist0
Computer Networksknowledge~20 mins

TCP flow control (sliding window) in Computer Networks - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
TCP Flow Control Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding the purpose of TCP sliding window

What is the main purpose of the sliding window mechanism in TCP flow control?

ATo route packets through the shortest path in the network
BTo encrypt data packets for secure transmission
CTo assign IP addresses dynamically to devices
DTo control the amount of data a sender can transmit before receiving an acknowledgment
Attempts:
2 left
💡 Hint

Think about how TCP manages data transmission to avoid overwhelming the receiver.

📋 Factual
intermediate
2:00remaining
Sliding window size adjustment

In TCP flow control, what happens when the receiver advertises a window size of zero?

AThe sender stops sending data until the window size increases
BThe sender ignores the window size and continues sending data
CThe sender increases its sending rate to fill the network
DThe sender closes the connection immediately
Attempts:
2 left
💡 Hint

Consider what it means if the receiver cannot accept more data.

🔍 Analysis
advanced
2:00remaining
Effect of window size on throughput

How does increasing the TCP sliding window size affect the throughput of a connection over a high-latency network?

AIt causes the connection to reset frequently
BIt increases throughput by allowing more data to be sent before waiting for acknowledgment
CIt has no effect on throughput in high-latency networks
DIt decreases throughput because larger windows cause more packet loss
Attempts:
2 left
💡 Hint

Think about how waiting times and data in transit relate to window size.

❓ Comparison
advanced
2:00remaining
Sliding window vs. congestion control

Which statement best distinguishes TCP flow control using sliding window from TCP congestion control?

AFlow control manages receiver buffer capacity; congestion control manages network traffic congestion
BFlow control encrypts data; congestion control compresses data
CFlow control assigns IP addresses; congestion control routes packets
DFlow control increases packet size; congestion control decreases packet size
Attempts:
2 left
💡 Hint

Consider what each mechanism is trying to protect or manage.

❓ Reasoning
expert
2:00remaining
Interpreting sliding window behavior from sequence numbers

Given a TCP connection where the sender's current window size is 5000 bytes, the last acknowledged sequence number is 10000, and the next sequence number to send is 12000, how many bytes can the sender still send without receiving new acknowledgments?

A5000 bytes
B7000 bytes
C3000 bytes
D2000 bytes
Attempts:
2 left
💡 Hint

Calculate the difference between the window size and the amount of data already sent but not acknowledged.

Practice

(1/5)
1. What is the main purpose of the sliding window in TCP flow control?
easy
A. To control the amount of data sent before receiving an acknowledgment
B. To encrypt data during transmission
C. To assign IP addresses to devices
D. To route packets between networks

Solution

  1. Step 1: Understand the role of sliding window in TCP

    The sliding window limits how much data the sender can transmit before waiting for an acknowledgment from the receiver.
  2. Step 2: Identify the purpose among options

    Only To control the amount of data sent before receiving an acknowledgment describes controlling data flow using acknowledgments, which matches the sliding window's purpose.
  3. Final Answer:

    To control the amount of data sent before receiving an acknowledgment -> Option A
  4. Quick Check:

    Sliding window controls data flow = To control the amount of data sent before receiving an acknowledgment [OK]
Hint: Sliding window limits unacknowledged data sent [OK]
Common Mistakes:
  • Confusing flow control with encryption
  • Mixing routing with flow control
  • Thinking sliding window assigns IPs
2. Which of the following correctly describes the sliding window size in TCP?
easy
A. It is fixed and never changes during the connection
B. It is set by the IP address of the sender
C. It is always equal to the maximum segment size (MSS)
D. It increases or decreases based on acknowledgments received

Solution

  1. Step 1: Recall how sliding window size behaves

    The window size changes dynamically as acknowledgments arrive, allowing the sender to send more data.
  2. Step 2: Match behavior to options

    It increases or decreases based on acknowledgments received correctly states the window size adjusts based on acknowledgments, unlike fixed size or unrelated factors.
  3. Final Answer:

    It increases or decreases based on acknowledgments received -> Option D
  4. Quick Check:

    Window size changes with ACKs = It increases or decreases based on acknowledgments received [OK]
Hint: Window size changes with ACKs, not fixed [OK]
Common Mistakes:
  • Assuming window size is fixed
  • Confusing window size with MSS
  • Linking window size to IP address
3. Consider a TCP connection with a window size of 4 segments. The sender has sent segments 1 to 4. The receiver acknowledges segment 2. Which segments can the sender send next?
medium
A. Segments 5, 6, and 7
B. Segments 3 and 4 again
C. Segments 5 and 6
D. No new segments until all are acknowledged

Solution

  1. Step 1: Understand sliding window movement after ACK

    When segment 2 is acknowledged, the window slides forward, allowing sending of new segments beyond 4.
  2. Step 2: Calculate which segments fit in the window

    Window size is 4, segments 1 and 2 acknowledged, so segments 3 and 4 are still unacknowledged. The sender can send segments 5 and 6 to fill the window.
  3. Final Answer:

    Segments 5 and 6 -> Option C
  4. Quick Check:

    ACK 2 slides window, send next 2 segments = Segments 5 and 6 [OK]
Hint: ACK moves window; send new segments within window size [OK]
Common Mistakes:
  • Resending unacknowledged segments unnecessarily
  • Sending more segments than window size allows
  • Waiting for all segments to be acknowledged
4. A TCP sender has a window size of 3 segments and has sent segments 1, 2, and 3. The receiver sends an acknowledgment for segment 1 only. The sender mistakenly sends segment 4 and 5 immediately. What is the problem with this behavior?
medium
A. It violates the sliding window limit and may cause congestion
B. It improves throughput by sending more data
C. It is correct because ACK 1 means all previous segments are received
D. It causes the receiver to close the connection

Solution

  1. Step 1: Analyze window size and ACK received

    The window size is 3, and only segment 1 is acknowledged, so segments 2 and 3 are still unacknowledged.
  2. Step 2: Identify why sending segments 4 and 5 is wrong

    Sending segments 4 and 5 exceeds the allowed window size, risking congestion and data loss.
  3. Final Answer:

    It violates the sliding window limit and may cause congestion -> Option A
  4. Quick Check:

    Sending beyond window size causes issues = It violates the sliding window limit and may cause congestion [OK]
Hint: Don't send beyond window size before ACKs arrive [OK]
Common Mistakes:
  • Assuming ACK 1 means all segments received
  • Ignoring window size limits
  • Thinking sending more data always helps
5. In a TCP connection, the sender's window size is 5 segments. The receiver's buffer can only hold 3 segments. How should the sliding window mechanism adapt to prevent buffer overflow?
hard
A. The sender should keep sending 5 segments regardless
B. The sender should reduce the window size to 3 segments
C. The receiver should increase its buffer size to 5 segments
D. The sender should stop sending any segments

Solution

  1. Step 1: Understand receiver buffer limits

    The receiver can only hold 3 segments, so sending more than 3 risks overflow and data loss.
  2. Step 2: Adjust sender window size accordingly

    The sliding window size must match or be less than the receiver's buffer to avoid overflow, so the sender should reduce its window size to 3.
  3. Final Answer:

    The sender should reduce the window size to 3 segments -> Option B
  4. Quick Check:

    Sender window ≤ receiver buffer to prevent overflow = The sender should reduce the window size to 3 segments [OK]
Hint: Match sender window to receiver buffer size [OK]
Common Mistakes:
  • Ignoring receiver buffer size
  • Assuming receiver buffer can always expand
  • Stopping sending completely without reason
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard