Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    J

    Jim Gettys

    gettys.wordpress.com · Personal blog · on HN since 2008

    Jim Gettys, an early X Window and HTTP/1.1 contributor, writes about bufferbloat and fixing latency in internet connections.

    Visit blogHN submissions
    NetworkingSystems & Performance
    What HN says

    Commenters recommend it as a starting point on bufferbloat, though one finds the series rambling, verbose, and split across several pages.

    Stats for nerds
    36HN people shared it
    27linked in comments
    330story points
    Jun 2020last shared
    2010people per year2020

    Top posts on HN

    1. 1
      Mythology About Security
      1 person · 144 points · first shared 2018 · 41 comments on HN
    2. 2
      Whose house is of glasse, must not throw stones at another
      4 people · 53 points · first shared 2010 · 15 comments on HN
    3. 3
      The Internet is Broken, and How to Fix It
      2 people · 44 points · first shared 2012 · 8 comments on HN
    4. 4
      Apple Patents Portrait-Landscape Flipping: the patent system is broken
      1 person · 28 points · first shared 2011 · 12 comments on HN
    5. 5
      The Blind Men and the Elephant
      5 people · 13 points · first shared 2018 · 1 comments on HN
    6. 6
      The Next Nightmare is Coming
      2 people · 12 points · first shared 2012 · Discussion on HN
    7. 7
      Bufferbloat demonstration videos
      2 people · 7 points · first shared 2012 · Discussion on HN
    8. 8
      Bufferbloat: buffer sizing in networks
      6 people · 5 points · first shared 2010 · Discussion on HN
    9. 9
      Fundamental Progress Solving Bufferbloat
      3 people · 5 points · first shared 2012 · Discussion on HN
    10. 10
      It's time to turn on Random Early Detection congestion control in the Internet
      2 people · 5 points · first shared 2010 · Discussion on HN

    What HN people wrote when they linked it

    • jmillikinDec 2010

      This article is part of a series, which examine performance problems in high-speed internet connections. Unfortunately, in addition to being split over several pages, it is written in one of the most rambling and verbose styles I've ever seen. The best single explanation is found not in the submitted link, but in < http://gettys.wordpress.com/2010/12/03/introducing-the-criminal-mastermind-bufferbloat/ >

      My background in networking isn't strong enough to fully understand the problem, but here's an attempt:

      --

      When using a fast Internet connection, in the 20+ Mb/s range, throughput and latency for common residential use cases are both far worse than expected[1,3,4]. The problem is masked from most users because Windows XP is missing a feature required for maximum network performance, and because most American residential Internet connections are slow. As more users upgrade their operating systems and connection, significant performance will be lost.

      The problem occurs due to excessive buffering, combined with the TCP window scaling feature. When a network stack with support for TCP window scaling is allowed to connect to a fast link, the link is saturated. Normally the dropped packets should signal the stack to back off, but buffering in the stack and local switch combine to cause massive latency (on the order of 10-20 seconds) before packets begin dropping. This latency, which the author terms "bufferbloat", is responsible for the performance degradation.

      The author goes…

    • segfaultbuserrMar 2020

      > The problem isn't that your videoconferencing goes from 1080p to 360p -- it's that it stutters and stops working for seconds at a time, so students completely miss content, and introduces a lag

      Bufferbloat.

      Ideally, at least for TCP applications, with perfect network congestion control, reduced bandwidth due to streaming should only degrade data rate, but never massively increase the latency. A slight increase is normal, but a huge increase is not. Unfortunately, in real life, it's often the case, and this aspect is often overlooked by vendors, developers, and sysadmins, making things even worse than it should be.

      Network hardware or software is optimized for throughput, and its performance under heavy traffic is often not tested. One common practice is using a buffer that is as large as possible, so that you can push the data rate to the maximum and avoid dropping packets at all cost. This is called Bufferbloat and it's a latency disaster. When the upstream bandwidth is saturated, the downstream buffer keeps accepting more bytes/packets, effectively breaks the proper feedback signal used by congestion control algorithms, so it never kicks in in a timely manner, and the FIFO nature of the buffer means the latency of a saturated link is always as high as the buffer size. As long as something is using the bandwidth, the network will always be slow like a snail. When people start having this problem, they simply blame the bandwidth-intensive application, and set a QoS up…

    • chaosmachineDec 2010

      Normally, TCP waits for the buffer to exceed the maximum segment size before sending any data. This creates serious delays when the two sides of the connection are exchanging short messages and need to receive the response before continuing. For example, the login sequence at the beginning of a telnet session begins with the short message "Login", and the session cannot make any progress until these five characters have been transmitted and the response has been received. This process can be seriously delayed by TCP's normal behavior when the message is provided to TCP in several send calls.

      http://en.wikipedia.org/wiki/Transmission_Control_Protocol

      Basically, there's a bunch of large TCP buffers between you and the rest of the internet, which can fill up when you're trying to transfer large amounts of data. When these buffers are full, important packets get queued up for long periods of time, causing latency. This is why running something like bittorrent causes your ping time to go up.

      It's especially a problem when uploading, because upload speeds are often capped at a tiny fraction of your download speed, so it takes much longer to drain the buffers and get to the important packets.

      See also this post:

      http://gettys.wordpress.com/2010/12/03/introducing-the-criminal-mastermind-bufferbloat/

    • viraptorJan 2011

      I think you're missing the same thing the author missed in the Jim Gettys' article. You cannot fix the situation easily in every situation if the ISP is not behaving correctly, contrary to what the post says. He was able to fix this specific scenario, because he was the bottleneck (he was generating more traffic / accepting promise of delivery) in this case. The original series of articles (I really recommend reading them - they've got a great deal of tech details) dealt with a bit different situation - the person was not even saturating the link. Problems started appearing because of the shaping on a link which actually should support the traffic - he could introduce fake bottleneck, which was not the point really, because he would be wasting some possible bandwidth. The problem there was mostly out of his control, although could be mitigated to some extent by local tuning (http://gettys.wordpress.com/2010/12/13/mitigations-and-solutions-of-bufferbloat-in-home-routers-and-operating-systems/).

      I didn't want to say your solution won't work. But it's not going to solve all problems - it will work if you / your direct link is the bottleneck.

    • tptacekDec 2011

      The linked Gettys article is fantastic too:

      https://gettys.wordpress.com/2010/12/17/red-in-a-different-light/

      VJ is at PARC now.

      The old VJ LBL papers are still collected at ICSI/ICIR (Vern Paxson is still there!):

      http://www.icsi.berkeley.edu/cgi-bin/pubs/browse.pl?groupid=000002

      There used to be some attention paid to deliberate evasion of congestion avoidance (Stefan Savage did a paper on it), the idea being that a malicious user could monopolize a link by ignoring congestion signals (interview question: when you upload a file via Wi-Fi over your DSL connection, how does your computer know how fast to send packets?). Maybe some of the reason that turned out not to matter was, we were in a temporary period of not needing congestion avoidance.

      Finally, as I understand it, at least some of the fundamental ideas behind VJ's "hydrodynamic" congestion avoidance scheme are derived from Raj Jain's CUTE, which was done for DEC in '85.

    • DonHopkinsSep 2016

      Here's an interesting interview [1] [2] with Jim "Internet Plumber" Gettys [3], one of the original designers of X [4], and editor of the HTTP/1.1 specification. He talks about his work on the OLPC project, X memory usage, Linux and other stuff. He also has a great blog [5], and has been investigating the effect of bufferbloat on network performance [6] [7].

      [1] Part 1: https://lwn.net/Articles/188060/

      [2] Part 2: https://lwn.net/Articles/188073/

      [3] Jim Gettys: https://en.wikipedia.org/wiki/Jim_Gettys

      [4] The (Re)Architecture of the X Window System (July 2004 Ottawa Linux Symposium): https://keithp.com/~keithp/talks/xarch_ols2004/xarch-ols2004-html/

      [5] Blog: https://gettys.wordpress.com/

      [6] Bufferbloat: https://en.wikipedia.org/wiki/Bufferbloat

      [7] Bufferbloat project: https://www.bufferbloat.net/projects/

    Related

    CeroWrt Blogblog.cerowrt.org19 people

    Solving the crypto-fq bug in ath9k (2016)

    CeroWrt Blog
    Company · last shared 2025
    The Old New Thingblogs.msdn.microsoft.com/oldnewthing287 people

    A customer reported an error in the map used by Flight Simulator

    The Old New Thing
    Company · last shared 2020
    Dutherenverseauborddelatabledutherenverseauborddelatable.wordpress.com16 people

    Web development is just broken

    Dutherenverseauborddelatable
    Personal · last shared 2018
    APNIC Blogblog.apnic.net253 people

    Internet protocols are changing

    APNIC Blog
    Company · last shared 2026
    Joshua Davisjoshldavis.com24 people

    The Path to Dijkstra’s Handwriting (2013)

    Joshua Davis
    Personal · last shared 2026
    Matt Webbinterconnected.org128 people

    I wish my web server were in the corner of my room

    Matt Webb
    Personal · last shared 2026
    James Stanleyincoherency.co.uk57 people

    Nightdrive

    James Stanley
    Personal · last shared 2026
    Gaffer On Gamesgafferongames.com159 people

    UDP vs TCP

    Gaffer On Games
    Personal · last shared 2026