Hacker News new | past | comments | ask | show | jobs | submit login
Bufferbloat: Dark Buffers in the Internet (2011) (acm.org)
40 points by tel on Nov 22, 2014 | hide | past | favorite | 9 comments



Summary of what you can do for yourself:

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...


If you're more into this than I am:

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?


Chances are the worst link in the chain is your ISP provided modem/router. It's the typical device which will buffer several hundreds of milliseconds of data, and it's the slowest upstream. Most sane ISPs won't do this with routers on their network which serve multiple people - it's a fault if they're over capacity (unless they intentionally want it, eg. ISPs vs Netflix).

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.


All of the CoDEL algorithms are in the latest OpenWRT branch, I wouldn't advise running CeroWRT.


Would you advise against CeroWrt? Why? Is there something wrong with it? FYI, CoDEL is not only reason one would want CeroWrt; see (http://www.bufferbloat.net/projects/cerowrt) and (http://www.bufferbloat.net/projects/cerowrt/wiki/How_is_Cero...).


It hasn't been updated in a while, most changes are now in upstream (unsure about DNSSEC)...



I posted this as much as a note into the stability of the Internet as a commentary on scalable application architecture. I'd love to hear commentary from people who have implemented buffers internally as part of an architecture and whether they implemented smart feedback channels like RTT or faced difficulties like those mentioned here.


Bufferbloat is definitely a thing. Most home routers are terrible sources of bufferbloat by default (HTTP browsing crawls to a halt the second torrenting starts ramping up). Thankfully, most home routers have some amount of QoS which can help a _ton_.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: