[BBLISA] November meeting: Jim Gettys on Internet buffer bloat

Daniel Hagerty hag at linnaean.org
Wed Nov 7 15:56:06 EST 2012


Edward Ned Harvey <bblisa4 at nedharvey.com> writes:

> Let's assume a fast LAN getting congested through a WAN link.  There exists
> a router, which is buffering the traffic it receives from the LAN.  There
> exists such a thing as flow control.  At the mac layer, when the receiver
> buffer is getting sufficiently full, the receiver (router) sends the PAUSE
> frame (or newer more powerful alternatives) to the sender, on the LAN.  So
> the sender, in hardware, knows to back off a little bit.  The application,
> and even IP layer don't need to know about it.  No dropped packets.  Perfect
> efficiency and optimization.  The only thing that can go wrong is a router

    You are describing an open-loop controller.  This is actually how we
got here, when the distributed open loop was routinely overwhelming the
56k internet core, getting us to the current TCP congestion control
algorithm.  TCP's current algorithm is a closed loop in the face of some
assumptions that break down in the face of excessive buffering.

    I'd suggest some reading on control theory for some understanding of
the differences and engineering tradeoffs.  It's old, compared to
computers, with 150 years of experience in exploding steam engines,
crashing cars, rocket engines shaking their rocket apart, and yes,
collapsing data networks.  It's full of subtle "the naive thing will
work up to here, and then it destroys itself" cases.  People earn PhDs
in it, and sometimes proceed to blow stuff up real good anyway.



More information about the bblisa mailing list