This article was automatically translated from the original Turkish version.

The Transmission Control Protocol (TCP) is a protocol developed primarily to ensure reliable data transmission. TCP Tahoe, designed by Van Jacobson in the late 1980s, is one of TCP’s earliest congestion control mechanisms. This protocol variant treats packet loss as a direct indicator of network congestion and adjusts the transmission rate accordingly. The primary objective of TCP Tahoe is to prevent excessive loading on the network and ensure the continuity of data communication.
TCP Tahoe is a component of the TCP/IP protocol suite and operates at the transport layer of the network. It guarantees the reliable and ordered delivery of data between two communicating endpoints. The development of TCP Tahoe coincided with a period of rapid expansion in internet usage and increasing data traffic.
TCP Tahoe employs three fundamental mechanisms to manage network congestion: Slow Start, Congestion Avoidance, and Fast Retransmit.
When a connection is established, the sender’s congestion window (cwnd) begins with a small value, typically one Maximum Segment Size (MSS). With each received acknowledgment (ACK), the cwnd value increases exponentially. This approach allows the network capacity to be measured at the start of the connection.
Once the cwnd value reaches a specific threshold (ssthresh), the growth rate slows to a linear increase. During each Round Trip Time (RTT), cwnd is increased by one MSS. This method aims to increase the data transmission rate without exceeding the network’s capacity.

Dumbbell topology used to evaluate TCP Tahoe performance. (Drawn with YZ)
When the sender receives three consecutive duplicate acknowledgments for the same segment number, it retransmits the lost segment without waiting for a timeout. This mechanism is designed to mitigate the impact of packet loss.
When packet loss is detected—for example, due to timeout or the receipt of three consecutive duplicate ACKs—TCP Tahoe reduces the congestion window to one MSS and re-enters the Slow Start phase. Additionally, the congestion threshold (ssthresh) is set to half the value of cwnd just before the loss occurred. This enables the connection to adapt more cautiously to the congested network conditions.
Because TCP Tahoe interprets packet loss solely as an indicator of congestion, it can suffer performance degradation in environments where packet loss may result from errors rather than congestion, such as wireless networks.
Simulations have demonstrated that TCP Tahoe’s performance parameters—such as latency and window size—have a decisive effect on throughput. In particular, in low-latency networks (for example, 10 ms), a window size of 400 MSS or larger contributes to improved throughput. In high-latency networks, however, the impact of increasing the window size on throughput is more limited.

Congestion Control Mechanisms
Slow Start
Congestion Avoidance
Fast Retransmit
Behavioral Characteristics of TCP Tahoe
Impact of TCP Tahoe on the Network