Calculating Actual Download Speed -- Without Downloading!

Collabora

Well-known member
Joined
Jan 24, 2017
Messages
113
Best answers
0
Ratings
12
Points
18
#1
I will show you how to calculate download speed -- without downloading anything! But first I need to define an important term: TCP window size

The TCP receive window size is the maximum amount of received data, in bytes, that can be buffered at one time on the receiving side of a connection. The sending host can send only that amount of data before waiting for an acknowledgment and window update from the receiving host. By default, the TCP receive window size for Windows is 64 Bytes

We will be using network latency in our calculations. To find network latency we can use Ping. Ping will send out a packet to a remote host and measure the round trip time for that packet to reach the host and return. For our example lets use the latency between my personal computer and forumweb.hosting:


C:\Users\Dean>ping forumweb.hosting

Pinging forumweb.hosting [104.18.49.112] with 32 bytes of data:
Reply from 104.18.49.112: bytes=32 time=25ms TTL=58
Reply from 104.18.49.112: bytes=32 time=26ms TTL=58
Reply from 104.18.49.112: bytes=32 time=24ms TTL=58
Reply from 104.18.49.112: bytes=32 time=26ms TTL=58

Ping statistics for 104.18.49.112:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 24ms, Maximum = 26ms, Average = 25ms

The report shows a round trip time of 25ms

LET'S CALCULATE!

(1) Convert the TCP window size from bytes to bits: Since 64 KB is the default TCP window size for computers running Windows we have 64 KB x 8 = 524,288 bits.

(2) Divide the TCP window size in bits by the network path latency. For this example use a latency of 25 milliseconds. 524,288 bits / .025 seconds = 20,971,520 bits per second

(3) Convert the result from step 2 to megabits per second by dividing the result by 1,000,000. In this example, the maximum throughput is 21 Mbps with the main limitation on the network throughput being the latency of the network connection. Divide that by 8 and we get 2.5 MBps (I am on a basic DSL line :blush:)

In summary: divide 524,288 by latency(ms), take that result and divide by 1,000,0000 to get Mbps, divide that result by 8 to get MBps
.
.
 

David Beroff

Well-known member
Joined
Jun 14, 2016
Messages
973
Best answers
0
Ratings
83 1
Points
28
#2
I also tried to ping this forum and it is showing a different result

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\davidb>ping forumweb.hosting

Pinging forumweb.hosting [104.18.49.112] with 32 bytes of data:
Reply from 104.18.49.112: bytes=32 time=43ms TTL=57
Reply from 104.18.49.112: bytes=32 time=43ms TTL=57
Reply from 104.18.49.112: bytes=32 time=43ms TTL=57
Reply from 104.18.49.112: bytes=32 time=43ms TTL=57

Ping statistics for 104.18.49.112:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 43ms, Maximum = 43ms, Average = 43ms
The average of ping time is 43ms and it is still exact if I apply your formula?
I want to ask the ping time to every website on different networks will give us different results?
 
Joined
Apr 26, 2017
Messages
28
Best answers
0
Ratings
1
Points
0
#3
Unfortunately OP, you are completely incorrect.

While latency does have an impact on the total throughput you are able to achieve from point a to point b, it cannot be used to calculate the throughput you will achieve.

---

Let's debunk your notion shall we?

Code:
C:\Users\xxxx>ping 94.23.xxx.xxx

Pinging 94.23.xxx.xxx with 32 bytes of data:
Reply from 94.23.xxx.xxx: bytes=32 time=104ms TTL=50
Reply from 94.23.xxx.xxx: bytes=32 time=103ms TTL=50
Reply from 94.23.xxx.xxx: bytes=32 time=103ms TTL=50
Reply from 94.23.xxx.xxx: bytes=32 time=103ms TTL=50

Ping statistics for 94.23.xxx.xxx:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 103ms, Maximum = 104ms, Average = 103ms
Using your math my download speed should be ~5.04123076923076 Mbit/s, however in reality I am easily able to achieve ~100+ Mbit/s.

calculating-actual-download-speed.png
 

Collabora

Well-known member
Joined
Jan 24, 2017
Messages
113
Best answers
0
Ratings
12
Points
18
#5
Unfortunately OP, you are completely incorrect.
Using your math my download speed should be ~5.04123076923076 Mbit/s, however in reality I am easily able to achieve ~100+ Mbit/s.

Yes, I agree. It doesn't work at all. With the same latency (25ms) I can download with a speed up to 100Mbit/s.
What is your TCP Window sizes? Obviously not 64K. A host can't send more data than the RWIN size until host receives the ack from remote host.
 
Latest Threads
Recommended Threads
Similar Threads

Latest postsNew threads

Latest Hosting OffersNew Reviews

Sponsors

Latest Blog ArticlesMost Viewed Threads

Tag Cloud

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

Top