In the midst of trying to diagnose a slow vpn issue, I'm getting a bit confused by the various metrics being mentioned by the many different techs I've been speaking with.

From what I understand, bandwidth is the size of the pipe (the number of lanes on the freeway), latency is response speed (how fast cars can travel on the freeway). But then we start getting into issues of Upload speed vs Download speed (40Mbps upload/15Mbps down) and things start to break down for me.

Tools like ping measure latency (more or less considering it's ICMP that can be dealt with in different ways by different routers), and iperf measures bandwidth. Tools like Ookla Speedtest report download and upload speed. If ping reports 20ms and iperf reports 20Mbps bandwidth, how do these relate to upload and download speeds reported by Speedtest as 80Mbps down and 15 Mbps upload?

Also, if I wanted to verify or confirm speeds as indicated by the Ookla speed test with different tools (iperf or 'nc` or other), how would do this to get similar speeds for upload and download. This could also be for any other tool that reports download/upload speed, not just Ookla.

Thanks for any insights.

  • 1
    The bandwidth is how fast data can be serialized to and from the interface, and it is a function of the interface. For example, 100 Mbps ethernet had a bandwidth of 100 Mbps. What a lot of people call bandwidth is really throughput. You can have a dozen processes, each using some of the interface bandwidth, but each has its own throughput, but things like your speed test are really only measuring the throughput of that process, which is probably some fraction of the actual bandwidth. Latency does not involve bandwidth, it is how long it takes for something to get from one end to the other..
    – Ron Maupin
    Oct 19, 2020 at 22:03
  • 1
    If you connect across two 80/15 Mbit/s Internet links, 15 Mbit/s is the best you can ever get since the uplink will always be the bottleneck.
    – Zac67
    Oct 20, 2020 at 7:25
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can post and accept your own answer.
    – Ron Maupin
    Dec 17, 2020 at 22:34

2 Answers 2


iperf measures bandwidth. Tools like Ookla Speedtest report download and upload speed.

"Speed" is a term that's often misused. All these tools measure throughput -- the amount of data sent in a given amount of time. Speedtest and similar programs measure throughput to their servers -- which may or may not be representative of your application. Iperf can be configured on your hosts, and so can give a real-world measurement.

To use your analogy, throughput is the number of truckloads of widgets that can be delivered in a day. Speedtest measures how many can get from the shipper to the Speedtest warehouse, while iperf measures from the shipper to the final destination.

  • So if the ISP is telling us that they're giving us 45Mbps download and 15 Mbps upload and I run an iperf client server set up that tells me we have a bandwidth of 10Mbps between our two vpn endpoints, is that an issue that I need to bring up? It seems like it, but iperf isn't giving the same '45Mbps down / 15 Mbps up' numbers, which makes it hard to discuss the issue. (not trying to get help diagnosing the slowness, trying to get help translating the output of the various tools).
    – Silfheed
    Oct 20, 2020 at 0:35
  • 1
    If you read the fine print, your ISP will say something to the effect that "your mileage may vary." Those numbers are what you get when everything is perfect -- which it never is. Also, that's the performance between you and the ISP. The ISP may have congested links to other ISPs. Those ISPs may have trouble with the far-end of your VPN. If the speed test to your ISP is 'close' to what they promise, there's nothing they will do -- that's all they promise.
    – Ron Trunk
    Oct 20, 2020 at 1:00

Bandwidth, Latency, Download speed and Upload speed

You are almost correct. Let me re phrase few of your definitions:


Bandwidth is the maximum possible data you can transfer over a cable in unit time. Important thing to note here is bandwidth is an ideal case concept. That is under ideal circumstances with no contention, collissions etc, the maximum data rate through a wire is its bandwidth.


Latency is slowness introduced in the network due to one or more reasons. For eg. lets say you ping google.com. There are several elements that may contribute to latency:

  1. The routers that are responsible to transporting your packet to google servers be congested. Hence the packet may spend some milliseconds waiting in the outgoing queue of the router before been serviced.

  2. The google servers may be clogged, so it might take longer than usual to ack or respond to the request.

Latency is variable and may changes continusously depending on the underlying network.

  1. Uplink and downlink speeds is basically the eventual throughout you get for your data.

This is largely controlled by your network providers. The traffic is tagged with various QOS paramets that determines how fast will the packet be serviced and thus determines what would your eventual speed be

The uplink and download speed is result of the various SLAs that we have with our data providers.

  • 1
    "the maximum data rate through a wire is its bandwidth." Not exactly. For example, 100Base-TX has a bandwidth of 100 Mbps, period. Data is serialized through an interface of that standard at 100 Mbps, no more, no less. The bandwidth is how fast data can be sent through an interface. In some cases, it is adaptive, and it varies and the bandwidth at one time could be lower than the bandwidth at a different time, but the maximum value is not the bandwidth, it would be how fast you can serialize the data at the given time.
    – Ron Maupin
    Oct 19, 2020 at 23:41
  • You also need to include propagation delay in your latency calculations.
    – Ron Trunk
    Oct 19, 2020 at 23:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.