Connect via MCP →

Enter Calculation

Formula

Advertisement

Results

Maximum TCP Throughput
10.49
Mbps
Throughput (Kbps) 10,485.76 Kbps
Throughput (bps) 10,485,760 bps

What Is the TCP Throughput Calculator?

This tool estimates the maximum theoretical throughput of a single TCP connection based on the TCP receive window size and the network round-trip time (RTT). Because TCP can only have one window's worth of unacknowledged data "in flight" at a time, the window size and RTT together cap how fast data can move — regardless of the raw link bandwidth. This relationship is the famous bandwidth-delay product constraint.

How to Use It

Enter the TCP window size in kilobytes (KB) and the round-trip time in milliseconds (ms). The calculator converts the window to bits and the RTT to seconds, then divides to give throughput in Mbps, Kbps and bps. A larger window or a lower RTT both increase achievable throughput.

The Formula Explained

The core equation is simply throughput = window size ÷ RTT. To get consistent units we convert: 1 KB = 1024 bytes = 8192 bits, and RTT in milliseconds is divided by 1000 to get seconds. So throughput in bits per second is $$\text{Throughput (bps)} = \frac{\text{Window (KB)} \times 8192}{\text{RTT (ms)} / 1000}$$ Dividing by 1,000,000 yields Mbps.

$$\text{Throughput (Mbps)} = \frac{\text{Window (KB)} \times 1024 \times 8}{\text{RTT (ms)} / 1000} \times \frac{1}{10^{6}}$$
Advertisement
Diagram showing a TCP window of data sent across a network link and an acknowledgment returning after one round-trip time
TCP throughput depends on how much data (window size) can be in flight per round-trip time (RTT).

Worked Example

Suppose the TCP window is 64 KB and RTT is 50 ms. Window in bits = $$64 \times 1024 \times 8 = 524{,}288 \text{ bits}$$ RTT in seconds = $$50 / 1000 = 0.05 \text{ s}$$ Throughput = $$524{,}288 / 0.05 = 10{,}485{,}760 \text{ bps} \approx 10.49 \text{ Mbps}$$ To fully use a faster link you would need a larger window (TCP window scaling).

Formula triangle relating throughput, window size in bits, and round-trip time
Throughput equals window size in bits divided by RTT in seconds.

FAQ

Why doesn't my throughput match my link speed? Because a small window over a high-RTT path limits how much data can be in transit. This is why long-distance links often need window scaling.

What window size do I need for a target speed? Rearrange: \(\text{Window (bits)} = \text{Throughput} \times \text{RTT}\). This product is the bandwidth-delay product, the ideal buffer size.

Does this account for packet loss? No — this is the loss-free maximum. Real throughput on lossy links is lower and better modeled by the Mathis equation.

Last updated: