The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Unix NCP protocol stack for ARPANET
@ 2021-10-24 16:16 Lars Brinkhoff
  2021-10-24 17:24 ` Clem Cole
  0 siblings, 1 reply; 12+ messages in thread
From: Lars Brinkhoff @ 2021-10-24 16:16 UTC (permalink / raw)
  To: tuhs

Hello,

I'm working on setting up an emulated ARPANET using the original IMP
software recovered some years ago.  It turns out, the greatest challenge
is finding the NCP software on the host side that implements the ARPANET
protocols.  I have searched the TUHS archive and elsewhere, but all I
find for Unix is a copy of the PDP-11 Unix V6 NCP from Illinois.

Has any other NCP implementation for Unix survived?  From old host
tables I think there may have been some VAXen online before the switch
to TCP/IP.

Best regards,
Lars Brinkhoff

^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [TUHS] Unix NCP protocol stack for ARPANET
@ 2021-10-25 16:50 Paul Ruizendaal
  2021-10-25 19:04 ` Lars Brinkhoff
  0 siblings, 1 reply; 12+ messages in thread
From: Paul Ruizendaal @ 2021-10-25 16:50 UTC (permalink / raw)
  To: TUHS main list, Lars Brinkhoff

> I have searched the TUHS archive and elsewhere, but all I
> find for Unix is a copy of the PDP-11 Unix V6 NCP from Illinois.
> 
> Has any other NCP implementation for Unix survived?  From old host
> tables I think there may have been some VAXen online before the switch
> to TCP/IP.

Lars,

You may want to look at the 4 surviving BBN tapes on Kirk McKusick’s DVD software collection. A small part of that is on the TUHS Unix tree page - see the 4.1BSD entry.

1. A history of NCP on the VAX at BBN can be found in the change log:
https://www.tuhs.org/cgi-bin/utree.pl?file=BBN-Vax-TCP/history

In short they started with 32V in the Fall of 1979, and ported UIUC’s NCP code to it in May 1980. They then moved to 4.1BSD in August and ported yet again. It would seem that the ports were fairly straightforward. Coding for TCP begins in January 1981.

2. Note that the BBN TCP worked over NCP as its primary transport. The driver is still there if you look through the surviving BBN tapes. Part of that code is on TUHS:
https://www.tuhs.org/cgi-bin/utree.pl?file=BBN-Vax-TCP/dev/acc.c
https://www.tuhs.org/cgi-bin/utree.pl?file=BBN-Vax-TCP/bbnnet-oct82/imp_io.c

It will take some effort, but probably the NCP VAX code can be reconstructed from the surviving PDP11 UIUC code and these BBN tapes (the file names in the change log match).

3. The BBN tapes also have some user level software: telnet, ftp, mtp. This code consists of straight NCP to TCP conversions and the source code has #ifdef’s for NCP and TCP. An example is here:
https://www.tuhs.org/cgi-bin/utree.pl?file=BBN-Vax-TCP/src/telnet/netser.c

Hope this helps.

Paul

PS - Info on the DVD is here (bottom of the page):
https://www.mckusick.com/csrg/


^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [TUHS] Unix NCP protocol stack for ARPANET
@ 2021-10-25 18:50 Noel Chiappa
  2021-10-28  9:41 ` Lars Brinkhoff
  0 siblings, 1 reply; 12+ messages in thread
From: Noel Chiappa @ 2021-10-25 18:50 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: "Ron Natalie"

    > However, the last NCP host table shows this statistic for DEC machines
    > on the NCP Arpanet
    > ...
    > PDP11 (MOS):  11
    > PDP11 (MINITS); 10

Hi, which host table was this that you're looking at?

I'm pretty sure there was no MINITS NCP ('NCP' in the sense of 'Initial
Connection Protocol (ICP)' and 'ARPANET Host-to-Host Protocol (AHHP)' - see
below). There was _certainaly_ no MINITS machine on the ARPANET at MIT (the
birthplace of MINITS).

To confirm, I looked at a major MINITS source repository, here:

    https://github.com/PDP-10/its/tree/master/src/mits_s

and saw nothing like that. (Not even an 1822 interface driver.)

If you look there, you _will_ see things labelled 'NCP', but this is just a
terminological affliction among the CHAOS people, to whom 'NCP' apparently
meant 'protocol implementation' or 'network code'.

Also, implementations of the 'Host-to-IMP Protocol (HIP)' are _not_ NCP
either; there was an HIP implementation in the C Gateway, but that was
as IP router, one that could connect to an IMP.

IF IT DOESN'T HAVE AHHP, IT"S NOT NCP.


Also, I was intimately familiar with MOS, and neither of the two earliest
applications that ran on it (the TIU, and the Port Expander, both of which I
have the source code for) had any NCP. I looked at a lot of the MOS 'NCP"
listings in a old host table (see here:

  https://gunkies.org/wiki/Talk:Network_Control_Program

for details) and concluded that the MOS 'NCP' entries were all 'confused'.


    > From: Clem Cole

    > I was under the impression, that you folks at MIT did a ChaosNet
    > interface, IIRC, so there may have been some sort of conversion on
    > your LAN, but I really doubt there was a real NCP running.

The AI Lab did both i) a LAN called CHAOS (4 Mbit/seccond CSMA-CD over CATV
cable) and ii) a protocol family callled CHAOS (which later ran over XDI
Ethernet). I'm not sure that any of it has any relvance to what's under
discussion here.

    > But there was a Rand stack around the same time and III think
    > Holmgren ended up at UCSB after his time at UICI. Im fairly sure there
    > was cross polinartion but I don't know how much.

I looked through my V6 Unix NCP, but although there were some RAND #ifdefs, I
didn't see anything about Rand (except that the MMDF is noted as being based
on something done at Rand). I retain the distinct impression that all V6 Unix
NCP machines were running some descendant of the UIUC code. NOSC seems to have
served as a distro center at one point, see:

  https://minnie.tuhs.org//cgi-bin/utree.pl?file=SRI-NOSC/new/dist.log

but I can't tell who they were sending it too.

(We never tried to get it running at MIT since we were out of IMP ports.
By the time we got another IMP, we had IP running on the -11 and
NCP was done anyway.)

As for UCB, there are a bunch of UCBUFMOD #ifdef's, not sure what that
was about.


    > As for other NCPs, PARC had MAXC on the net, but I thought it had
    > originally a DG Nova front end that was replaced with an Alto. 

No, Maxc1 had a Nova, Maxc2 had an Alto.


    > From: Paul Ruizendaal

    > they started with 32V in the Fall of 1979, and ported UIUC's NCP code
    > to it

Thanks for straightening that out. I had a vague memory that there were a
few VAXen that ran NCP, but wasn't sure.

    > 2. Note that the BBN TCP worked over NCP as its primary transport.

Your terminology is confused. TCP _never_ ran 'on' NCP; they were
_alternative_ protocol stacks on top of IHP (on the ARPANET). No
AHHP, no NCP.

    > The driver is still there if you look

That acc.c is a driver for the ACC 1822 interface; it includes bits of IHP
("Try to send 3 no-ops to IMP") but I don't think it includes the complete IHP.
There are other BSD 1822 device drivers, e.g.:

  https://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/sys/pdpif/if_sri.c

That's the BSD2.11 Stanford/SRI 1822 device driver.

	Noel

^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [TUHS] Unix NCP protocol stack for ARPANET
@ 2021-10-26  8:06 Paul Ruizendaal
  0 siblings, 0 replies; 12+ messages in thread
From: Paul Ruizendaal @ 2021-10-26  8:06 UTC (permalink / raw)
  To: TUHS main list, Lars Brinkhoff

Noel wrote:

>> 2. Note that the BBN TCP worked over NCP as its primary transport.
> 
> Your terminology is confused. TCP _never_ ran 'on' NCP; they were
> _alternative_ protocol stacks on top of IHP (on the ARPANET). No
> AHHP, no NCP.

Yes, of course you are right. I meant BBN TCP used *Arpanet* as its primary transport and hence has drivers for the IMP interface hardware.


Lars wrote:

> Here's the rub.  Some hosts may have jumped the TCP/IP gun ahead of the
> 1/1 1983 flag day.  The host tables don't say.  Could it be that all
> those VAXen were running experimental TCP/IP in January 1982?

From Mike Muuss’ TCP digest mailing list and a mail conversation with Vint Cerf a few years ago I understood the following. “Flag day” wasn’t as black and white as we remember it now. During 1982 there was a continuous push to move systems to TCP, and over the year more and more systems became dual protocol capable and later even TCP only. Because all TCP traffic used the same, dedicated Arpanet link number, BBN’s network control team could monitor the level of usage. From memory, in the Summer of 1982 traffic was about 50% TCP and by October 70%. Presumably it reached 80-90% by the end of the year.

During 1982 on 3 occasions, network control activated a feature in the IMP’s that refused traffic on link #0, which NCP used to negotiate a connection. This caused NCP applications to stop working. Again from memory, the first outage was a few hours, the second one a day and third one, late in 1982, for two days. This highlighted systems that needed conversion and helped motivate higher ups to approve conversion resources. It seems that making the switch often involved upgrading PDP11 to VAX.

From what I can tell flag day went well, although there were issues with mail gateways that lasted for several weeks.

At the start of 1982 there was no (usable) VAX Unix TCP code that I am aware of. There were several options for the PDP11, but of those I think only the 3COM code worked well. Around March/April there was code from BBN (see TUHS 4.1BSD) and from CSRG (4.1a BSD). A special build of PDP11 2.8BSD with TCP arrived somewhat later. My impression is that this was still the state of play on flag day, with 4.1cBSD only arriving well into 1983.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-10-28  9:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 16:16 [TUHS] Unix NCP protocol stack for ARPANET Lars Brinkhoff
2021-10-24 17:24 ` Clem Cole
2021-10-24 18:32   ` Ron Natalie
2021-10-24 19:28     ` Clem Cole
2021-10-24 19:28     ` Warner Losh
2021-10-24 20:25       ` Clem Cole
2021-10-25  9:26   ` Lars Brinkhoff
2021-10-25 16:50 Paul Ruizendaal
2021-10-25 19:04 ` Lars Brinkhoff
2021-10-25 18:50 Noel Chiappa
2021-10-28  9:41 ` Lars Brinkhoff
2021-10-26  8:06 Paul Ruizendaal

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).