TCP Retransmission Calculator
Apply the Mathis equation to see the throughput ceiling packet loss imposes on a single TCP stream.
Inputs
Mathis Throughput Ceiling
9.23Mbit/s
Retransmitted Segments
20.0segments/s
Effective Goodput
233.37Mbit/s
Retransmission Overhead
0.100%
Step by step
Values used
Maximum segment size = 1,460 bytes; Round-trip time = 40 ms; Packet loss rate = 0.1000 %; Segments sent per second = 20,000 segments/s
TCP Retransmission
throughput ≈ MSS ÷ (RTT × √p), where p is the loss probability.
Goodput after loss
goodput = segments/s × MSS × 8 × (1 − p)
Mathis Throughput Ceiling
= 9.23 Mbit/s
Retransmitted Segments
= 20.0 segments/s
Effective Goodput
= 233.37 Mbit/s
Retransmission Overhead
= 0.100
How it works
The Mathis equation comes from averaging the AIMD sawtooth: a loss event halves the congestion window and it then grows one segment per RTT, so the mean window — and therefore throughput — scales with the inverse square root of the loss rate. Goodput subtracts the retransmitted share from the offered rate. Loss hurts far more than intuition suggests: going from 0.01% to 1% loss cuts a single stream's ceiling tenfold, which is why a 'barely lossy' WAN link kills bulk transfers.
Formulas
TCP Retransmission
throughput ≈ MSS ÷ (RTT × √p), where p is the loss probability.
- MSS
- Maximum segment size in bits
- RTT
- Round-trip time in seconds
- p
- Packet loss probability (loss % ÷ 100)
Goodput after loss
goodput = segments/s × MSS × 8 × (1 − p)
- p
- Loss probability
- MSS
- Payload bytes per segment
Frequently Asked Questions
How is TCP Retransmission calculated?
throughput ≈ MSS ÷ (RTT × √p), where p is the loss probability. The Mathis equation comes from averaging the AIMD sawtooth: a loss event halves the congestion window and it then grows one segment per RTT, so the mean window — and therefore throughput — scales with the inverse square root of the loss rate. Goodput subtracts the retransmitted share from the offered rate.
Why does TCP Retransmission matter?
Loss hurts far more than intuition suggests: going from 0.01% to 1% loss cuts a single stream's ceiling tenfold, which is why a 'barely lossy' WAN link kills bulk transfers.
What values do I need to enter?
This calculator takes 4 inputs: Maximum segment size, Round-trip time, Packet loss rate, Segments sent per second. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Does the Mathis equation apply to modern congestion control?
It models loss-based Reno/CUBIC behaviour, so treat it as the pessimistic bound. BBR and other rate-based algorithms are far less loss-sensitive and can exceed this figure on links with non-congestive loss.