Hi my friends;
I have question regarding throughput , let's say for example if I have 20M link, it doesn't mean that i can download 1 GBit file in 50sec, The throughput equation I've found is
“Max TCP throughput = RCV buffer size / RTT =? bps “
· Regarding the RCV buffer size, In Windows Server 2003, Windows XP, and Windows 2000, the Transmission Control Protocol/Internet Protocol (TCP/IP) stack tunes itself in most environments, using larger default window sizes than in earlier versions of Windows so we can assume the maximum here which is 64K.
· For RTT let's assume it's 200ms to the site i want to download from
The Question, If what stated before is correct, that means under all circumstances I can't take throughput above 64*8/.200=2560Kbps=2.56Mbps or I can only download the 1GBit file in 1*1024/2.56=400 sec regardless what's contracted BW is (20M or 100M doesn’t matter), please correct me if i'm wrong as i feel i'm missing something in my understanding, thanks
your understanding is correct.
RFC 1323 introduces the concept of extended TCP window beyond 64 KB to better use high speed links
see also TCP tuning
they provide a procedure for Windows systems
this means that to use effectively an high speed link with a meaningful RTT, the TCP stacks of endpoints have to be tuned but this is not a network problem.
Typically server people try to claim it is a network issue but it is not as the network is there to serve multiple flows over WAN links.
The fact that single TCP session cannot use the available bandwidth comes from TCP settings.
We had to demonstrate this over a 622 Mbps link with 700 km of distance.
Hope to help
This is correct and since Windows is mentioned this link from Microsoft states the same:
"Throughput can never exceed window size divided by round-trip time." This is what the simplified equation you are using calculates.