Home » CurrentHeader, Internet, Wrong On The Internet

Origins of the dumb FIFO Internet myth

By George Ou 2 September 2010 8 Comments

One of the most cherished ideas among academic and policy people who claim that the architecture of the Internet is a “dumb pipe” is the concept of First In First Out (FIFO) packet delivery.  The principle used to justify the FIFO architecture and the dumb pipe philosophy is the so called end-to-end principle of the Internet which is inappropriately based on a 1981 paper titled “End-to-end arguments in system design“.  This supposed end-to-end architecture of the Internet is also one of the primary arguments used to justify the most extreme form of Net Neutrality which advocates zero prioritization or other types of service enhancements on the Internet.

Network engineers versus lawyers and non engineers

It is notable that none of the actual engineers and architects of the Internet and World Wide Web argue for a dumb Internet.  Even the ones who actively lobby for Net Neutrality regulation or legislation like TCP/IP co-inventer Vint Cerf or inventor of the HTTP web browsing protocol Tim Berners Lee won’t make the argument against traffic prioritization or out-of-order packet delivery.  Vint Cerf stated during a debate with David Farber (YouTube archive here at 50:10) that he had no problem with jitter management which requires out-of-order packet delivery.  Tim Berners-Lee even stated that there was nothing wrong with paying more money for higher priority.

David D. Clark who was one of the authors of “End-to-end arguments in system design” even debunked the notion that end-to-end arguments called for a dumb Internet.  In a paper titled “Rethinking the Design of the Internet: End to End Arguements vs. the Brave New World“, Clark stated:

“from the beginning, the end to end arguments revolved around requirements that could be implemented correctly at the end-points; if implementation inside the network is the only way to accomplish the requirement, then an end to end argument isn’t appropriate in the first place.”

So who argues for a dumb Internet?  It turns out to be lawyers like Larry Lessig, Tim Wu, and Susan Crawford.  Crawford in particular believes that a neutral Internet must forward packets on a “first-come, first served basis, without regards for quality-of-service considerations”.  Some lawyers like David Post who was a self described end-to-end principle “religious zealot” actually turned out to be quite reasonable when he eased off on the zealotry when I presented him with some facts.  I’ve also spent considerable time debunking the anti “application bias” paper from two non network engineers at Free Press.  I used data to debunk the notion that prioritization is harmful and I argued the importance of prioritizing real-time applications and managing things like jitter to promote true fairness and true application neutrality.

Where did the references to FIFO come from?

So where exactly did the precise reference to the FIFO (or first-come first-serve) Internet come from?  It turns out that FIFO was discussed in the same “End-to-end arguments” paper that is misused to justify the dumb pipe architecture of the Internet.  However, the proponents of a dumb Internet didn’t understand the engineering context and usage of the term “FIFO” in the end-to-end arguments.  In fact, the end-to-end arguments made the *opposite* argument that the network shouldn’t be in the business of providing FIFO in the first place much less require that the Internet operate in a FIFO manner.

The end-to-end arguments argued for a network architecture that erred (not required) on the side of less intelligence in the network and more on the edges out of pure pragmatism and it defended this philosophy with concise and practical examples.  One of the first case studies raised by the end-to-end arguments is how impractical it would be for the network to attempt error correction whereas the end point device could handle this so much more holistically and result in less overhead “cost” and higher performance on the network.  It then goes on to make the case about how impractical it is for the network to provide security in the form of encryption.

When it gets to the section on FIFO, it follows the same theme and argues that it is impractical for the network to provide FIFO message delivery by citing the example of distributed applications.

Note: This forward thinking paper in 1981 anticipated applications like peer-to-peer (P2P) and BitTorrent which use a distributed file transfer architecture.  One of the main limitations of a pure P2P architecture is that it distributes content in an out-of-order fashion that prevents its use in streaming video.  A P2P user could view their content only *after* they have downloaded the entire movie but they could not view it *during* the download because the content was delivered in out-of-order segments.

The distributed application presents an example in which the network would not be able to assure message reassembly and that only the application would be able to do this properly.  Therefore, FIFO message delivery was yet another example of something that would be better handled by the end points and not the network.

Furthermore, FIFO in the end-to-end arguments was used in the context of a virtual circuit.  FIFO referred to in-order delivery of data within an application and not among different applications or even different instances of the same application.  In laymen terms, you wouldn’t want to make an Internet-based phone call to someone and have your word “professor” rearranged to be “prosorfes”.  However, there’s no reason that the packet of a Voice over IP (VoIP) phone call shouldn’t be able to get rearranged before some BitTorrent packets especially when BitTorrent causes massive jitter problems by shoving hundreds of its own packets into the network queue before the VoIP application even gets to transmit a single packet.

The reality is that the Internet was never meant to be a big dumb pipe with First In First Out packet delivery.  How such a myth got so much traction in academia and policy circles is beyond me and it is the antithesis of data-driven policy.

Some additional discussions on the architecture of the Internet and prioritized networks can be found here, here, and here.

8 Comments »

  • David S. Isenberg said:

    George, George, George. You pick and choose who to attack, and what to attack them for, in the most arbitrary way. Maybe it’s because if you cited my essay, “The Rise of the Stupid Network,” which I wrote in 1997 when I was a Distinguished Member of Technical Staff at AT&T Labs, you might have to explain that I’m not a lawyer, and that I spent twelve years working deep inside a rather well-reputed bastion of network engineering.

    There’s no FIFO concept in my idea of the Stupid Network, and the Clark, Reed and Saltzer End-to-End idea certainly didn’t focus on FIFO. In a catenet, packets are routed diversely — most of us know that. FIFO is a straw man that you chose for its very flimsiness.

    [Note: Before you bust a Bennett on me, there are two conceptual mistakes I acknowledge in my Stupid Network paper. In one I incorrectly suggest that a stupid network could treat different kinds of data differently. In the other I confuse sustaining and disruptive technology.]

    By the way, the word is “stupid,” not dumb. Dumb originally meant unable to speak. Naive observers saw people who couldn’t speak and thought they were stupid. In fact, people who don’t speak can be quite smart. Unfortunately, dumb acquired synonymy with stupid, but that doesn’t make it right. The network I advocated in 1997 is stupid, and I’m sorry that most people, including self-styled network engineers and other etymological naiveniks, use the wrong word to describe it. How this myth of synonymy got so much traction academia and policy circles is beyond me. Such misuse is the antitheses of intelligence-driven rhetoric.

  • George Ou (author) said:

    David, David, David.

    You’re awfully presumptuous in assuming that I was or should be talking about you.

    I’m sorry to say this, but I made no reference to “the rise of the stupid network” or any of your work. I did specifically mention Larry Lessig, Susan Crawford, Tim Wu, David Post, and even made references to a Free Press paper, but your name or your work was not considered or mentioned anywhere.

    But now that you brought it up, your idea of a “stupid network” isn’t really too different from the people who advocate a “dumb pipe”. Maybe you can claim credit for coming up with “stupid” before “dumb, but I was not aware you owned this idea and that anyone who refers to it must pay homage to your work. Furthermore more, neither the “stupid” or “dumb” network are ideas to be proud of because they bear little resemblance to reality or network engineering. In fact I’ll remind you of your own words from around 2 years ago recanting this idea that capacity eliminates the need for network intelligence.

    David S. Isenberg wrote: “Furthermore, I was wrong in my belief that with enough capacity, you don’t need network management.
    Where I was wrong is this: in the real world, where Internet traffic continues to grow, seemingly without limit, and where network resources take time, effort and money to install
    (a) there will always be bottlenecks somewhere in the network of networks, and
    (b) capacity upgrades will always be cat-and-mouse with traffic growth.
    I continue to believe that the simplest possible network management is best, and that until we have strict structural separation, app-aware network management is very likely to have anti-competitive sequelae, as both Madison River and the Comcast RST case illustrate.”

    It’s good of you to acknowledge the flaws in your original “stupid network” (again not all that different than the “dumb pipe”), but like Free Press you’re still wrong in your opposition to application aware network management. This is because an application ignorant network is one that unfairly allocates queue and bandwidth resources due to end points gaming the system using either the multi-flow exploit, the low latency exploit, or just shoving hundreds of packets into the network and stuffing up the transmit queues before other applications even get to sent a single packet.

    What we want is true fairness and neutrality in the network and I describe here http://www.digitalsociety.org/2009/11/what-is-true-neutrality-in-the-network/.

    This opposition to application awareness and reordering of packets between applications is justified by the people I mentioned with a philosophy that all applications must operate on a dumb first-come first-serve or FIFO basis. This is precisely why I am debunking this usage of the FIFO concept because it is misunderstood by the lawyers. It isn’t a “straw man” as you claim because the Free Press keeps pitching the idea that the Internet is supposed to operate in a FIFO manner.

    This concept of application fairness and management does not conflict with the concept of application-agnostic network management because they are applied in different places. On wired networks, application fairness and management occurs at an intra-subscriber level while application-agnostic schemes are applied on an inter-subscriber level.

    It’s a lot trickier on wireless networks because the jitter that one user generates also affects every other user on the same cell tower or access point. That means we have to extend the concept of inter-subscriber fairness by ensuring not only equal bandwidth allocation but equitable and alternating queue forwarding. Just because you’re not taking a disproportionate amount of bandwidth doesn’t give you the right to monopolize the transmit queue for 100 packets in a row and cause jitter for other users.

  • George Ou (author) said:

    @David Isenberg,

    I also need to debunk another common myth that packet switching networks like the Internet route packets diversely. It’s possible that they can route packets across multiple paths or even take non-symmetrical paths, but this is not common especially with smaller sites with single connections to the Internet.

    Even sites that have multiple paths to the Internet using BGP routing keep paths static unless that path goes down. They might have different paths for different destinations, but they tend to route over the same path to the same destination. If a path goes down, the switch over to an alternate path (if available) often doesn’t fully swing over for 30 minutes to an hour to dampen route flapping. You can’t have BGP routers announcing new paths every few seconds a particular connection goes on and off because of some circuit problem since that could cause a massive route update storm.

  • Digital Society » Blog Archive » Russ Housley versus AT&T on differentiated services said:

    [...] Free Press’ idea that the entire Internet should operate on a FIFO basis without regard to payment or class of service is ludicrous and it’s based on the myth of the dumb Internet. [...]

  • Brett Glass said:

    David (Isenberg):

    As the creator of the world’s first wireless ISP, I did not design my network to be dumb, stupid, a FIFO, bereft of traffic management, or anything that any of the “net neut nuts” advocate out of sheer irrational dogma. I created it to work. That’s what I and my network are judged by — and judgment shall be passed not by some uninvited interloper, such as yourself, but by customers voting with their feet and wallets. Kapisch?

    –Brett Glass

  • Richard Bennett said:

    It seems to me that there’s very little difference between the kind of system contemplated by “End-to-End Arguments in System Design” in 1981 and Isenberg’s “Rise of the Stupid Network” from 1997. Both concepts called for as much function as possible to be provided by the host computers attached to the network, and both allowed that not all the desirable capability could be provided at the end points and therefore network services should be enriched when that was the only way to satisfy the needs of an emerging application.

    Isenberg’s thinking only went totally dogmatic with the follow-on paper, “Dawn of the Stupid Network” where he dreams of the same treatment for all types of traffic. Isenberg was a PSTN engineer at Bell Labs and never worked in Internet architecture or implementation, so he was blissfully unaware of the end-to-end ideas, with exceptions or otherwise, except as he may have picked up fragments of conversation around the office. He’s written about his frustration in trying to improve voice quality on the telephone network without disrupting modems and the like; it’s a good example of the stultifying effect that the Carterfone regulations had on PSTN innovation.

    End-to-end among the Internet people was always “end-to-end when possible, and in the middle when necessary.” Clark’s quote from “Redesigning the Internet” is almost verbatim from the original paper.

    In the mid-90s, Internet engineers started to explore the “enriching the middle” part of the end-to-end with exceptions notion; that’s when the ideas that coalesced into DiffServ and IntServ started to emerge.

    Incidentally, it’s good that you allow Isenberg to comment here, George, he generally refuses to allow me to post dissenting comments on his blog. At least somebody still cares about free speech on the Internet.

  • Digital Society » Blog Archive » Net Neutrality – It’s just the old question of “Who Pays” said:

    [...] from any other. Thus, “net neutrality” became a call that broadband distribution become a “dumb pipe.” First in, first out. A non-managed “best efforts” digital melting [...]

  • SiliconANGLE — Blog — Net Neutrality – It’s just the old question of “Who Pays” said:

    [...] from any other. Thus, “net neutrality” became a call that broadband distribution become a “dumb pipe.” First in, first out. A non-managed “best efforts” digital melting [...]

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.