Should uploading a file on DSL kill the download speed?

The TCP protocol, which most Internet traffic uses, uses a "sliding window" scheme to provide reliability. This means it will only send new contents (slide the window) when it receives the ACK messages indicating that part or whole of the current window has been received completely. So it requires frequent ACK messages to be send in the uplink for your download traffic to go through smoothly If the ACK messages are delayed or lost, the sender may slow down transmission and/or retransmit packets that you have already received.

By default, packets are transmitted by the OS in the order they are generated by the applications, so the ACK packets are interleaved with your upload traffic randomly. Your ISP (or your network device) controls your bandwidth use by delaying packets when your transmission speed exceeds the limit (aka throttling). This delay can happen on any packet including the delay-sensitive ACK packets.

To solve this problem, you'll need some kind of priority system to make sure the ACK packets are not throttled. There are paid software solutions for this. You can also achieve a similar effect if you limit the upload speed to a value below your allocated upload bandwidth. Alternatively, you can use applications that transmit files through UDP which does not require ACK messages.


You have two things going on here:

  1. Your uploading to a server, which is using most of your upload bandwidth and a bit of your download bandwidth to talk to the server to ensure the file is being received properly.

  2. Your trying to access the internet, which is using your download speed to talk from the internet, and using your upload speed to talk back to the server, to ensure the browser is receiving the files properly.

See the issue?

Your download speed is governed by many things: Line quality, level of service, location, wiring in the house, speed of the computer, upload speed, and any aberrational load on the system.

So, when you are uploading something, which is taking most of your upload bandwidth, and then try to download something from the internet, that download process doesn't have full access to your upload bandwidth, thus your DOWNLOAD speed is significantly reduced.