TCP window size and throughput 

Joined:
04/07/2009
Posts:
135

January 26, 2010 04:41:31    Last update: January 26, 2010 04:41:31
If no packets are dropped, TCP throughput can be calculated from the TCP window size and network latency:

throughput = TCP window size / RTT (roud trip time)


Assume that the TCP window size is 64KB and the RTT is 40ms, the throughput is:

65936 Bytes / 40 ms = 1.6 MBytes/s = 13 Mbits/s


Note that the throughput has nothing to do with the bandwidth, which is the result of assuming that no packets are dropped, basically assuming that the bandwidth is infinite. Therefore, the bandwidth shown above is the maximum possible bandwidth given TCP window size and latency.

But in reality the bandwidth is limited and throughput won't grow infinitely with the TCP window size - it can only grow to as big as the bandwidth allows. So what's the optimal TCP window size for a given bandwidth?

optimal window size = RTT * bandwidth


With optimal window size, assuming that no packets are dropped, the throughput equals the bandwidth.

Resources:
  1. How to calculate TCP throughput for long distance WAN links
  2. TCP Tuning and Network Troubleshooting
Share |
| Comment  | Tags