TCP reliability and receiver flow control: A receiving host has detected that some expected TCP segments are missing (not all segments have arrived to be acknowledged). To improve the reliability and stability of this communication session without tearing it down, what should the host do?

Difficulty: Easy

Correct Answer: Decrease the window size.

Explanation:


Introduction / Context:
In Transmission Control Protocol (TCP), reliable delivery depends on acknowledgments, retransmissions, and flow control. If a receiver notices that not all segments are arriving (gaps in sequence numbers), it can signal the sender to slow down so buffers do not overflow and retransmissions can catch up.



Given Data / Assumptions:

  • Some TCP segments have not been received by the destination host.
  • The session should continue without being torn down.
  • Standard TCP mechanisms such as ACKs, sliding windows, and retransmissions are in use.


Concept / Approach:

TCP uses a sliding window for flow control. The receiver advertises a window size (rwnd) in ACKs. By reducing the advertised window, the receiver throttles the sender's transmit rate, preventing buffer overflow and allowing recovery via retransmissions and selective acknowledgments (if supported).



Step-by-Step Solution:

Receiver observes missing segments (out-of-order or gaps in sequence numbers).Receiver sends ACKs with a reduced receive window value.Sender, honoring the smaller window, sends less data in flight.Retransmission (triggered by duplicate ACKs, timeout, or SACK) fills the gap; session stabilizes.


Verification / Alternative check:

Packet capture should show ACKs advertising smaller window sizes and subsequent sender behavior limiting outstanding data. Throughput will decrease while reliability improves.



Why Other Options Are Wrong:

Sending a different source port (A) would create a new session, not fix flow control.

Restarting the virtual circuit (B) is disruptive and unnecessary for simple loss.

Decreasing the sequence number (C) is invalid; sequence numbers are dictated by bytes sent, not manually adjusted midstream.



Common Pitfalls:

Confusing congestion control (sender-side cwnd) with receiver flow control (rwnd); attempting to reset sessions unnecessarily; ignoring that a too-small window can overly throttle good links.



Final Answer:

Decrease the window size.

More Questions from Internetworking

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion