jackshiels
Expert Member
jackshields is correct: that with application, TCP/IP & ATM overheads, you'll lose about 13% of the 10Mbps, meaning that you'll get a maximum of about 8.8Mbps download speed with local stuff.
As soon as you go and download stuff from international servers, the latency and amount of connections plays a big role, due to the window size of TCP connections.
For instance if your latency (RTT = round trip time) is 250ms, then the fastest that you can download using a single TCP connection is: speed (in kbps) = 512/RTT
eg. 512/0.250 = 2048 kbps.
So to reach 10Mbps to a server with a latency of 250ms, you'll need to open at least 5 connections!
* take note that I've used a TCP window buffer size of 64KB - like used here: http://cisconet.com/traffic-analysis/throughput/104-tcp-throughput-calculation-formula.html
If you take an average maximum latency for local servers to be say 30ms, then you should be able to max out your 10Mbps ADSL connection with a single connection. eg. 512/0.030 = 17,067kbps
This is such a good post it should be pinned. Explains why downloads get slower over distance.