Skip to content
ENExplore Calculators

Congestion Window Calculator

Model the AIMD sawtooth: how far cwnd drops on loss and how many round trips recovery takes.

About Congestion Window Calculator

Loss-based congestion control cuts the window by a fixed fraction, then rebuilds it linearly at one segment per round trip. The mean of that sawtooth is what the application actually experiences as throughput. Recovery time scales with RTT × window, so on a long path a single loss can cost seconds of reduced throughput — which is why CUBIC uses β = 0.7 instead of Reno's 0.5.

Formulas

Congestion Window

On loss cwnd → cwnd × β; recovery takes (cwnd − cwnd × β) ÷ additive increase round trips.

β
Multiplicative decrease factor (0.5 for Reno, 0.7 for CUBIC)
cwnd
Congestion window in segments

Throughput from mean window

average throughput = mean cwnd × MSS × 8 ÷ RTT

mean cwnd
Midpoint of the sawtooth
RTT
Round-trip time in seconds

Worked example

With the default values below, Congestion Window Calculator returns Congestion Window After Loss of 20.0. Change any input above and every figure here is recalculated in your browser.

Inputs used

Congestion window before lossminimum 1 segments
40 segments
Maximum segment sizeaccepts 88–9,000 bytes
1,460 bytes
Round-trip timeminimum 0.1 ms
25 ms
Multiplicative decrease factoraccepts 0.1–0.95
0.5
Additive increase per RTTaccepts 0.1–10 segments
1 segments

Results

Congestion Window After Loss
20.0 segments
Round Trips To Recover
20
Recovery Time
500 ms
Average Window Over The Sawtooth
30.0 segments
Average Throughput
14.02 Mbit/s

Step by step

  1. 1Values used
  2. 2Congestion Window
  3. 3Throughput from mean window
  4. 4Congestion Window After Loss= 20.0 segments
  5. 5Round Trips To Recover= 20
  6. 6Recovery Time= 500 ms
  7. 7Average Window Over The Sawtooth= 30.0 segments
  8. 8Average Throughput= 14.02 Mbit/s

Assumptions and limits

  • The result is derived only from the 5 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

How is Congestion Window calculated?

On loss cwnd → cwnd × β; recovery takes (cwnd − cwnd × β) ÷ additive increase round trips. Loss-based congestion control cuts the window by a fixed fraction, then rebuilds it linearly at one segment per round trip. The mean of that sawtooth is what the application actually experiences as throughput.

Why does Congestion Window matter?

Recovery time scales with RTT × window, so on a long path a single loss can cost seconds of reduced throughput — which is why CUBIC uses β = 0.7 instead of Reno's 0.5.

What values do I need to enter?

This calculator takes 5 inputs: Congestion window before loss, Maximum segment size, Round-trip time, Multiplicative decrease factor, Additive increase per RTT. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Congestion Window Calculator | Calcrivo