Networking
How TCP congestion control learns a sending limit
TCP congestion control changes a sender’s outstanding-data allowance using delivery and congestion feedback. Compare startup, sustained growth and a shared-bottleneck model.

A TCP sender usually starts a connection without knowing how much traffic it can safely keep in the network. Other connections may share the route, the available service can change, and the sender cannot inspect every queue its packets encounter. Delivery reports and congestion evidence give it information with which to adjust the allowance governing further transmissions.
TCP congestion control manages that allowance. Its central quantity is the congestion window, which limits the amount of unacknowledged data a sender may have outstanding under its congestion-control rule. The window is control state that changes with experience. It is not a direct reading of the route's capacity.
Use a small, explicitly defined model to follow the adjustments. The examples below use equal-sized data units, simple growth rules, and stipulated congestion responses. These assumptions make the updates visible; they do not prescribe one implementation or imply that all TCP senders use identical rules.
The congestion window is a sending account
The sender's account has four quantities that need to stay distinct. The congestion allowance reflects the sender's response to network evidence. The receiver's allowance reflects how much data the peer permits it to send. Outstanding data consists of bytes sent but not yet acknowledged. Application demand describes whether there is more data waiting to be transmitted.
For a simple example, let the congestion allowance be eight equal-sized units and the receiver allowance twelve. If six units are outstanding, the current allowances permit two additional units. If the application has only one unit ready, only that unit can be sent. This account concerns permission; it does not specify the exact departure time of a packet.
Now suppose the receiver allowance falls to five while six units remain outstanding. Reducing the limit does not pull a unit back from the network. The sender needs to respect the revised allowance for future transmissions as the outstanding account changes. A congestion-control update and a receive-side constraint can therefore affect the same sender through different pieces of state.
These separate quantities explain why a sender can be quiet for several reasons. It may have reached its congestion allowance, be waiting for receive capacity, or simply have no application data ready. Observed traffic alone does not tell an observer which constraint is active.
The MSI RADIXAXE6600 Black Networking Router sku-1976725445 listing describes a WiFi 6E tri-band gaming router. It provides a concrete example of networking equipment that traffic can cross. The sender's allowance in this explanation belongs to the endpoint's control state; the product's wireless category does not supply its value or establish a particular TCP control rule.
Why slow start grows with acknowledgment feedback
At the beginning of a connection, the sender has to explore how much outstanding data the path can accommodate. In our stipulated startup model, it begins with an allowance of four units. Each acknowledgment of one newly delivered unit increases the allowance by one unit. Assume that the receiver allowance is sufficiently large, the application always has more data, and the acknowledgments provide the specified delivery information.
After four units have been newly acknowledged, the allowance has risen from four to eight. Acknowledging another eight units raises it to sixteen. Counting full groups of acknowledged data this way illustrates how feedback-dependent growth can approximately double an allowance over successive fully used feedback rounds.
In this example, slow start produces rapid growth once acknowledgments begin returning. The initial allowance is limited, but repeatedly applying the startup update can increase it quickly. The important assumption is the arrival of acknowledgments carrying new delivery information. Waiting for time to pass without that feedback does not trigger the increases in this model.
A sender also receives permission to replace newly acknowledged data, because that data leaves the outstanding account. During startup, this release of existing space combines with an increase in the overall allowance. Releasing existing space permits replacement data to be sent; increasing the allowance permits the outstanding total to grow.
Actual acknowledgment policies, application behavior, and update rules can change the details of startup growth. The arithmetic above assumes one specified increase for each newly acknowledged unit. It should not be turned into a claim that every connection doubles its allowance after every identical span of wall-clock time.
The comparison between acknowledgment-driven sending and slow start helps distinguish growth of the allowance from the timing of transmissions allowed by it. The related acknowledgment-clocking topic traces how clustered reports can release bursts even when the permitted outstanding amount has not increased. Startup adds a growth rule to that delivery-feedback process.
The congestion window changes after network evidence
Startup exploration cannot continue indefinitely on a finite shared path. Some congestion evidence must affect the rule governing the sender's allowance. For this example, assume that a qualifying congestion event halves the current allowance, and that the sender then enters a sustained growth phase with a more cautious update rule.
Halving an allowance of sixteen units produces an allowance of eight. If more than eight units are already outstanding when the update occurs, those packets continue their journeys. The new allowance constrains what follows as delivery reports arrive and the outstanding account is reduced. A control-state change does not instantly remove existing traffic from a queue.
A congestion window can be adjusted in response to evidence reported through explicit congestion notification. That related topic follows a marked packet through receiver feedback to a sender response. Here the example assumes that a qualifying signal has already reached the sender; the transport of that signal is a separate part of the system.
The sender's contract must specify which evidence triggers a response and how often that response applies. Repeated observations of one event should not automatically be treated as an arbitrary number of independent new events. Different contracts use different mechanisms to define and interpret the evidence.
The same window value can result from different feedback histories. The value may reflect recent increases, a prior reduction, and the time taken for feedback to arrive. A sender can have the same current allowance under several different histories and path conditions.
Compare startup exploration with sustained growth
For the sustained phase of our model, let a fully used feedback round increase the allowance by one unit. On qualifying congestion evidence, halve the allowance again. These are explicitly chosen additive-increase and multiplicative-reduction rules. They give the sender a way to probe upward while responding to evidence that the previous operating point offered too much traffic.
Starting from eight units, three qualifying growth rounds produce allowances of nine, ten, and eleven. In the startup model, the same sequence of fully acknowledged groups could have produced much larger increases. Startup and sustained growth therefore serve different purposes: the former explores from an initially limited allowance, while the latter makes smaller adjustments around an operating region already reached.
The transition between phases needs its own rule in a concrete implementation. It might depend on control state established by prior evidence. Our example does not choose a specific implementation's threshold or substitute a named algorithm for the stipulated arithmetic. It isolates what changes when exponential-like exploration gives way to smaller additive updates.
The sustained rule also does not identify a permanent safe limit. A sender can increase until congestion evidence prompts a reduction, then increase again. If competing traffic changes, the operating region can move. Even on a stable link, the sequence of allowed outstanding amounts may continue to vary.
Here, learning means using feedback to adjust behavior under uncertainty. It is not necessarily calculating a definitive numerical estimate of the bottleneck's physical transmission rate, nor does it acquire a complete model of all the other senders.
Trace two senders through a shared bottleneck
Suppose two continuously backlogged senders have equal feedback-round durations and traverse the same bottleneck. In a simplified accounting model, let the bottleneck support ten units per shared round. Begin with allowances of eight units for sender A and four for sender B. Their combined offer of twelve exceeds the stipulated service available in that round.
Assume both receive the same qualifying congestion event and apply the same halving rule. Their allowances become four and two, for a total of six. If each then adds one unit per shared round, the pair moves to five and three, then six and four. The combined allowance returns to ten, while the gap between the senders remains two units during those equal additive steps.
A further additive step makes the pair seven and five. Under our stipulated common signal, another reduction gives three and a half and two and a half. The absolute gap has narrowed to one unit. The fractional quantities stand for an abstract allowance measured in equal data units; real byte-based accounts do not require the same coarse units used in the illustration.
Under these matched assumptions, equal additive growth and a common multiplicative reduction move the allocations closer together. It also shows that the total offer rises and falls. A narrowing gap does not mean that the bottleneck receives exactly its service capacity during every round.
The example depends on both senders receiving the shared feedback event. If only one sender receives actionable evidence, its state changes while the other's may continue to grow. If their update factors differ, the next pair of allowances will differ too. The observed result belongs to the stipulated interaction, not to the words additive increase alone.
Why the fairness conclusion has limits
The comparison uses equal feedback-round durations. If one sender completes more feedback rounds in a given time, a rule that adds one unit per round can let it make more increases during that time. The same written update rule can then produce unequal rates of adaptation.
Application-limited periods create another difference. A sender whose application supplies little data may leave much of its allowance unused. Its control history and observations then come from a different offered workload than those of a continuously backlogged competitor. An unused allowance should not be counted as traffic actually arriving at the bottleneck.
Congestion evidence can also be ambiguous. The sender observes limited information at an endpoint, rather than a full record of every queue event. Whether a particular observation justifies a particular response depends on the defined contract and its assumptions. The learning process needs that interpretation; arithmetic by itself cannot establish why the path produced the observation.
Hardware labels answer a different question. For example, NOBRAND 1 Nighthawk RS200 Networking sku-18604559110 is listed as a dual-band WiFi 7 router without a built-in cable modem. Describing the device supplies no observations of the two senders' feedback delays or application workloads. Their traffic interaction needs evidence of its own before the fairness example can be applied to it.
Matched senders receiving matched feedback can narrow their allocation gap under the specified updates. It does not establish universal fairness across senders with different routes, feedback delays, workloads, or response rules.
Separate allowance learning from scheduling and recovery
A congestion allowance sets a limit on outstanding data. A separate scheduling or pacing rule governs when permitted packets depart. Changing the allowance can affect future opportunities to transmit without specifying their exact timing. A detailed explanation of pacing needs that additional timing rule, which is outside this model.
Reliable delivery introduces another task: handling missing bytes. A sender can need to recover a missing portion of its stream while also updating its congestion allowance. These concerns interact, but a recovery decision does not by itself provide a complete explanation of the congestion-control state.
To follow TCP congestion control, keep the sending account beside the feedback history. Start with the allowed and outstanding amounts, state the update rule, then follow newly acknowledged data and qualifying congestion evidence. That sequence explains how an endpoint adapts its offer to an unknown shared path without mistaking its current allowance for a direct measurement of the link.