Bird
Raised Fist0
Computer Networksknowledge~5 mins

TCP flow control (sliding window) in Computer Networks - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of TCP flow control?
TCP flow control ensures that a sender does not overwhelm a receiver by sending more data than it can handle at a time.
Click to reveal answer
intermediate
Explain the sliding window concept in TCP flow control.
The sliding window is a method where the sender can send multiple packets before needing an acknowledgment, but only up to a window size that the receiver can handle. The window 'slides' forward as acknowledgments arrive.
Click to reveal answer
beginner
What does the 'window size' represent in TCP sliding window flow control?
The window size represents the amount of data (in bytes) that the sender is allowed to send without receiving an acknowledgment from the receiver.
Click to reveal answer
intermediate
How does the receiver communicate its available buffer space to the sender in TCP?
The receiver sends the current window size value in the TCP header of acknowledgment packets, indicating how much more data it can receive.
Click to reveal answer
beginner
What happens if the sender sends data faster than the receiver can process it in TCP flow control?
If the sender sends data too fast, the receiver's buffer may overflow, causing packet loss. TCP flow control prevents this by adjusting the window size to slow down the sender.
Click to reveal answer
What does the sliding window in TCP allow the sender to do?
ASend multiple packets before receiving acknowledgments
BSend only one packet at a time
CIgnore receiver's buffer size
DClose the connection immediately
In TCP flow control, what does the receiver use to tell the sender how much data it can receive?
AIP address
BSequence number
CPort number
DWindow size field in TCP header
What happens when the window size is zero in TCP flow control?
ASender must stop sending data temporarily
BSender sends data faster
CConnection is closed
DReceiver sends data
Why is TCP flow control important?
ATo encrypt data
BTo prevent receiver buffer overflow
CTo increase IP address speed
DTo assign port numbers
What does the 'sliding' in sliding window refer to?
AThe window closes after one packet
BThe window size stays fixed
CThe window moves forward as data is acknowledged
DThe window is ignored
Describe how TCP uses the sliding window mechanism to control data flow between sender and receiver.
Think about how the sender knows how much data to send and when to wait.
You got /4 concepts.
    Explain why TCP flow control is necessary and what could happen without it.
    Consider what happens if the sender ignores the receiver's capacity.
    You got /4 concepts.

      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