On Thu, Sep 21, 2017 at 4:15 PM, ron minnich <rminnich(a)gmail.com> wrote:
In that rfc, the idea of /dev/tcp and so on was advanced. To connect to
harv, one might create /dev/tcp/harv, for example. It was not quite right.
How do you name a port?
The way we did in an early version was a crude hack in the nami.
/dev/tcp/
host/opt1,opt2,opt3...
It turns out nami left the unparsed chars alone and you could reach over
and grab them. So after
/dev/tcp
was called the rest of the code did the work. IIRC, Apollo Domain did
something similar as did the ChaosNet code.
The sockets stuff was something Joy created to compete with the CMU Accent
networking system. Remember CSRG did not have the responsibility to
support networking on UNIX, BBN did. The IP/TCP stack had been developed
by Gurwitz et al at BBN and did use the open/close/ioctl interface. CMU
was developing Accent on the Triple Drip PascAlto (aka the Perq) and had a
formal networking model that was very clean and sexy. There were a lot of
people interested in workstations, the Andrew project (MIT is about to
start Athena etc). So Bill creates the sockets interface, and to show
that UNIX could be just as modern as Accent.
He puts the BBN stack behind the interface. When 4.2 ships, no one
remembers the BBN API, it is th API that lived.