[e2e] 10% packet loss stops TCP flow

David P. Reed dpreed at reed.com
Fri Mar 4 07:27:16 PST 2005


Just a comment on the Saltzer, Reed, and Clark paper's dates, from one 
of the co-authors.  It's very misleading to compare dates of publication.

It was first drafted in late 1978/early 1979, based on my work on my 
Ph.D. thesis completed that year plus my work on TCP in 1976-1977.   In 
those days it was not atypical to submit a paper for publication in the 
systems literature and have it take 3 or more years in the pipeline 
before acquiring a pub date.  I gave visitor talks on some of the ideas 
in 1978 and 1979 as I visited many colleagues around the world, for 
example at IBM Zurich, Caltech, etc.

The genesis of the paper was in my collaborations with my mentor Jerry 
Saltzer, Dave Clark, and other MIT systems faculty focusing on 
architectural principles relating to OS's (my S.m. thesis on processor 
multiplexing in a layerd OS), security (the Multics security kernel 
work),  and network layering choices...  In particular it was that Jerry 
Saltzer, my advisor said to me: David, throughout your thesis and in 
your reports of the arguments being made about layering in TCP and IP, 
you keep making the same sort of argument - move the function to the 
edges of the network, and avoid putting function in the network itself, 
even when it feels a bit "unnatural".  The common argument made by most 
designers in system design (OS and networks) is to move everything into 
the common OS and network.   So this is really an underappreciated and 
new design/architectural principle.   We should write a paper about it, 
because it really is not intuitive to many in the field, but it seems 
important.

We did, and since it was such a nice simple example, we used end-to-end 
reliable delivery as our iconic example, but pointed out how general the 
idea was and that it was a general form of argumentation that made sense 
in the systems design world that has to deal with pragmatics of systems 
that must have a long life, scale across a wide range, and accomodate 
new, unanticipated applications.

Many people read and commented on it in draft form, and it was presented 
and published in several places.

Note that we didn't invent the instances of the end-to-end argument (in 
fact we took the name from the common terminology in the TCP design team 
of TCP as an end-to-end protocol, overlaid on a heterogeneous set of 
networks).   We just pointed out that many of the design arguments that 
we and others in the community were making had that form, and tried to 
elucidate the benefits of following the argument (primarily in the form 
of design in the face of unknown and unknowable future needs).


More information about the end2end-interest mailing list