Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use traffic shaping in MonoWall (BSD) to great advantage with my home connection. It has been quite some time since I've had any kind of issues where user interaction with the internet has seen any annoyance caused by anything on the local network.

I've read some traffic shaping theory documentation, and the usefulness of shaping upload cannot be argued. But, I'm at a crossroads as to whether I should use limitations on download or not.

The opposed schools of thought are:

  1. If traffic has made it across the network/internet to arrive at your router, to drop or delay any part of it is misguided at best, and an insult/damage to the network (in forcing it to resend things) at worst.
  2. If some services/machines are "over-demanding" data, then some of that returned data is probably already being dropped upstream before it gets to the router, which can cause bad things, like DNS responses and ACKs being dropped.

So, all that said, does implementing shaping on downloads make sense, or is it wasteful over-control?

share|improve this question
up vote 2 down vote accepted

The main reason you may want to use incoming traffic shaping is to prevent the bufferbloat problem. If your Internet connection is ADSL or Cable Internet, and the upstream device has large buffers (it usually does), what happens is that latency goes through the roof once your link is fully saturated. Therefore you cannot use latency-critical services like VoIP at the same time as you're downloading stuff, etc.

In this scenario, shaping incoming traffic to about 90% of your maximum available incoming bandwidth lets you keep the latency at manageable level, without affecting your overall throughput much.

share|improve this answer
And in this case, because the "other side" has really big buffers to start with, packets aren't really being dropped (forcing the network to send them again), but just being delayed, which over time should force the misbehaving thing to start behaving correctly? – killermist Jun 11 '12 at 16:53
Once you start dropping packets, other end of your TCP connection will slow down, and the big buffers at your ISP's network equipment will not be filled up. Therefore, other traffic will have a chance to reach you in time (and not be queued at the end of your ISP's large buffers). Hope this clarifies the issue... Please visit the Wikipedia page I linked for more info. – haimg Jun 11 '12 at 16:57
I looked at the wikipedia link. That explains so much of why even after traffic shaping upload, some "bad behavior" occurred while heavy downloads were taking place. Upon further reflection, I don't think a little shaping of downloads on my end will "do harm" to the internet. – killermist Jun 11 '12 at 17:18
Just want to say, I am shaping ingress and it is helping a lot. I'm actually limiting at 80% using TBF. By leaving the 20% gap the device stops flooding shortly after a download has started, and subsequent connections establish much more easily and quickly than without it! I am still working on an HTB 3-class solution, and on automatic detection of download streams.… – joeytwiddle Jun 15 '13 at 17:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .