DSL Upload Speed – Does Uploading a File on DSL Affect Download Speed?

dslinternetnetworkingwireless-networking

I have the 20,127/893 Kbps service through CenturyLink DSL. I've ran speed test and it typically reports speeds close to that.

Except whenever I upload something substantial. Like a video file to YouTube. The upload takes forever, which I understand because of the 893 Kbps upload speed, but the entire time it is uploading the download speed grinds to a halt. It is so bad I cannot even connect to SpeedTest.net to do a speed test. The networking between other computers in the house is fine. But as long as one computer is uploading, all the computers might as well be kicked off the internet. For example, pinging Google takes 5 seconds to resolve the DNS and then the requests time out.

I called CenturyLink's support and talked to them for an hour and they said everything is fine. They had me reboot my computer and modem a few times, which of course didn't help. Finally they sent me a new (refurbished) modem to get me off the phone. It behaves the same.

So my question is if this behavior is typical of CenturyLink DSL or if something is really screwed up. Perhaps there is something I can do it fix it without spending another hour rebooting my modem while I am talking to an inept support person.

Best Answer

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.