* [TUHS] networking on unix before uucp @ 2014-08-22 3:42 Mark Longridge 2014-08-22 15:09 ` Mary Ann Horton ` (2 more replies) 0 siblings, 3 replies; 25+ messages in thread From: Mark Longridge @ 2014-08-22 3:42 UTC (permalink / raw) Hi folks, I was wondering if Unix had any form of networking before uucp appeared in Unix v7. It would be interesting to know if one could pass a file from one Unix v5 machine to another without having to store it on a magnetic tape. There's some reference to a mysterious "Spider Interface" in the Unix v5 manual. It seems to have something to do with DR-11B (which is a general purpose direct memory access interface to the PDP-11 Unibus). There's also reference to the "Spider line-printer" :) Mark ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 3:42 [TUHS] networking on unix before uucp Mark Longridge @ 2014-08-22 15:09 ` Mary Ann Horton 2014-08-22 22:12 ` Cory Smelosky 2014-08-22 15:18 ` Dan Cross 2014-08-22 18:01 ` [TUHS] networking on unix before uucp Dave Horsfall 2 siblings, 1 reply; 25+ messages in thread From: Mary Ann Horton @ 2014-08-22 15:09 UTC (permalink / raw) At Bell Labs, PWB (1, I think, which was V6-based) had a sophisticated RJE engine that could submit jobs to the GE mainframe and get the output back (hence the GECOS field in /etc/passwd.) This was also used to submit jobs to be printed using the opr (off-line print) command. At Berkeley, in 1978 we originally had a "cross-over cable" (basically a null modem, my lousy soldering job) in our patch panel, to allow two UNIX boxes to cat files across - not even Kermit, as I recall. Shortly thereafter in 1978, Eric Schmidt (yes, that Eric Schmidt) wrote Berknet, which was similar to UUCP but didn't use modems, it ran over null modem serial line interconnections. It ran on V6, V7, and the Vax. For a few years, the Berknet link between ucbvax (which had a modem and was on UUCP) and ingvax (which was on the ARPANET) was the gateway between the UUCP and Usenet networks and the ARPANET. On 08/21/2014 08:42 PM, Mark Longridge wrote: > Hi folks, > > I was wondering if Unix had any form of networking before uucp > appeared in Unix v7. It would be interesting to know if one could pass > a file from one Unix v5 machine to another without having to store it > on a magnetic tape. > > There's some reference to a mysterious "Spider Interface" in the Unix > v5 manual. It seems to have something to do with DR-11B (which is a > general purpose direct memory access interface to the PDP-11 Unibus). > > There's also reference to the "Spider line-printer" :) > > Mark > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 15:09 ` Mary Ann Horton @ 2014-08-22 22:12 ` Cory Smelosky 2014-08-24 22:46 ` Clem Cole 2014-08-26 16:36 ` Jeremy C. Reed 0 siblings, 2 replies; 25+ messages in thread From: Cory Smelosky @ 2014-08-22 22:12 UTC (permalink / raw) On Fri, 22 Aug 2014, Mary Ann Horton wrote: > [snip] > Shortly thereafter in 1978, Eric Schmidt (yes, that Eric Schmidt) wrote > Berknet, which was similar to UUCP but didn't use modems, it ran over null > modem serial line interconnections. It ran on V6, V7, and the Vax. > How does that Berknet differ from the Berknet in...4.0/4.1BSD? I've seen what I THINK was ethernet code there...but I couldn't be sure as I couldn't even decipher the addressing scheme. ;) I've been meaning to ask about Berknet, anyway. One of my side projects is to get it operational. > For a few years, the Berknet link between ucbvax (which had a modem and was > on UUCP) and ingvax (which was on the ARPANET) was the gateway between the > UUCP and Usenet networks and the ARPANET. > -- Cory Smelosky http://gewt.net Personal stuff http://gimme-sympathy.org Projects ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 22:12 ` Cory Smelosky @ 2014-08-24 22:46 ` Clem Cole 2014-08-24 23:00 ` Clem Cole 2014-08-24 23:07 ` A. P. Garcia 2014-08-26 16:36 ` Jeremy C. Reed 1 sibling, 2 replies; 25+ messages in thread From: Clem Cole @ 2014-08-24 22:46 UTC (permalink / raw) 4.1 did not have Ethernet support from UCB. only Berknet. the original ip stack with Ethernet support for 4.1 was done at BBN. the interface is classic unix using the open call. similar to the MIT ChaosNet stack CMU had a new os for the TripleDrip PERQ called Accent. it had a number of interesting concepts such as ports. Joy took the BBN stack and created Berkeley sockets as a reaction to Accent's networking scheme. this would become 4.1A/B/C and eventually 4.2 btw. CMU responded to 4.2 by taking the ideas from Accent and rewriting then and splicing them into BSD kernel to create Mach. Which lives today as the core of both Mac OSx and iOS Clem > On Aug 22, 2014, at 6:12 PM, Cory Smelosky <csmelosky at gewt.net> wrote: > >> On Fri, 22 Aug 2014, Mary Ann Horton wrote: >> > [snip] >> Shortly thereafter in 1978, Eric Schmidt (yes, that Eric Schmidt) wrote Berknet, which was similar to UUCP but didn't use modems, it ran over null modem serial line interconnections. It ran on V6, V7, and the Vax. > > How does that Berknet differ from the Berknet in...4.0/4.1BSD? I've seen what I THINK was ethernet code there...but I couldn't be sure as I couldn't even decipher the addressing scheme. ;) > > I've been meaning to ask about Berknet, anyway. One of my side projects is to get it operational. > >> For a few years, the Berknet link between ucbvax (which had a modem and was on UUCP) and ingvax (which was on the ARPANET) was the gateway between the UUCP and Usenet networks and the ARPANET. > > -- > Cory Smelosky > http://gewt.net Personal stuff > http://gimme-sympathy.org Projects > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-24 22:46 ` Clem Cole @ 2014-08-24 23:00 ` Clem Cole 2014-08-24 23:07 ` A. P. Garcia 1 sibling, 0 replies; 25+ messages in thread From: Clem Cole @ 2014-08-24 23:00 UTC (permalink / raw) btw: the addressing scheme in Berknet is pretty simple. it's mupltiplexing an 9600 baud rs232c connection point to point without full connectivity (like uucp). although IIRC the sender did not have to specify the path. Berknet figured it out for you - but I might be confusing a different network scheme from those days. there were so many Cl > On Aug 24, 2014, at 6:46 PM, Clem Cole <clemc at ccc.com> wrote: > > 4.1 did not have Ethernet support from UCB. only Berknet. the original ip stack with Ethernet support for 4.1 was done at BBN. the interface is classic unix using the open call. similar to the MIT ChaosNet stack > > CMU had a new os for the TripleDrip PERQ called Accent. it had a number of interesting concepts such as ports. > > Joy took the BBN stack and created Berkeley sockets as a reaction to Accent's networking scheme. this would become 4.1A/B/C and eventually 4.2 > > > > > btw. CMU responded to 4.2 by taking the ideas from Accent and rewriting then and splicing them into BSD kernel to create Mach. Which lives today as the core of both Mac OSx and iOS > > Clem > >>> On Aug 22, 2014, at 6:12 PM, Cory Smelosky <csmelosky at gewt.net> wrote: >>> >>> On Fri, 22 Aug 2014, Mary Ann Horton wrote: >> [snip] >>> Shortly thereafter in 1978, Eric Schmidt (yes, that Eric Schmidt) wrote Berknet, which was similar to UUCP but didn't use modems, it ran over null modem serial line interconnections. It ran on V6, V7, and the Vax. >> >> How does that Berknet differ from the Berknet in...4.0/4.1BSD? I've seen what I THINK was ethernet code there...but I couldn't be sure as I couldn't even decipher the addressing scheme. ;) >> >> I've been meaning to ask about Berknet, anyway. One of my side projects is to get it operational. >> >>> For a few years, the Berknet link between ucbvax (which had a modem and was on UUCP) and ingvax (which was on the ARPANET) was the gateway between the UUCP and Usenet networks and the ARPANET. >> >> -- >> Cory Smelosky >> http://gewt.net Personal stuff >> http://gimme-sympathy.org Projects >> _______________________________________________ >> TUHS mailing list >> TUHS at minnie.tuhs.org >> https://minnie.tuhs.org/mailman/listinfo/tuhs ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-24 22:46 ` Clem Cole 2014-08-24 23:00 ` Clem Cole @ 2014-08-24 23:07 ` A. P. Garcia 2014-08-24 23:43 ` Clem Cole 2014-08-25 14:21 ` Ronald Natalie 1 sibling, 2 replies; 25+ messages in thread From: A. P. Garcia @ 2014-08-24 23:07 UTC (permalink / raw) On Aug 24, 2014 5:47 PM, "Clem Cole" <clemc at ccc.com> wrote: > btw. CMU responded to 4.2 by taking the ideas from Accent and rewriting then and splicing them into BSD kernel to create Mach. Which lives today as the core of both Mac OSx and iOS And of course, before that, nextstep/openstep... and, well, hurd. ;-) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140824/10895399/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-24 23:07 ` A. P. Garcia @ 2014-08-24 23:43 ` Clem Cole 2014-08-25 14:21 ` Ronald Natalie 1 sibling, 0 replies; 25+ messages in thread From: Clem Cole @ 2014-08-24 23:43 UTC (permalink / raw) next used Mach. you're right next brought it into Apple > On Aug 24, 2014, at 7:07 PM, "A. P. Garcia" <a.phillip.garcia at gmail.com> wrote: > > > On Aug 24, 2014 5:47 PM, "Clem Cole" <clemc at ccc.com> wrote: > > > btw. CMU responded to 4.2 by taking the ideas from Accent and rewriting then and splicing them into BSD kernel to create Mach. Which lives today as the core of both Mac OSx and iOS > > And of course, before that, nextstep/openstep... and, well, hurd. ;-) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140824/4c7fde61/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-24 23:07 ` A. P. Garcia 2014-08-24 23:43 ` Clem Cole @ 2014-08-25 14:21 ` Ronald Natalie 1 sibling, 0 replies; 25+ messages in thread From: Ronald Natalie @ 2014-08-25 14:21 UTC (permalink / raw) On Aug 24, 2014, at 7:07 PM, A. P. Garcia <a.phillip.garcia at gmail.com> wrote: > > On Aug 24, 2014 5:47 PM, "Clem Cole" <clemc at ccc.com> wrote: > > > btw. CMU responded to 4.2 by taking the ideas from Accent and rewriting then and splicing them into BSD kernel to create Mach. Which lives today as the core of both Mac OSx and iOS > > And of course, before that, nextstep/openstep... and, well, hurd. ;-) > > Amusingly, when we got our first NeXT machines I was just poking around working on it and inadvertently typed "bg" to /bin/sh. I got back "Job Control not Enabled." Hey, that error message sounds familiar. So I typed "set -J" "Job Control Enabled." Hey, this is one my shells. It has made it to NeXt via Mach via Doug Gwyn's System V on BSD tapes. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140825/95a4d593/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 22:12 ` Cory Smelosky 2014-08-24 22:46 ` Clem Cole @ 2014-08-26 16:36 ` Jeremy C. Reed 2014-08-26 23:20 ` Clem Cole 1 sibling, 1 reply; 25+ messages in thread From: Jeremy C. Reed @ 2014-08-26 16:36 UTC (permalink / raw) On Fri, 22 Aug 2014, Cory Smelosky wrote: > How does that Berknet differ from the Berknet in...4.0/4.1BSD? I've > seen what I THINK was ethernet code there...but I couldn't be sure as > I couldn't even decipher the addressing scheme. ;) > > I've been meaning to ask about Berknet, anyway. One of my side > projects is to get it operational. I have read most (if not all) of the berknet docs and a lot of the code. The docs and code referenced a rcs, rcsq, and rcslog as some tools that could be ran without a personal account on a remote system. I didn't recognize rcsq, but also these references pre-dated Tichy's alternative to SCCS by a year or so. Then I realized this is "remote computer system link" used something like: rcsq to see queued jobs no sent yet for CDC 6400; rcslog to see history of jobs sent that day; and rcsrm to delete a job not sent yet. Basic concepts similar to berknet (netq, netlog, netrm). (The clue I found was in http://www.eecs.berkeley.edu/Pubs/TechRpts/1979/ERL-79-16.pdf) I know the Cyber 6400 was used there (some of my interviewees told me about it). Does anyone know if Berknet's design was inspired by this "rcs"? Where can I learn more about it? (as searching for "rcs" is difficult) I don't see any ethernet code in Berknet. The author had a summer job at XEROX PARC I think in the middle of his Berknet project and discussed the low-level network concepts with Boggs. Later, they considered an LNI, an early token ring (if I understand correctly), device, and DMC-11 link, but I don't think berknet was ever extended for those or used using ethernet. Note that extending Berknet probably didn't make sense. It was all batched with all the systems known to each system hardcoded, compiled in. Smallest jobs sent first from the queue to neighboring system which would send the job to next as if it was queued locally until it arrived to desired system. So retrieving an email (box) or doing a remote copy, you would have to wait for the jobs to get ran. The speed on the 1200 baud links was only around 50 characters per second. (I think at best on 9600 baud links was around 600 characters per second but normally 350 cps.) In addition, berknet had hardcoded restrictions limiting 100,000 characters per single job. (It was later extended to 500,000 characters for some machines, then all machines while still limiting only 200,000 characters max size jobs during day time.) (I never used berknet only read code and docs and did some interviews with users.) It was quite limited compared to the new real-time tools and near 3Mb network that started being developed and used there a couple years later. By the way, the early berknet had a symlink to the batch remote copy netcp called "rcp" which predated Joy's real-time remote file copy, rcp, by a few years. The early version also included a trivial "sendmail" to remotely send mail over the batch berknet to another berknet system (by running "mail" on the remote system later). It predated Allman's unrelated intelligent mailer by around two years. The Berknet tool was replaced and renamed with "sendberkmail". ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-26 16:36 ` Jeremy C. Reed @ 2014-08-26 23:20 ` Clem Cole 0 siblings, 0 replies; 25+ messages in thread From: Clem Cole @ 2014-08-26 23:20 UTC (permalink / raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 3193 bytes --] below On Tue, Aug 26, 2014 at 12:36 PM, Jeremy C. Reed <reed at reedmedia.net> wrote: > On Fri, 22 Aug 2014, Cory Smelosky wrote: > Does anyone know if Berknet's design was inspired by this > "rcs"? Where can I learn more about it? (as searching for "rcs" is > > difficult) > You'd have to ask Eric. It was certainly there and the CDC box was used a good bit before the Vaxen showed up, particular in EE for things like SPICE, SPLICE, et al. > > I don't see any ethernet code in Berknet. There would not be any. As I said, it pre-dated any Ethernet HW at UCB. It ran over 9600 bit RS-232C links (usually on a DZ11). > they considered an > LNI, an early token ring (if I understand correctly), device, Yes - that is right. It was a UCI/MIT device -- predates the Proteon Ring products and Apollo's Ring. > and DMC-11 > link, but I don't think berknet was ever extended for those or used > using ethernet. > Correct > > > By the way, the early berknet had a symlink to the batch remote copy > netcp called "rcp" which predated Joy's real-time remote file copy, rcp, > by a few years. right. > The early version also included a trivial "sendmail" to > remotely send mail over the batch berknet to another berknet system (by > running "mail" on the remote system later). It predated Allman's > unrelated intelligent mailer by around two years. The Berknet tool was > replaced and renamed with "sendberkmail". It was built using Kurt Shoen's "delivermail" which is in 4.1 (and was what Eric would rewrite - see below). The historical (hysterical) reason was this. Eric was the main guy behind the 11/70 that the Ingress project had (ing70 on the Berknet) in Cory Hall. In Evans, was Ernie (and later ucbvax). The Internet connection was owned by the Ingress Group on a long interface pair to an IMP at LBL. UCB did not have its own IMP as CMU, MIT, Stanford did. The UUCP network came into Evans via Ernie, but Internet via Ing70. So the UCB mail system had to send the messages over the BerkNet to proper host for import/export from campus. Similarly, folks in other departments as they joined the Berknet had private and strange mail interfaces. Originally, different folks in different departments had been hacking mail, delivermail etc al to handle different header formats. Eric was a DB guy, do he wrote a DB production language to walk headers because it was having to deal with so much dead mail from unparsable messages that would get sent to Ingress by the Berknet and then not be able to be delivered. I have always contended that if he has left the SMTP connection out of sendmail and called the BBN smtpd, to do import/export the way many other UNIX MTAs did and left sendmail and as purely a middleware layer that canonnicalized header, it would have been a different world. Because it was also the smtpd, people used it ever though most did not have the N header problem we had at UCB. The rest is history. Clem -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140826/92c959be/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 3:42 [TUHS] networking on unix before uucp Mark Longridge 2014-08-22 15:09 ` Mary Ann Horton @ 2014-08-22 15:18 ` Dan Cross 2014-08-22 15:20 ` Dan Cross 2014-08-22 15:57 ` John Cowan 2014-08-22 18:01 ` [TUHS] networking on unix before uucp Dave Horsfall 2 siblings, 2 replies; 25+ messages in thread From: Dan Cross @ 2014-08-22 15:18 UTC (permalink / raw) Unix was on the ARPAnet circa 1975 (if not earlier): http://tools.ietf.org/html/rfc681 V6 was "released" in May 1975, and that document was also published in May 1975 and says that the software had been running for about a month, so it's entirely possible that the ARPAnet Unix work was done before V6 (or perhaps they were an early test site: I don't know what the policies were around that). It's been many years since I've read RFC681 closely and from my quick skim just now, I don't think they say what version of Unix they're running. It's clear from the RFC that they had been running Unix for more than a month given the description of their site, and if I had to hazard a guess I'd say they were running V5; perhaps heavily patched. I idly wonder if any of that work has survived; it would be interesting to see an ARPAnet/NCP implementation for early Unix. But to address your question yes, Unix was certainly networked well before UUCP emerged in V7. - Dan C. On Thu, Aug 21, 2014 at 11:42 PM, Mark Longridge <cubexyz at gmail.com> wrote: > Hi folks, > > I was wondering if Unix had any form of networking before uucp > appeared in Unix v7. It would be interesting to know if one could pass > a file from one Unix v5 machine to another without having to store it > on a magnetic tape. > > There's some reference to a mysterious "Spider Interface" in the Unix > v5 manual. It seems to have something to do with DR-11B (which is a > general purpose direct memory access interface to the PDP-11 Unibus). > > There's also reference to the "Spider line-printer" :) > > Mark > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140822/30d86164/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 15:18 ` Dan Cross @ 2014-08-22 15:20 ` Dan Cross 2014-08-22 15:57 ` John Cowan 1 sibling, 0 replies; 25+ messages in thread From: Dan Cross @ 2014-08-22 15:20 UTC (permalink / raw) (And upon slightly closer inspection of the RFC's header, it appears that it was *written* in March of 1975, though Postel didn't post it until May of that year. That certainly predates the V6 release by a few months, so it seems probable that they were, in fact, running either V5 [possibly with patches] or a pre-release of V6.) On Fri, Aug 22, 2014 at 11:18 AM, Dan Cross <crossd at gmail.com> wrote: > Unix was on the ARPAnet circa 1975 (if not earlier): > http://tools.ietf.org/html/rfc681 > > V6 was "released" in May 1975, and that document was also published in May > 1975 and says that the software had been running for about a month, so it's > entirely possible that the ARPAnet Unix work was done before V6 (or perhaps > they were an early test site: I don't know what the policies were around > that). It's been many years since I've read RFC681 closely and from my > quick skim just now, I don't think they say what version of Unix they're > running. It's clear from the RFC that they had been running Unix for more > than a month given the description of their site, and if I had to hazard a > guess I'd say they were running V5; perhaps heavily patched. I idly wonder > if any of that work has survived; it would be interesting to see an > ARPAnet/NCP implementation for early Unix. > > But to address your question yes, Unix was certainly networked well before > UUCP emerged in V7. > > - Dan C. > > > > On Thu, Aug 21, 2014 at 11:42 PM, Mark Longridge <cubexyz at gmail.com> > wrote: > >> Hi folks, >> >> I was wondering if Unix had any form of networking before uucp >> appeared in Unix v7. It would be interesting to know if one could pass >> a file from one Unix v5 machine to another without having to store it >> on a magnetic tape. >> >> There's some reference to a mysterious "Spider Interface" in the Unix >> v5 manual. It seems to have something to do with DR-11B (which is a >> general purpose direct memory access interface to the PDP-11 Unibus). >> >> There's also reference to the "Spider line-printer" :) >> >> Mark >> _______________________________________________ >> TUHS mailing list >> TUHS at minnie.tuhs.org >> https://minnie.tuhs.org/mailman/listinfo/tuhs >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140822/5252b9cc/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 15:18 ` Dan Cross 2014-08-22 15:20 ` Dan Cross @ 2014-08-22 15:57 ` John Cowan 2014-08-22 16:06 ` Ronald Natalie 2014-09-02 19:15 ` [TUHS] portal daemon (was Re: networking on unix before uucp) Aaron J. Grier 1 sibling, 2 replies; 25+ messages in thread From: John Cowan @ 2014-08-22 15:57 UTC (permalink / raw) Dan Cross scripsit: > Unix was on the ARPAnet circa 1975 (if not earlier): > http://tools.ietf.org/html/rfc681 # filedes = open( "/dev/net/harv",2 ); # if( filedes < 0 ) # printf(" harvard is dead"); # else # while( (nbytes=read(filedes,buf,80)) > 0 ) # write( 0,buf,nbytes ); If only this code still worked on modern Unixes! The socket API is fine, but there really was no need to break good old open, at least for client-side operations. Plan 9 got it right here, as usual. # In this light Bell was approached to see what their reaction # would be to an ARPA network wide liscense, they said they were # open to suggestions in that area. So should enough people # become interested, perhaps a less expensive fee can be # negotiated. Alas for maiden, alas for Judge, For rich repiner and household drudge! God pity them both! and pity us all, Who vainly the dreams of youth recall; For of all sad words of tongue or pen, The saddest are these: "It might have been!" --John Greenleaf Whittier, "Maud Muller" To which Bret Harte added in "Mrs. Judge Jenkins": More sad are these we daily see: "It is, but hadn't ought to be". -- John Cowan http://www.ccil.org/~cowan cowan at ccil.org The whole of Gaul is quartered into three halves. --Julius Caesar ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 15:57 ` John Cowan @ 2014-08-22 16:06 ` Ronald Natalie 2014-08-22 18:11 ` Dave Horsfall 2014-09-02 19:15 ` [TUHS] portal daemon (was Re: networking on unix before uucp) Aaron J. Grier 1 sibling, 1 reply; 25+ messages in thread From: Ronald Natalie @ 2014-08-22 16:06 UTC (permalink / raw) I hate the socket interface, at least once you use it's goofy interface on UNIX, it works mostly like a file descriptor. The sucky one is Windows which has a socket interface but it's file read and write calls are completely incompatible. ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 16:06 ` Ronald Natalie @ 2014-08-22 18:11 ` Dave Horsfall 2014-08-22 17:51 ` Larry McVoy 2014-08-22 19:32 ` John Cowan 0 siblings, 2 replies; 25+ messages in thread From: Dave Horsfall @ 2014-08-22 18:11 UTC (permalink / raw) On Fri, 22 Aug 2014, Ronald Natalie wrote: > I hate the socket interface, at least once you use it's goofy interface > on UNIX, it works mostly like a file descriptor. In a previous slavery we had a simple socket library; the application did little more than say whether it was a client or a server etc. I wish I could steal that code now... > The sucky one is Windows which has a socket interface but it's file read > and write calls are completely incompatible. Well, we mustn't imitate Unix, must we? -- Dave ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 18:11 ` Dave Horsfall @ 2014-08-22 17:51 ` Larry McVoy 2014-08-22 19:24 ` John Cowan 2014-08-22 20:37 ` Dave Horsfall 2014-08-22 19:32 ` John Cowan 1 sibling, 2 replies; 25+ messages in thread From: Larry McVoy @ 2014-08-22 17:51 UTC (permalink / raw) On Sat, Aug 23, 2014 at 04:11:42AM +1000, Dave Horsfall wrote: > On Fri, 22 Aug 2014, Ronald Natalie wrote: > > > I hate the socket interface, at least once you use it's goofy interface > > on UNIX, it works mostly like a file descriptor. > > In a previous slavery we had a simple socket library; the application did > little more than say whether it was a client or a server etc. I wish I > could steal that code now... lmbench has one: /* * Get a TCP socket, bind it, figure out the port, * and advertise the port as program "prog". * * XXX - it would be nice if you could advertise ascii strings. */ int tcp_server(int prog, int rdwr) /* * Unadvertise the socket */ int tcp_done(int prog) /* * Accept a connection and return it */ int tcp_accept(int sock, int rdwr) /* * Connect to the TCP socket advertised as "prog" on "host" and * return the connected socket. * * Hacked Thu Oct 27 1994 to cache pmap_getport calls. This saves * about 4000 usecs in loopback lat_connect calls. I suppose we * should time gethostbyname() & pmap_getprot(), huh? */ int tcp_connect(char *host, int prog, int rdwr) void sock_optimize(int sock, int flags) int sockport(int s) I swiped all that code and we use it in bitkeeper. sock = tcp_server(0, port, 0); if (sock == -1) exit(1); verbose((stderr, "started server on port %d\n", sockport(sock))); while (1) { if ((nsock = tcp_accept(sock)) < 0) continue; peer = peeraddr(nsock); verbose((stderr, "connection from %s\n", peer)); fin = fdopen(nsock, "r"); fout = fdopen(nsock, "w"); info_cmds(fin, fout, dashx); fclose(fin); fclose(fout); verbose((stderr, "%s is done\n", peer)); } -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 17:51 ` Larry McVoy @ 2014-08-22 19:24 ` John Cowan 2014-08-22 20:37 ` Dave Horsfall 1 sibling, 0 replies; 25+ messages in thread From: John Cowan @ 2014-08-22 19:24 UTC (permalink / raw) Larry McVoy scripsit: > lmbench has one: I have a similar library for Perl, taken from the Perl 4 man page. (I finally got around to removing the &s from the procedure names.) But the point is that it should work with the regular open() system call, such that calling open("/dev/tcp/<host>/80", O_RDWR) should open host "<host>" on port 80, and something like "serv(80, cookie)" should copy a string into cookie such that open(cookie, O_RDWR) would accept a connection. Unfortunately, C makes it very hard to override the meaning of global function names cleanly. -- John Cowan http://www.ccil.org/~cowan cowan at ccil.org Even a refrigerator can conform to the XML Infoset, as long as it has a door sticker saying "No information items inside". --Eve Maler ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 17:51 ` Larry McVoy 2014-08-22 19:24 ` John Cowan @ 2014-08-22 20:37 ` Dave Horsfall 2014-08-22 20:16 ` Larry McVoy 1 sibling, 1 reply; 25+ messages in thread From: Dave Horsfall @ 2014-08-22 20:37 UTC (permalink / raw) On Fri, 22 Aug 2014, Larry McVoy wrote: > > In a previous slavery we had a simple socket library; the application > > did little more than say whether it was a client or a server etc. I > > wish I could steal that code now... > > lmbench has one: Yeah, that's pretty much what we did. Conceptually, the client said "please connect me to Sydney's pogo stick server", and the server said "I am the Sydney pogo stick server". Networking as it ought to be (none of this business about the right phase of the moon and looking for a few all-too-scarce virgins etc). The config stuff was initially in flat files, and it was my job to convert the lot to OpenLDAP lookups. -- Dave ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 20:37 ` Dave Horsfall @ 2014-08-22 20:16 ` Larry McVoy [not found] ` <alpine.BSF.2.00.1408230659490.42071@aneurin.horsfall.org> 0 siblings, 1 reply; 25+ messages in thread From: Larry McVoy @ 2014-08-22 20:16 UTC (permalink / raw) On Sat, Aug 23, 2014 at 06:37:59AM +1000, Dave Horsfall wrote: > On Fri, 22 Aug 2014, Larry McVoy wrote: > > > > In a previous slavery we had a simple socket library; the application > > > did little more than say whether it was a client or a server etc. I > > > wish I could steal that code now... > > > > lmbench has one: > > Yeah, that's pretty much what we did. Conceptually, the client said > "please connect me to Sydney's pogo stick server", and the server said "I > am the Sydney pogo stick server". If anyone wants the stuff we use, the stuff mentioned above, I can put it up on the web. -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm ^ permalink raw reply [flat|nested] 25+ messages in thread
[parent not found: <alpine.BSF.2.00.1408230659490.42071@aneurin.horsfall.org>]
* [TUHS] networking on unix before uucp [not found] ` <alpine.BSF.2.00.1408230659490.42071@aneurin.horsfall.org> @ 2014-08-23 2:30 ` Larry McVoy 0 siblings, 0 replies; 25+ messages in thread From: Larry McVoy @ 2014-08-23 2:30 UTC (permalink / raw) On Sat, Aug 23, 2014 at 07:01:40AM +1000, Dave Horsfall wrote: > On Fri, 22 Aug 2014, Larry McVoy wrote: > > > If anyone wants the stuff we use, the stuff mentioned above, I can put > > it up on the web. > > Pretty please! For private use only, of course. You'all can use it anywhere you like. http://www.mcvoy.com/lm/tcp.shar It's not that big a deal (other than 20 years of bug fixes :) Somewhere I have a bigger deal, at least I think it is, I made a library to talk to Sun RPC servers in parallel. I called it rpc vectors and Ron Minnich used it to put a bunch of nfs servers together, he called that bigfoot. Paper below, if someone wants that code I can ship that too. It was pretty neat, back in the days of 10Mbit ethernet I was querying thousands of machines in a single call. The code dealt with the fact that you had to start eating the replies before you were done sending the question :) http://wenku.baidu.com/view/797c4ac62cc58bd63186bd1c.html or for old school people http://www.mcvoy.com/lm/bitmover/lm/papers/bigfoot.ps The code was pretty small, pretty clever, it's a shame it didn't catch on. -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 18:11 ` Dave Horsfall 2014-08-22 17:51 ` Larry McVoy @ 2014-08-22 19:32 ` John Cowan 1 sibling, 0 replies; 25+ messages in thread From: John Cowan @ 2014-08-22 19:32 UTC (permalink / raw) Dave Horsfall scripsit: > Well, we mustn't imitate Unix, must we? I shall dub Windows "WIUB", for "WIUB Imitates Unix, Badly". (Cf. LIAR, the compiler for MIT Scheme, whose name means "LIAR Imitates Apply Recursively".) -- John Cowan http://www.ccil.org/~cowan cowan at ccil.org Awk!" sed Grep. "A fscking python is perloining my Ruby; let me bash him with a Cshell! Vi didn't I mount it on a troff?" --Francis Turner ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] portal daemon (was Re: networking on unix before uucp) 2014-08-22 15:57 ` John Cowan 2014-08-22 16:06 ` Ronald Natalie @ 2014-09-02 19:15 ` Aaron J. Grier 2014-09-02 19:57 ` Clem Cole 1 sibling, 1 reply; 25+ messages in thread From: Aaron J. Grier @ 2014-09-02 19:15 UTC (permalink / raw) On Fri, Aug 22, 2014 at 11:57:01AM -0400, John Cowan wrote: > # filedes = open( "/dev/net/harv",2 ); > # if( filedes < 0 ) > # printf(" harvard is dead"); > # else > # while( (nbytes=read(filedes,buf,80)) > 0 ) > # write( 0,buf,nbytes ); > > If only this code still worked on modern Unixes! The socket API is > fine, but there really was no need to break good old open, at least > for client-side operations. Plan 9 got it right here, as usual. was this the impetus behind mount_portal in 4.4BSD? It's still available in NetBSD, although I've never played with it myself. -- Aaron J. Grier | "Not your ordinary poofy goof." | agrier at poofygoof.com ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] portal daemon (was Re: networking on unix before uucp) 2014-09-02 19:15 ` [TUHS] portal daemon (was Re: networking on unix before uucp) Aaron J. Grier @ 2014-09-02 19:57 ` Clem Cole 2014-09-02 20:06 ` Erik E. Fair 0 siblings, 1 reply; 25+ messages in thread From: Clem Cole @ 2014-09-02 19:57 UTC (permalink / raw) Mumble -- I would say that BSD portals was more in response to an MIT idea that the Apollo guys (Jim Rees I believe) put in domain as the Apollo Typed File System. At the time of the BSD, there was a lots of discussion going on about how to move things out the kernel and a number of techniques were considered -- Portals was one of them. The idea of /dev/mumble/some_other_mumble was kicking around early UNIX for a long time. I think I first encountered it in the MIT Chaos code, but the Arpanet NCP code may have redated its use. The idea was simple, the kernel's nami() function that was called by kernel open code (or any other call the had to walk a pathname), left the pointer to the next undecoded part of the path in the user's input buffer alone. So a hack was put in the kernel that caused open to vector to needed helper code for the network to do the rest of the pathname to get the parameters. The advantage of this of course is open returns a real file descriptor. BTW: One idea I had many years ago, and I remember talking to Dennis about it at a couple of USENIX was similar to Apollo's typed scheme. As dmr put it to me at the time, UNIX has a typed file system with very few types. The question was if we opened up the typing scheme to allow for arbitrary types, would you get more of mess or would the new feature be of an advantage. I was not doing research at the time - I was employed at Masscomp and just getting a distributed FS was enough. Since I did not have a good use for the hack for EFS, I never tried to implement it. It was always on my "TODO" list. Maybe when I retire and I can hack just for the fun of it, I can try it ;-) Clem On Tue, Sep 2, 2014 at 3:15 PM, Aaron J. Grier <agrier at poofygoof.com> wrote: > On Fri, Aug 22, 2014 at 11:57:01AM -0400, John Cowan wrote: > > # filedes = open( "/dev/net/harv",2 ); > > # if( filedes < 0 ) > > # printf(" harvard is dead"); > > # else > > # while( (nbytes=read(filedes,buf,80)) > 0 ) > > # write( 0,buf,nbytes ); > > > > If only this code still worked on modern Unixes! The socket API is > > fine, but there really was no need to break good old open, at least > > for client-side operations. Plan 9 got it right here, as usual. > > was this the impetus behind mount_portal in 4.4BSD? It's still > available in NetBSD, although I've never played with it myself. > > -- > Aaron J. Grier | "Not your ordinary poofy goof." | agrier at poofygoof.com > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140902/f96dccb7/attachment.html> ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] portal daemon (was Re: networking on unix before uucp) 2014-09-02 19:57 ` Clem Cole @ 2014-09-02 20:06 ` Erik E. Fair 0 siblings, 0 replies; 25+ messages in thread From: Erik E. Fair @ 2014-09-02 20:06 UTC (permalink / raw) Plan 9 went that way in a big way, as I recall the published papers given at USENIX; they took naming in the UNIX filesystem to a high art. oh, and by the way, hi all, Erik Fair ^ permalink raw reply [flat|nested] 25+ messages in thread
* [TUHS] networking on unix before uucp 2014-08-22 3:42 [TUHS] networking on unix before uucp Mark Longridge 2014-08-22 15:09 ` Mary Ann Horton 2014-08-22 15:18 ` Dan Cross @ 2014-08-22 18:01 ` Dave Horsfall 2 siblings, 0 replies; 25+ messages in thread From: Dave Horsfall @ 2014-08-22 18:01 UTC (permalink / raw) Does ACSnet (Australian Computer Science Network) count? It ran over leased lines, supporting remote login and file transfer, back around the 70s. Definitely V6, because of the 11/40s at the time. A commercial offshoot was MHSnet, which for all I know is still available. -- Dave (dave:csu40) ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2014-09-02 20:06 UTC | newest] Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-08-22 3:42 [TUHS] networking on unix before uucp Mark Longridge 2014-08-22 15:09 ` Mary Ann Horton 2014-08-22 22:12 ` Cory Smelosky 2014-08-24 22:46 ` Clem Cole 2014-08-24 23:00 ` Clem Cole 2014-08-24 23:07 ` A. P. Garcia 2014-08-24 23:43 ` Clem Cole 2014-08-25 14:21 ` Ronald Natalie 2014-08-26 16:36 ` Jeremy C. Reed 2014-08-26 23:20 ` Clem Cole 2014-08-22 15:18 ` Dan Cross 2014-08-22 15:20 ` Dan Cross 2014-08-22 15:57 ` John Cowan 2014-08-22 16:06 ` Ronald Natalie 2014-08-22 18:11 ` Dave Horsfall 2014-08-22 17:51 ` Larry McVoy 2014-08-22 19:24 ` John Cowan 2014-08-22 20:37 ` Dave Horsfall 2014-08-22 20:16 ` Larry McVoy [not found] ` <alpine.BSF.2.00.1408230659490.42071@aneurin.horsfall.org> 2014-08-23 2:30 ` Larry McVoy 2014-08-22 19:32 ` John Cowan 2014-09-02 19:15 ` [TUHS] portal daemon (was Re: networking on unix before uucp) Aaron J. Grier 2014-09-02 19:57 ` Clem Cole 2014-09-02 20:06 ` Erik E. Fair 2014-08-22 18:01 ` [TUHS] networking on unix before uucp Dave Horsfall
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).