On Thu, Sep 21, 2017 at 4:15 PM, ron minnich <rminnich@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.