Windows – Browsing speed is fast, but download speed is 0

downloadthrottlingthroughputwindows 10

I'm currently using Windows 10 and netcomm nb604n router.

Problem:
Web browsing on chrome/edge/firefox works fast, but my download speed from majority of websites start around 10kb/s and eventually (in a few minutes) decrease to 0kb/s.

Here are some example files that does this:
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/1.0.1/providers/virtualbox.box
https://git-for-windows.github.io/ (there is a download button)

When I am downloading from utorrent, or when I installed the Unity engine through Unity's installer, my download speed was fine.

Things that I have tried:

  1. Running the test on speedtest.net. It says that my download speed is 18MB/s and upload speed is 1Mb/s. Of course this doesn't demonstrate the actual speed that I'll get when downloading/uploading from a server, but my ISP is using this to say that there is no problem on their side.

  2. Taking my router, filter, and all cables to another house and downloading the same files that I couldn't download. This worked perfectly fine, so I'm guessing that my equipment is not the issue.

  3. Using both wireless and LAN on a brand new computer and an old laptop. The problem exists in all cases.

  4. Resetting and restarting the router. Did not do anything.

  5. Changing the mtu settings as suggested on Windows 7, download speeds drop to 0 kb/s and the download has to be restarted
    Unfortunately this didn't solve my issue.

  6. Calling my ISP to make sure that they weren't throttling my network. They are denying any fault on their end, and are claiming that there is something wrong with my computer or my router but refusing to provide a solution.

If anyone has any suggestions or ideas on what I could try to resolve this issue, please let me know!

Best Answer

It is possible your ISP has a Transparent Proxy

You have ruled out the usual suspects for this sort of issue, which leads me to believe that might have an ISP that uses a transparent proxy - I'll describe that below.

To be clear - I'm not 100% positive this is your issue - it seems plausible and is worth looking into - it's becoming more and more common a problem.

In order to explain this (without knowing your background), I need to provide some very basic background on encrypted communication protocols, so bear with me.

If you don't care about the background info, jump to the Summary section where I list some ways to test if a proxy is causing your issues.

Unencrypted TCP Transactions Work

We know that speedtest.net is working (reasonably) well. That test essentially builds its own unencrypted messages / payload and afterwards uses TCP connections between the remote and local hosts.

Encrypted TCP Transactions Do Not Work

On the other hand, both of the sites that you cite as being problematic are conducted over secure connections using https.

https and transparent proxies

  1. https is used to create a secure (encrypted) communication channel over an insecure channel (e.g. the internet).

  2. TLS/SSL - An application conducting an https transaction creates a TLS/SSL connection to the remote client which, among many other things, provides the client with the information necessary to decrypt the messages from the host.

  3. client/host trust - This secure handshake is based on establishing a trusted relationship between host and client based on pre-existing 'trusts' which are granted by Certificate Authorities (aka ca certs).

  4. MITM - Attempts to 'break into' a secure TLS/SSL channel are sometimes called a 'man in the middle' (mitm) attack, and are usually done by the attacking 3rd party host pretending to be the host to client, and the client to the host. In other words, the client thinks it's talking to the remote site it connected to, but it is actually talking to a third party proxy.

  5. Transparent Proxy - One method to to do this is with what's called a transparent proxy. I can't start to explain how they work here - read this for a good explanation. For a transparent proxy to work, the client usually has to have actively accepted (trusted) a certificate from that proxy - e.g. software provided by the ISP, but there are ways around that.

  6. https now insecure - The transparent proxy, which functionally is a man in the middle attack, allows the host running the proxy to fully decrypt all https traffic for whatever reason (corporations for policing their employees, ISPs for spying on their customers and to allow them to cache content that gets provided encrypted, criminals for stealing sensitive information, etc.). Your passwords, bank account info, sensitive emails - all fully accessible by whomever it is in charge of the proxy.

Summary

If your ISP has a transparent proxy, it could be interfering with your secure communications and not impacting your insecure ones, which is why I think this might be your problem. Even though normal https web browsing is not impacted by this in your case, there are significant differences in the nature of the traffic for downloads vs. web pages that could trigger the issue. In some cases (my own company for example), the proxy will intentionally behave this way - large downloads slow down to a trickle if the proxy 'decides' that a particular file needs inspection before allowing it through.

Tests

If any of these tests indicate you are behind a proxy there is no need to continue with the next tests; jump to the end. I got the proxy detection tests from here: Source

  1. Go to this website http://whatismyip.network/proxy-check and see if it detects that you are behind a proxy. If it says you are not behind a proxy, write down what it says your public IP address is.

  2. Go to http://whatismyip.network/ and check it's reported IP address against the one from step 1. If they don't match, you ARE behind a proxy.

  3. Try this proxy detection site (different approach) http://www.lagado.com/proxy-test

  4. Last proxy check (they can be very well hidden). This is the most effective check I'm aware of, but is more involved than the others. http://www.lagado.com/tools/cache-test

  5. Try a variety of downloads from http sites and compare them against https sites. I put two links below for a 400M download, one http the other https.

VPN Test and Solution

The only way around an ISP's proxy is to use a VPN service. That will ensure that they aren't manipulating or consuming your data, and possibly degrading your service at the same time.

If you don't have a VPN service to test with, there are a bunch of free ones. I suggest cyberghost. Once you have setup and connected to the VPN, check your download speeds again (http vs https) - even if no proxy was found, it's possible that a VPN will fix whatever it is your ISP may be doing to your data.

If the VPN does fix your issue, I highly recommend moving on to a paid VPN service for long term use - you get what you pay for. private internet access is a good one to look at.

Related Question