back to article Cable internet won't need dose of fibre to stop feeling bloated

CableLabs, the industry group that develops data transmission standards for cable television networks, is experimenting with Active Queue Management (AQM) to deal with the issue of bufferbloat in cable networks. Bufferbloat is one of the underground problems of Internet performance: the way that buffers in network kit add to …

  1. ecofeco Silver badge

    It's a start

    The whole TCP/IP stack needs an overhaul to begin with and has for years and while it's easy to point to the what appears to be the obvious solutions, IP6, it has its own not-ready-for-prime-time problems.

    If this does what it claims, it will help.

    1. Ole Juul

      Re: It's a start

      Only a start though. I do welcome such advancement, but fear that cable companies will see it as a way of stalling on infrastructure upgrades.

    2. Christian Berger

      No, it's a stopgap

      The problem is that certain ISPs just stop investing in their network infrastructure causing more and more congestion, despite still charging their customers.

      Instead of just steadily upgrading their network with a constant stream of investments, they invest in technologies which mess with customer data, creating the illusion of a semi-usable network despite congestion. While this may be acceptable in case of emergencies (i.e. half of your equipment being on fire), it must not be the norm.

      We must finally mandate certain qualities of service for commercial ISPs. If you want to charge money for what you do, you must keep the network utilisation on every link in your network below x% in 90% of the time, below y% in 99% of the time and below z% in 99.9% of the time.

      TCP/IP was not made for saturated links, but it shouldn't need to be. Network links are rather cheap in industrial countries, and even the backbone fibre we have now will last for the next couple of decades.

    3. ecofeco Silver badge

      Re: It's a start

      I also agree with both of you.

  2. dtaht

    You don't have to wait for cable modems to be updated

    Third party router firmwares such as openwrt barrier breaker, cerowrt, dd-wrt, ipfire, pfsense and others have had buffer bloat related fixes in their qos systems for over a year now.

    Examples of the reduced latency and improved throughput you can get today, with an off the shelf router and these firmwares, on cable:

    http://burntchrome.blogspot.gr/2014/05/fixing-bufferbloat-on-comcasts-blast.html

    http://snapon.lab.bufferbloat.net/~cero2/jimreisert/results.html

    Some videos on the buffer bloat problem by Van Jacobson, Jim Gettys, myself and others:

    http://www.bufferbloat.net/projects/cerowrt/wiki/Bloat-videos

  3. Bill Michaelson

    tc qdisc red?

    "Under AQM, the modem and CMTS include software that watches over their buffers, and if TCP is keeping buffers so full that it has an impact on latency, the devices will drop “just enough packets to send TCP the signal that it needs to slow down, so that more appropriate buffer levels can be maintained”.

    Reminds me of the Random Early Detection classless queuing discipline, as provided by the Linux tc command. From man tc(8):

    red Random Early Detection simulates physical congestion by randomly

    dropping packets when nearing configured bandwidth allocation.

    Well suited to very large bandwidth applications.

    1. dtaht

      Re: tc qdisc red?

      codel, fq_codel, and pie are the successors to RED, which was designed back in 1992 and never worked very well. These new AQM and Fair Queuing algorithms require a LOT less configuration, and "just work" at a wide range of bandwidths. Codel was developed by Kathie Nichols and Van Jacobson - Van was half responsible for RED, and tried really hard to come up with a viable replacement for 16 years... and he and Kathie hit it out of the park with codel and fq_codel.

      So take a look at tc qdisc add dev whatever root {fq_codel,pie} on any modern linux distro.

      or at the relevant manual pages, to see how far we've come.

      My first attempt at posting this message was rejected, I'd pointed to this as a summary of where the buffer bloat effort stands today:

      http://gettys.wordpress.com

      Which also includes a funny story about why "red in a different light" couldn't get published.

      And more specifically, I can point to the acm queue paper that kicked off the resurgence of interest in AQM technology: http://queue.acm.org/detail.cfm?id=2209336

      And the relevant internet drafts for the docsis pie standard:

      https://datatracker.ietf.org/doc/draft-white-aqm-docsis-pie/

      The cable labs study that led to the adoption of docsis-pie was very interesting:

      http://www.cablelabs.com/wp-content/uploads/2013/11/Active_Queue_Management_Algorithms_DOCSIS_3_0.pdf

      and there are other algos pending standardization at the ietf:

      https://datatracker.ietf.org/doc/draft-nichols-tsvwg-codel/

      http://tools.ietf.org/html/draft-hoeiland-joergensen-aqm-fq-codel-00

      I do this in the hope that more informed populace will lead to faster, wider adoption of this stuff, as it makes the internet SO much faster, under load.

      Van's lecture on codel is a real treat, btw, explaining congestion via a new analogy to a water fountain, in ways that I hope more could grok:

      http://www.bufferbloat.net/projects/cerowrt/wiki/Bloat-videos#Van-Jacobson-of-Google-introduces-the-codel-solution-and-the-packet-fountain-analogy-at-the-IETF84-conference-July-August-2012

      For more information about how all this stuff works, please join the bloat email list, if you like.

      Sincerely,

      Dave Taht

      Co-founder, Bufferbloat project

      1. Nextweek

        Re: tc qdisc red?

        For those wanting to actually try things on their computers:

        For windows: (All these settings require the “Run As Administrator” permission)

        To show the current state of the TCP settings:

        netsh int tcp show global

        To turn on ECN:

        netsh int tcp set global ecncapability=enabled

        To turn on cTCP:

        netsh int tcp set global congestionprovider=ctcp

        Fedora 20 (possibly other Linux based systems):

        To turn on ECN to help feedback to the AQM in the file: /etc/sysctl.conf add the following line:

        net.ipv4.tcp_ecn = 1

        To alter the Active Queue Management scheduler alter the following file: /etc/rc.d/rc.local and add the following line:

        tc qdisc add dev eth0 root fq_codel

        replacing eth0 with the name of the computers network device. Then reboot.

  4. JeffyPoooh
    Pint

    No need to wait. Code it already.

    "...the devices will drop 'just enough packets to send TCP the signal that it needs to slow down...' "

    Dropped packets exist now; for various reasons. So anyone could implement this crude fix whenever they want. It doesn't need to wait for a standard. Just do it already.

  5. phil dude

    netflix...?

    So what does netflix use? And do they have insight to help in this case?

    I mean, for media delivery, but you get my drift...

    P.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like