How to block multi threaded downloads?

4

1

Some applications like Steam and Microsoft Windows Store insist on a multi-threaded download strategy - they'll open 10 or more connections simultaneously when you download an application or game. Since each connection reaches a powerful CDN server, this creates devastation on my network which has 25% packet loss on pings during a game download.

If I'm downloading regular files from the internet I have 0% packet loss. I can limit steam's download speed, but not the number of connections it opens. This is a shame because I can max out my connection with only 1 or 2 threads without slowing down the entire network.

Is there a way to block an application in Windows from opening a large number of simultaneous connections? I realize this might be a hack that could potentially disrupt the app's normal functioning but I'm open to all suggestions. If router options also exist that offer this I'm open to that as well.

A way to reproduce the problem is to download a free to play game on steam and run a ping to monitor packet loss.

cloneman

Posted 2016-10-16T04:37:55.973

Reputation: 1 016

"devastation on my network"... which part of 'your network'? – Tetsujin – 2016-10-16T17:59:42.547

Too much incoming traffic. The amount of traffic trying to come in exceeds the line capacity which creates packet toss. With well behaved downloads, the tcp ip flow control ensures that other traffic has the ability to displace it – cloneman – 2016-10-18T00:09:19.657

I’d say Steam is pretty well-behaved. I have no issues whatsoever. If you feel your Internet connection dies when saturated, limit the bandwidth. – Daniel B – 2016-10-19T10:18:18.117

Steam shows download speed in MBs not Mbs, are you sure you limited it to the correct amount? – HoD – 2016-10-19T10:32:54.183

1

Do you reach your max. download with those "well behaved" downloads? You could look into your router settings whenever you can set a limit there. This does sound like a router/net component issue to me more than a actual windows issue. You could check this out and see if any of it helps.

– Seth – 2016-10-19T11:28:30.697

Yes, I do reach the max speed with 1 well behaved download. The test to reproduce the issue is to download a large game on steam and monitor for packet loss with ping. 50mbps/10mbps connection here. – cloneman – 2016-10-21T04:45:36.570

Answers

2

Steam uses the following ports for login and download of content:

HTTP (TCP port 80) and HTTPS (443)

UDP 27015 through 27030

TCP 27015 through 27030

Source: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711

What you could do is restrict some of these ports through your router. So lets say enable only 27015 through 27020. This would cut down the amount of ports to 33% of what it originally tries to use. I'm not sure how this will actually break steam, but if it uses one port per thread, this may fix your issue or may break everything.

For the Windows Store apps, there is no documentation on which ports are used, but you could use something like WireShark to find out and then block some of them.

Alternatively, you could just go to the Steam settings and set the download speed, which would reduce the amount of incoming traffic. Again for Windows Store app, not sure if you can change this.

IronWilliamCash

Posted 2016-10-16T04:37:55.973

Reputation: 1 314

A good try but it looks like steam is using ports in the large 51000 and 52000 ranges in my case.

I was able to catch the windows store downloading from 72.246.43.0/24 so I can put it in a rather aggressive throttle of 30% maximum incoming bandwith - which solves the problem but of course limits its download speed considerably. – cloneman – 2016-10-22T13:45:19.907