TCP Throughput Estimate Calculator — Mathis Formula
Estimate loss-limited TCP throughput, or solve for MSS, RTT or packet-loss rate — with step-by-step math, live log-scale charts, an RTT × loss heat table, and unit conversions.
Loss enters as a square root
Cutting the loss rate by 100× only raises throughput 10×. Going from 1% to 0.01% loss buys a tenfold gain, but going from 0.001% to 0.0001% buys just 3.2×.
RTT hurts linearly
Doubling the round-trip time halves throughput at the same loss rate. This is why long-haul and satellite paths need extremely low loss to fill a fast link.
MSS scales throughput directly
Bigger segments mean more bytes per congestion-window step. Jumbo frames (8960-byte MSS) deliver about 6× the loss-limited rate of a 1460-byte MSS.
It's an upper bound
The result is the loss-limited ceiling. Actual throughput is the minimum of this value, the link capacity, and the receive-window limit (window / RTT).
How to Use This Calculator
The Mathis formula links four quantities: throughput, MSS, RTT and packet loss, with a constant C that captures the loss pattern. Pick what to solve for and fill in the rest.
1. Choose what to solve for
Throughput, MSS, RTT, or loss probability. The tool rearranges the formula and locks that field.
2. Enter path characteristics
Set RTT in milliseconds and loss as a percentage. Presets cover typical LAN, WAN and satellite paths.
3. Pick MSS and the constant C
Use 1460 for standard Ethernet and choose C based on delayed ACKs or loss pattern. Both stay editable whatever you solve for.
4. Read the result
Throughput auto-scales between bps, Kbps, Mbps and Gbps, with engineering notation and full working shown step by step.
5. Explore the charts
Toggle between throughput-vs-loss and throughput-vs-RTT curves to see how sensitive your path is.
6. Go Advanced
Advanced mode adds sensitivity, connection metrics (window size, BDP, transfer time) and a deeper look at what drives throughput.
What This Tool Offers
Built around the Mathis et al. model, a standard back-of-the-envelope tool for reasoning about TCP performance over lossy paths.
Solve four ways
Estimate throughput, or work backwards to the MSS, RTT or loss rate a target rate requires.
Two live log-scale charts
Curves for several RTTs or loss rates, with your operating point marked.
RTT × loss heat table
A colour-graded throughput grid computed from your MSS and C.
Required-loss table
See the maximum loss rate that can still sustain 1 Mbps up to 10 Gbps at your RTT.
Sensitivity check
See how a 1% change in each input moves the answer.
Unit converter
Convert between bps, Kbps, Mbps, Gbps, MB/s and GB per hour.
Conversion Tables & Reference
Throughput unit conversion, plus live tables driven by your current MSS, RTT and C.
Throughput unit converter
Unit Conversion Reference
| Unit | In bits/s | In bytes/s | Typical example |
|---|---|---|---|
| 1 Kbps | 1,000 | 125 B/s | Legacy dial-up era |
| 1 Mbps | 1,000,000 | 125 KB/s | Basic video call |
| 100 Mbps | 10⁸ | 12.5 MB/s | Fast Ethernet |
| 1 Gbps | 10⁹ | 125 MB/s | Gigabit Ethernet |
| 10 Gbps | 10¹⁰ | 1.25 GB/s | Data-centre link |
Throughput Heat Table (RTT × Loss)
Loss-limited throughput for the current MSS and C.
Loss Rate Required to Sustain a Target Rate
Maximum loss rate for each target at the current RTT, MSS and C.
Common Values for the Constant C
| C | Value | Assumption |
|---|---|---|
| √(3/2) | ≈1.2247 | Periodic loss, an ACK for every packet |
| √(3/4) | ≈0.8660 | Periodic loss with delayed ACKs (one ACK per two packets) |
| ≈1.31 | 1.31 | Random (Bernoulli) loss, per-packet ACKs |
What Does the Mathis Formula Measure?
Loss-based TCP grows its congestion window until a packet is dropped, then cuts it and grows again, a sawtooth pattern. Mathis, Semke, Mahdavi and Ott showed that the average of that sawtooth depends on just three path properties: segment size, round-trip time and loss rate. The result is the steady-state throughput a single long-lived TCP flow can sustain on a lossy path.
Mathis Formula
Rearranged to solve for the other variables:
MSS is in bits when computing bits per second, so bytes are multiplied by 8.
Variables
| Symbol | Meaning | Notes |
|---|---|---|
| Throughput | Steady-state TCP rate | Shown in bps, Kbps, Mbps or Gbps |
| MSS | Maximum segment size | Bytes; 1460 typical on Ethernet |
| C | Model constant | ≈0.87–1.31 depending on ACK and loss pattern |
| RTT | Round-trip time | Entered in ms, used in seconds |
| p | Packet loss probability | Entered as %, used as a fraction |
Calculation Examples
MSS·C = 1460 × 8 × 1.2247 = 14,305 bits
RTT·√p = 0.05 × √0.001 = 0.0015811
Throughput = 14,305 / 0.0015811 = ≈9.05 Mbps
p = ( 14,305 / (0.02 × 10⁹) )² = (7.15 × 10⁻⁴)²
p = ≈5.1 × 10⁻⁷ (about 0.00005%)
Frequently Asked Questions
No. It is a steady-state upper bound for a single long-lived, loss-limited flow. Link capacity, receive-window limits, competing traffic and slow start can all push real throughput lower.
The window at which loss occurs scales as 1/√p: with loss probability p, a flow sends about 1/p packets between drops, and the sawtooth area works out to a window of order 1/√p.
It was derived for Reno-style AIMD. CUBIC scales differently with RTT and loss, and BBR is largely loss-agnostic, so treat the formula as a rough benchmark for those algorithms.
Use about 1.22 for periodic loss with per-packet ACKs, 0.87 with delayed ACKs, or 1.31 for random loss. The differences shift results by tens of percent, not orders of magnitude.
Because throughput falls with RTT. At 100 ms RTT and 1460-byte MSS, sustaining 1 Gbps requires a loss rate far below 0.0001%, see the required-loss table above.
The receive window (max throughput = window / RTT), the bottleneck link capacity, and application behaviour. The effective rate is roughly the minimum of all of these.
What it means
The Mathis formula is a simple yet powerful model for estimating TCP throughput based on the packet loss rate and round‑trip time (RTT). It is derived from the TCP congestion control mechanism, particularly Reno, and is given by Throughput ≈ (MSS * C) / (RTT * √p), where MSS is the maximum segment size, C is a constant (often 1.22 for TCP Reno), and p is the packet loss probability. The formula shows that throughput is inversely proportional to RTT and the square root of the loss rate. This implies that even small packet losses can severely impact throughput, especially over long RTT links. It is widely used to predict the performance of TCP connections over error‑prone links (e.g., wireless) and to dimension network buffers. The formula is an approximation; it assumes that losses are due to congestion and not corruption. It is also used in evaluating the impact of TCP options like SACK and window scaling. Understanding this formula helps network engineers diagnose poor performance and choose appropriate congestion control algorithms.
Worked example
TCP Throughput (Mathis) – Two Examples
Real‑World| Parameter | Value |
|---|---|
| MSS | 1460 bytes = 11,680 bits |
| RTT | 50 ms = 0.05 s |
| p | 0.001 |
| Parameter | Value |
|---|---|
| MSS | 11,680 bits |
| RTT | 0.2 s |
| p | 0.01 |
Common mistakes
- Constant C: Usually 1.22 for TCP Reno; different congestion control algorithms have different constants.
- MSS units: Maximum segment size in bytes – convert to bits if needed.
- Packet loss p: Must be a fraction (e.g., 0.01 for 1% loss) – not a percentage.
- RTT: In seconds – not milliseconds without conversion.
- Assumptions: The formula assumes no timeouts and limited window growth; it is an approximation.
Applications
The Mathis formula estimates TCP throughput as a function of the maximum segment size (MSS), round‑trip time (RTT), and packet loss rate (p). It is widely used in network performance engineering to predict the achievable throughput of a TCP connection under lossy conditions. Engineers apply this formula to diagnose performance bottlenecks, to configure network equipment for high‑speed links, and to design congestion control enhancements. It also helps in capacity planning for data centres and WANs, where loss rates and RTTs vary. Understanding this formula is essential for troubleshooting slow file transfers and for optimising application performance over TCP.
- Performance estimation of TCP connections
- Network capacity planning and troubleshooting
- Design of congestion control algorithms
- Optimisation of satellite and mobile networks
- Quality of service (QoS) analysis
Related calculators · Networking
Recently updated formulas
Suggest an improvement
Found a mistake? Have a better example? Let us know.
You may send up to 3 suggestions per 24 hours.