[e2e] What if there were no well known numbers?

John Day day at std.com
Sat Aug 5 06:58:07 PDT 2006

Well, I came to the ARPANet a little late.  We didn't get involved 
until late 1969 early 1970.  There are a couple of things I have 
noticed from my study of history and being involved in events that 
people want to write about:  What one surmises from the written 
record was going on and what was actually going on are often very 
much at odds.  First of all, the historians have a hard time not 
seeing the written record in terms of the outcome, which of course 
was completely unknown at the time of the events. And for those of us 
in the field, it is even harder.  (I have found that most physicists 
I have talked with including a Nobel Laureate or two have a hard time 
imagining doing physics not knowing that many of our most obvious 
assumptions were not known.)

There was also a lot of independent invention going on.  For example, 
the socket as connection-id was probably invented independently 
several times.  It falls out pretty straightforwardly when you look 
at interprocess communication.  And remember, most of us were not 
data comm people, but operating system guys, so we were using OSs as 
the model for what the net should look like, especially since the 
goal was "resource sharing."

The other interesting thing which is fairly common in the history of 
science is that when there is a paradigm shift, there are usually 
individuals who can't get out of the old paradigm, ones with a foot 
in each as they struggle to make the transition, and people who are 
firmly in the knew one.  Often the originator(s) of the shift are in 
the middle group, and some make the shift and some don't.

You can see this in the early networking stuff as we shift from the 
old beads-on-a-string deterministic model to the new stochastic 
layered model.  All of the early network proposals for packet 
switching are virtual circuit (Baran, Davies, Kleinrock's thesis, IMP 
subnet are a foot in both camps: virtual circuit but layered).  Then 
with Pouzin, we get the clean break to connectionless.  (For example, 
if you look at the kinds of things Baran and Roberts have always done 
over the years, they never really embraced connectionless but have 
stayed pretty close to virtual circuit in their efforts.)

This sort of thing happens all the time in science.  It is neat to 
watch the transitions.

But back to this issue. there was a lot more communication going on 
than just the RFCs and little of it was written down or if it was has 
survived.  (A lot of us are pack rats but even we have limits!)  It 
is interesting that Postel in proposing a directory of sockets. 
Those RFCs aren't in the index. I will look for them further later 
today.  But I know we were thinking in terms of a directory of 
application names before 72.  But as I said, we all realized that we 
had a lot of work to do before we could do that and we weren't there 
yet.  Have to see what MAP or Ari remember.  I remember being 
disappointed in 71 or 72 when it became apparent we weren't going to 
push for the right solution immediately.  I know we always looked at 
it as a stop gap, and I know I wasn't alone.

Take care,

At 4:04 AM +0000 8/5/06, Greg Skinner wrote:
>On Fri, Aug 04, 2006 at 10:00:33PM -0400, John Day wrote:
>>  I remember that we had already had conversations about
>>  application-names and network addresses and a directory.  I know that
>>  a lot of our thinking was using operating systems as a guide to how
>>  to do it.  But since we only had 3 applications and only one
>>  occurrence of each per host, and we needed to get something up and
>>  running, there wasn't time to do it right.  Perhaps we were having
>>  these conversations with people other than the UCLA people.  Maybe it
>>  was the Multics crowd.  I can believe that in the very very early
>>  days that was the logic, but by 1970 or so, we knew better.  From
>>  about then, I always considered well-known sockets to be the
>>  equivalent of "hard-wiring low core."
>>  A kludge.
>>  The port numbers in TCP and NCP function as a connection-identifier
>  > within the scope of the (src, dest) addresses, i.e. it distinguishes
>>  multiple connections/flows between the same two points.  They do not
>>  identify applications.  The well-known idea is just an expedient
>>  convention.  It clearly doesn't generalize unless you are McKenzie
>>  who believed that Telnet and FTP were all you needed. ;-)
>I wasn't involved in any of the ARPANET R&D, but I was able to piece
>together a bit from the old RFCs.  The socket as connection identifier
>made its debut in RFC 33.  It was a 8-bit field called AEN (Another
>Eight-Bit Number).  The idea that there should be a "directory"
>of sockets appeared in RFC 65.  Jon Postel posed the question of
>whether standard protocols should have assigned/reserved socket
>numbers in RFC 205.  The first call for well known socket numbers came
>in RFC 322 (accompanying a concern about which socket numbers were
>currently in use at which hosts).  JP proposed that he be the "czar"
>for standard socket numbers in RFC 349.  So it seems as if well-known
>sockets were an expediency, as you say, which was preserved in TCP and
>BTW, speaking of hosts.txt, RFC 226 contained the first cut at an
>"official" hosts list.  (Before that, the RFC noted that each telnet
>implementation provided its own list of host names.)

More information about the end2end-interest mailing list