Maximum TCP throughput – the user experiences “low bandwidth” when up/downloading

Maximum TCP throughput calculations:
There are several important things what you should know before reading this.
Please check TCP/IP fundamentals at
Common window sizes:
Standard 64KB
Windows XP 17.5KB
SMB 16K/4K

TCP throughput: << this is a calculator, it can show you the throughut weakness 

Data throughput in TCP based on TCP window size and latency:
FTP TCP window 8KB -> 65356bit
Maximum TCP transfer = 65356bit/0.06s=1.038Mbps


General TCP window 64KB -> 524288bit
Maximum TCP transfer = 524288bit/0.06s=8738133,33bps = 8.533.33Mbps


DataMover TCP window 256KB -> 2097152bit
Maximum TCP transfer = 2097152bit/0.06s=33.33Mbps


Throughput can never exceed window size divided by round-trip time.
window = 17520byte = 140160
rtt 60ms = 0.06s
Max link throughput (based on window and rtt) = 140160bit/0.06s=2336000 = 2281,25kbps


The capacity of a pipe is its bandwidth multiplied by round-trip time.
BW = 2Mbps = 2097152bps
rtt = 60ms = 0.06s
Max link capacity (based on BW and rtt) = 125829,12bit = 15728,64byte


Formula to calculate the optimal TCP window size:
Bandwidth-in-bits-per-second * Round-trip-latency-in-seconds = TCP window size in bits / 8 = TCP window size in bytes
BW = 2Mbps = 2097152bps
rtt = 60ms = 0.06s
2097152bps * 0.06s = 125829,12bit = 15728,64byte — ideal window size


Formula to calculate Maximum Latency for a desired throughput
TCP-window-size-bits / Desired-throughput-in-bits-per-second = Maximum RTT Latency
TCP window size = 17520byte = 140160bit
desired BW = 2Mbps = 2097152bps
140160bit / 2097152bps = ~0.067ms is the max RTT for the desired 2M throughput



Please consider that these values are IP packets, not frames (or Layer2 bandwidths) or the packets’ data transers.
Layer2 overheads will “decrease” the link capacity:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.