Bufferbloat: Dark Buffers in the Internet (2011)
queue.acm.org
queue.acm.org
1. In Linux, use the fq_codel queueing discipline for your interface which sits on your fast-to-slow network boundary:
tc qdisc add dev $IFACE root fq_codel
2. On your Netgear WNDR3700v2 or WNDR3800 home router, install and run CeroWrt: http://www.bufferbloat.net/projects/cerowrt/wiki/Installatio...What will 1) achieve here? Isn't the biggest problem ~elsewhere~ (i.e. my ISP sucks, and all the gazillion devices on the route might buffer far too much data)? Put differently: Can I make a difference, even if it's "just" for me? (I .. cannot, I guess - I'm stuck with a crappy cable modem/DECT base/wifi router combination from my ISP. But I'm interested in general)
Regarding 2): Is that recommended? Last time I checked most of CeroWrt was sent upstream, so is there a big difference between a reasonably current version of OpenWrt?
If you've got little or no control over the device your ISP sends you - there are ways around it. Either turn off WiFi (or don't connect to it), connect a single OpenWrt or CeroWrt router to that over ethernet and get all devices to connect to that router instead. You'll probably need to fiddle around with it to avoid double NAT (eg. setup the OpenWrt router in the DMZ of your ISP router if you can).
Personally I've stuck with OpenWrt - it works just fine. Install qos-scripts and luci-app-qos, set your bandwidth limits in Network > QoS in the web interface, and tune anything else you want. It should enable fq_codel for you.