Difference between revisions of "Talk:Network Control Program (ARPANET)"
(→What is an NCP implementation?: new section) |
(→What is an NCP implementation?: Foonly F2.) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 127: | Line 127: | ||
As a rule, a machine ''cannot'' have a working ARPANET NCP ''unless'' it is plugged into an IMP. In part, this is because each end of an NCP connection is ''addressed'' by the IMP number+port. No IMP Port - no NCP. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 23:32, 3 February 2025 (CET) | As a rule, a machine ''cannot'' have a working ARPANET NCP ''unless'' it is plugged into an IMP. In part, this is because each end of an NCP connection is ''addressed'' by the IMP number+port. No IMP Port - no NCP. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 23:32, 3 February 2025 (CET) | ||
+ | |||
+ | : Worry not. XSWIT implements the ARPANET Host/Host protocol, and talks 1822 to an IMP. [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 06:56, 4 February 2025 (CET) | ||
+ | |||
+ | :: I see; but there is something strange going on, per this comment - "This routine is called from the intsk process to read the rest of an ARPA net packet in from the chaos net." Of course, that could be because this box implemented a CHAOS<->NCP protocol 'gateway'. It also seems to be prepared to forward CHAOS packets over the ARPANET ("is this is for link 227 (octal)?"); but it wouldn't need the AHHP implementation if that's ''all'' it did. ([https://github.com/pdp11/nswit/blob/master/sail/cbf.ncp/caface.pal/490 This] seems to be code for the CHAOS<->NCP protocol gateway.) | ||
+ | |||
+ | ::: There's a Chaosnet service called ARPA (also NCP and TCP). ITS also has it. A Chaosnet machine calls this service to have make a connection out to ARPANET. Once connection is established, it acts as a regular byte stream Chaosnet/TCP/NCP connection. I haven't seen clients, but I assume Lisp machines would use this, and that the S-1 project would have some of those. So when the code says "ARPA", it can be this service, or the DoD office, or the ARPA network. | ||
+ | ::: Note that there's also an NCP TELNET client (and server, commented out). [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 14:21, 4 February 2025 (CET) | ||
+ | |||
+ | ::: Here's the ITS code: https://github.com/PDP-10/its/blob/master/src/sysnet/arpa.66 [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 16:29, 4 February 2025 (CET) | ||
+ | |||
+ | :: Oh, this code seems like it might have run on a number of different machines, not all of which had 1822 interfaces - "use hardware IMP interface, not Chaos net". I wonder if on non-1822 machines, the AHHP implementation was ''only'' on the machine with an 1822 interface; if not, somehow (perhaps by the link number) incoming packets must have been de-multiplexed and sent on to the correct machine? (This comment - "chaosnet IMP (as opposed to hardware IMP)" - is amusing.) | ||
+ | :: It did seem to have an IMP interface; an LH-DH-11 (but there is a different mystery - an [[LH-DH/11 Local/Distant Host Controller]] was a UNIBUS device, but this machine is claiming to be an -11/23, so a QBUS; it must have had a QBUS/UNIBUS converter - although maybe it was actually an [[MLH-DH/LSI11 Multiple Channel Controller]]). I wonder what its ARPANET address was - have you looked for it in an NCP host table? | ||
+ | |||
+ | ::: I think it would be these: https://github.com/ttkzw/hosts.txt/blob/master/pub/hosts/19830119/HOSTS.TXT#L474-L477 [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 14:21, 4 February 2025 (CET) | ||
+ | |||
+ | :::: Ah, yes, there it is: "HOST S1-GATEWAY", ARPANET address 0/95. I wonder if only that machine had AHHP on it? (I.e. if the split of NCP functionality varied, and if the location of the code which implemented AHHP was more widespread than that single machine?) I can't be bothered to work out all the conditional assembly flags, and work it out. | ||
+ | :::: That IMP seems to have had other S1 project machines on it, including a PDP-10 running WAITS (no idea what model CPU it was). | ||
+ | :::: Note the CHAOS 104xx addresses; that subnet seems to have had only those 4 machines on it. Subnet 21 seems to be the "NM-crock net". [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 17:37, 4 February 2025 (CET) | ||
+ | |||
+ | ::::: The PDP-10 was a Foonly F2. [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 20:09, 4 February 2025 (CET) | ||
+ | |||
+ | :: I can't figure out what the 'Newman' is. At first I thought it was some kind of memory mapping gear (maybe a shared memory between several machines, the way it was talked about); then I found [https://github.com/pdp11/nswit/blob/master/sail/cbf.ncp/dev29.pal/489 this file] which seems to agree. [https://github.com/pdp11/nswit/blob/master/sail/cbf.ncp/dev3.pal/489 This file] has a mystery, though - an asynchronous serial line to an "IMP data line"? | ||
+ | :: [https://github.com/pdp11/nswit/blob/master/sail/cbf.ncp/conf.pal/491 This] has a lot of other mysteries. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 13:27, 4 February 2025 (CET) | ||
+ | |||
+ | :: All files [https://github.com/pdp11/nswit/tree/master/sail here] now. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 17:37, 4 February 2025 (CET) |
Latest revision as of 20:09, 4 February 2025
Contents
Preserved implementations
Multics and TOPS-20 (and I think maybe TOPS-10 too) have been preserved, and run under emulators, but I don't know if their NCP's were included in what was preserved. Jnc (talk) 13:53, 15 October 2021 (CEST)
- Yes, TOPS-10 is also alive and well. Many versions too: at least some of 5.x, 6.x, and 7.x. Larsbrinkhoff (talk) 15:06, 15 October 2021 (CEST)
POSIX/Linux version
You're officially insane! :-) Jnc (talk) 14:40, 18 October 2021 (CEST)
- I actually wanted to make a small ARPANET using the SIMH IMP emulator, with some historical hosts like ITS and WAITS. But to do that I first need to have a good debug tool, so might as well make it an NCP suite. It remains to be seen how far it can go. Larsbrinkhoff (talk) 15:18, 18 October 2021 (CEST)
MOS NCP?
I'm pretty sure there wasn't one. Both the TIU and PE had Host-to-IMP Protocol implementations, of course, but that's only the bottom layer of a complete NCP stack, which also included the ICP and AHHP. Jnc (talk) 15:54, 19 October 2021 (CEST)
- Given your feedback, I'll remove it. I still wonder how come may hosts were listed as "MOS" in the 1982 hosts lists: https://github.com/ttkzw/hosts.txt/blob/master/pub/hosts/1982/host_names_1982_part_1.pdf etc. Larsbrinkhoff (talk) 16:01, 19 October 2021 (CEST)
Those seem to be either Port Expanders (which were so popular that it became a product for SRI - see here), or possibly TIUs in 'milking machine' mode (a Dave Clark term for using a TIU to put a time-sharing system without TCP on the Internet), or BBN gateways (routers - like I said, BBN switched from originally running ELF in its gateways to MOS, and it had apparently happened by the date of this list). Looking at the 'MOS' entries in part1 (only - with no copy/paste, re-typing got tiresome):
- ARPA-DMS - says "LSI-11/03 (MOSS) [sic-JNC] -> HP-3000(MPE-IV)" - TIU fronting the HP?
- BBN-GATEWAY - "PDP-11/40 (MOS) -> SATNET" - probably ran ELF originally, so an -11/40
- BRAGG-GWY1 - "LSI-11/02 [sic-JNC] (MOS)" - likely a Packet Radio router
- CENTACS-MMP - "PDP-11/34 (MOS) -> 7 CDC-5600s(MPX-RT)" - likely a PE, in front of all those other machines
- CENTACS-TF - "PDP-11/34 (MOS) -> various machines" - ditto
I just never heard of anything running under MOS that would have needed/used an NCP. All the things I ever heard of were either on IP (various router projects) or TCP (TIU). Jnc (talk) 17:30, 19 October 2021 (CEST)
Alto NCP?
Although it's true that there was an Alto 1822 interface (something that was unknown to me until I read that email), I'm not sure there was ever an Alto speaking NCP on the ARPANET - that email says the interface "was used to connect to the Bay Area Packet Radio Network and for connecting PARC-MAXC2 to the Arpanet". Amusingly, The Maxc Systems, by Edward R. Fiala (thanks deeply for finding that, and putting in online, BTW - an incredible historical resource, which has saved an almost-forgotten chapter of history) says "Maxc2 is not connected to the ARPA network"!) MAXC2 did use an Alto as its front end, but I wouldn't count that as 'an Alto on the ARPANET'.
I poked around in the Alto 1822 code a bit, and although PupAlImp.decl does contain this line:
maxLinkNCP = 71 // Highest NCP link
most of it seems to be concerned with sending either IP or PUP packets over the ARPANET. (I recall the attempt to send PUP packets to PARC from MIT over the ARPANET; it was a colossal failure, as the MIT PUP address space used MIT subnet numbers, and thus overlaid the PARC PUP address space.)
It makes sense that there wasn't an Alto 'on the ARPANET' (i.e. speaking NCP), as the Alto was a personal workstation, whose operating system was pretty elementary - think MS-DOS on a PC, it was about like that. So it wouldn't make sense to put one of them on a rare (and expensive) IMP port. To confirm, I went to HOSTS.TXT, and:
- I couldn't find MAXC2 in any of them (!) - unexpected, and somewhat un-related to the point of the examination - maybe it was only on for a short period, given the email above
- The only hosts shown on IMP 32 (the Xerox IMP), other than MAXC, are:
HOST : 10.2.0.32 : PARC-GW : ALTO : ALTO-OS :: HOST : 10.3.0.32 : KESTREL,SCI-ICS,SCI,KES,SCT : FOONLY-F3 : TENEX : TCP/TELNET,TCP/FTP,TCP/SMTP :
but i) by this point in time, NCP had been tuned off (19830728-HOSTS.TXT is the last one with NCP hosts listed), ii) the Alto is clearly a gateway (router).
Interestingly, re MOS, in 19830527-HOSTS.TXT, I did see:
HOST : 10.0.0.28 : ARPA-DMS : LSI-11/3 : MOS : NCP/TELNET :
but I suspect that's a typo; it was almost certainly a TIU. (I couldn't find anything about ARPA-DMS in a Web search.) Jnc (talk) 18:16, 20 October 2021 (CEST)
- But then Al said a friend of his was making a simulated ARPANET with Alto(s?).
- Which 'Al' is this? Kossow? If you could get some more info from him about what he's planning, that would be good. Note that it might not be an Alto with NCP; there was an Alto IP router connected to the ARPANET - maybe he was planning on using those? (Oh, BTW, look at LoadImpFrontEnd.cm; it loads a whole bunch of PUP modules, but I don't see anything NCP-ish).
- Also, if you're looking for ARPANET nodes, I could upload the TIU code. No NCP, but it would generate ARPANET traffic. The MIT V6 would have to be brought up (unless you've got MACRO-11 running somewhere else), to build loads, and SIMH would have to be updated to support the SRI 1822 interface, but it should be doable without too much work. I found the manual for the SRI interface online (at NTIC, IIRC); I should do a CHWiki page for it. Jnc (talk) 21:05, 20 October 2021 (CEST)
- Page done; here: Stanford 1822 Interface. Jnc (talk) 16:48, 9 December 2024 (CET)
- This is from a 1980 SYSENG; HOSTS >
- HOST PARC-GATEWAY, 1/32,USER,,NOVA-800,[PORTOLA]
- HOST PARC-MAXC, 0/32,SERVER,TENEX,PDP10,[PARC,MAXC,MAXC1,XEROX-PARC]
- HOST PARC-MAXC2, 2/32,SERVER,TENEX,PDP10,[MAXC2]
- Larsbrinkhoff (talk) 19:12, 20 October 2021 (CEST)
- Here's something from Lawrence Stewart:
- I designed the Alto BBN-1822 interface, which was used for connecting to the Bay Area Packet Radio network and also used for PARC-MAXC2. MAXC1 had a Nova as the front end, about which I know nothing, but MAXC2 used an Alto. Both machines were 40 bit word microcoded machines programmed to be PDP-10s. Corporate wanted PARC to use SDS but the CSL folks wanted a 10, so they had to build one.
- I only tested my own code up to successful loopback to the local IMP, then Ed took over.
- This only says there was an interface, not that there was an NCP. I'll ask. Larsbrinkhoff (talk) 15:10, 6 January 2025 (CET)
- Sure, ask, but as I suggested above, the OS environment on the Alto ("the Alto was a personal workstation, whose operating system was pretty elementary - think MS-DOS on a PC, it was about like that") was such that an NCP for it made no sense. (And I found no code for an Alto NCP in the PARC archive.)
- Stewart went ahead and forwarded the question to Taft:
- The front-end Nova/Alto contained the BBN 1822 interface to the Arpanet IMP. It also had a DMA interface to MAXC main memory. The main role of the Nova/Alto software was to transfer packets between the IMP and MAXC main memory, with only minimal processing. All of the protocol processing for NCP (and later TCP/IP) was done on the MAXC side. Most of the MAXC software was adapted from the existing Tenex software for NCP and TCP/IP. By the way, the same division of responsibility existed for PUP.
- So we can definitely strike Alto off the NCP list. I would guess the new iteration MAXC2 and Alto combination just did what MAXC1 and Nova did before in this regard, but I don't have that confirmed (probably the monitor sources would confirm this). Larsbrinkhoff (talk) 07:00, 7 January 2025 (CET)
- His email did ring an interesting bell for me, though: "MAXC1 had a Nova as the front end" - which we knew, but the context of his statement likely indicates that MAXC1 (which we knew was on the ARPANET, and apparently had an NCP) was likely connected to the ARPANET through the Nova. This ties in with something else you found:
- HOST PARC-GATEWAY, 1/32,USER,,NOVA-800,[PORTOLA]
- This also indicates that an 1822 interface existed for the Nova - I'll add that to the list in IMP interface.
- The remaining mystery is what software ran on the PARC-GATEWAY machine. Did it have an NCP - as seems possible from its inclusion in the 1980 host list (3 years before NCP was turned off), or was it just a PUP router? I did a Web search for "PARC-GATEWAY", but i) it was difficult (in Google's 'exact phrase' search function, the "-" character is an operator, with no way to escape it that I could find; and Google search is case insensitive), and ii) I didn't find anything.
- Maybe we should try asking some of the early PARC people? Jnc (talk) 17:49, 6 January 2025 (CET)
- His email did ring an interesting bell for me, though: "MAXC1 had a Nova as the front end" - which we knew, but the context of his statement likely indicates that MAXC1 (which we knew was on the ARPANET, and apparently had an NCP) was likely connected to the ARPANET through the Nova. This ties in with something else you found:
- Sure, I'll ask! Maybe we should dig around here first, though:
- https://xeroxparcarchive.computerhistory.org/_cd8_/portola/.index.html
- https://xeroxparcarchive.computerhistory.org/indigo/portola/.index.html
- Larsbrinkhoff (talk) 07:00, 7 January 2025 (CET)
- I poked around in them for a while, but saw nothing relevant to our remaining unknowns. (Some of it is interesting, but it's from a much later era, etc.)
- If you are going to reach out to Taft, here are the things I would like to know:
- There must have been a Nova 1822 interface - at least one for the Maxc1 front end. Were there any more? Who built them? (I assume PARC.) If more than one (for Maxc1) was made, what were they used for?
- Was there ever really a host PARC-GATEWAY (as opposed to just plans for something of that name) back in the NCP era (1980 was the date of the entry we found)? If so, what did it do? (I.e. what was it used for, and which layers of the NCP stack did it implement?) I suppose it could have been just a PUP router, to connect the PARC PUP internet to the ARPANET, in which case it wouldn't have had any Host-to-Host Protocol at all, just the Host-to-IMP Protocol.
- If you are in contact with Taft, he is the ultimate source on these matters, since a lot of it he did, or was at least involved with, himself. Jnc (talk) 13:38, 7 January 2025 (CET)
BCC-500 NCP?
Seems I better bring up new entries up here for discussion first.
Al also says he's got the BCC-500 operating system including NCP. But it's unclear if the HP-2100 front end code interfacing with the IMP is there. Larsbrinkhoff (talk) 19:14, 20 October 2021 (CEST)
- After the hassle over the 'Alto' NCP (which I am almost certain did not exist), along with the MOS and MINITS cases (ditto), I would in general prefer to have good evidence freely available (i.e. the BCC-500 operating system online, which it doesn't seem to be at either of the two locations in BCC 500), but in this particular case I can make an exception since I'm pretty sure the machine was online in Hawaii. Jnc (talk) 17:20, 25 October 2021 (CEST)
- Yes, a good reference (source code or article) might be a criterion. Something like a Wikipedia <ref> would be nice.
- I extracted the files from the "Proof Tape", and I found no NCP there. If I understand correctly, an ELF front end was used. Text files are here: https://github.com/larsbrinkhoff/bcc-500/tree/master/text Larsbrinkhoff (talk) 16:15, 10 December 2024 (CET)
- https://apps.dtic.mil/sti/tr/pdf/ADA014398.pdf confirms this, the table says there was a PDP-11 frontend running ELF. Larsbrinkhoff (talk) 09:56, 13 December 2024 (CET)
PDP-11 NCP users
Quite a few sites (including BBN, IIRC) used the UIll NCP; this mail log gives a sense of the fix/update distribution (using the ARPANET, naturally :-). To compile a complete list, one would only have to look at the host table. It was apparently used with V7 as well as V6. (I have this vague memory that the work first started under V5?) Jnc (talk) 12:30, 29 June 2022 (CEST)
University of Rochester
Information from Liudvikas Bukys regarding Aleph and Rochester's Intelligent Gateway:
I am indeed the most likely candidate to find this, but... no, I think it's lost. I still have memory of the archival paths, but we didn't focus on preservation. Source code originally written in BCPL and cross-compiled on a Xerox Alto. We did not preserve the Alto hardware or removable disks. The software have been backed up on the RIG disk drives. For which I did make tar files on a DEC Vax machine and I think I preserved those onto magnetic tape. I think that backups from the DEC Vax era are gone. I will dispatch a UR CS staff member to see if there is a stack of magnetic tapes from that era hiding in a storage room. But I doubt it. Larsbrinkhoff (talk) 14:29, 12 December 2024 (CET)
From ITS file SYSENG;HOSTS 12 dated 1977-07-09: HOST ROCHESTER, 122,USER,,ECLIPSE,[ROCH]
Follow up: I corresponded with a current staff member, and told him where the final archival tapes might be, if they still existed. You have won this staff member's prize for "Most interesting request in a long time". Alas, the storage room that they were in was reclaimed by the University several years ago, and no tapes were salvaged. This piece of intellectual history is now only a memory. Larsbrinkhoff (talk) 09:08, 13 December 2024 (CET)
What is an NCP implementation?
I ask because I see you've added XSWIT to the list. Is that an actual ARPANET NCP, or what? I ask because in the CHAOS/NCP protocol 'gateway' service at MIT, the protocol implemented on the non-ARPANET-connected host (which was using the CHAOS/NCP protocol 'gateway') was not NCP - just the standard CHAOS virtual stream. The AI Lab dorks tended to call any networking software an NCP - but that's not 'ARPANET NCP'.
("I am far from thinking that nomenclature is a remedy for every defect in art or science: still I cannot but feel that confusion of terms generally springs from, and always leads to, confusion of ideas." -John Louis Petit, "Architectural Studies in France", 1854)
As a rule, a machine cannot have a working ARPANET NCP unless it is plugged into an IMP. In part, this is because each end of an NCP connection is addressed by the IMP number+port. No IMP Port - no NCP. Jnc (talk) 23:32, 3 February 2025 (CET)
- Worry not. XSWIT implements the ARPANET Host/Host protocol, and talks 1822 to an IMP. Larsbrinkhoff (talk) 06:56, 4 February 2025 (CET)
- I see; but there is something strange going on, per this comment - "This routine is called from the intsk process to read the rest of an ARPA net packet in from the chaos net." Of course, that could be because this box implemented a CHAOS<->NCP protocol 'gateway'. It also seems to be prepared to forward CHAOS packets over the ARPANET ("is this is for link 227 (octal)?"); but it wouldn't need the AHHP implementation if that's all it did. (This seems to be code for the CHAOS<->NCP protocol gateway.)
- There's a Chaosnet service called ARPA (also NCP and TCP). ITS also has it. A Chaosnet machine calls this service to have make a connection out to ARPANET. Once connection is established, it acts as a regular byte stream Chaosnet/TCP/NCP connection. I haven't seen clients, but I assume Lisp machines would use this, and that the S-1 project would have some of those. So when the code says "ARPA", it can be this service, or the DoD office, or the ARPA network.
- Note that there's also an NCP TELNET client (and server, commented out). Larsbrinkhoff (talk) 14:21, 4 February 2025 (CET)
- Here's the ITS code: https://github.com/PDP-10/its/blob/master/src/sysnet/arpa.66 Larsbrinkhoff (talk) 16:29, 4 February 2025 (CET)
- Oh, this code seems like it might have run on a number of different machines, not all of which had 1822 interfaces - "use hardware IMP interface, not Chaos net". I wonder if on non-1822 machines, the AHHP implementation was only on the machine with an 1822 interface; if not, somehow (perhaps by the link number) incoming packets must have been de-multiplexed and sent on to the correct machine? (This comment - "chaosnet IMP (as opposed to hardware IMP)" - is amusing.)
- It did seem to have an IMP interface; an LH-DH-11 (but there is a different mystery - an LH-DH/11 Local/Distant Host Controller was a UNIBUS device, but this machine is claiming to be an -11/23, so a QBUS; it must have had a QBUS/UNIBUS converter - although maybe it was actually an MLH-DH/LSI11 Multiple Channel Controller). I wonder what its ARPANET address was - have you looked for it in an NCP host table?
- I think it would be these: https://github.com/ttkzw/hosts.txt/blob/master/pub/hosts/19830119/HOSTS.TXT#L474-L477 Larsbrinkhoff (talk) 14:21, 4 February 2025 (CET)
- Ah, yes, there it is: "HOST S1-GATEWAY", ARPANET address 0/95. I wonder if only that machine had AHHP on it? (I.e. if the split of NCP functionality varied, and if the location of the code which implemented AHHP was more widespread than that single machine?) I can't be bothered to work out all the conditional assembly flags, and work it out.
- That IMP seems to have had other S1 project machines on it, including a PDP-10 running WAITS (no idea what model CPU it was).
- Note the CHAOS 104xx addresses; that subnet seems to have had only those 4 machines on it. Subnet 21 seems to be the "NM-crock net". Jnc (talk) 17:37, 4 February 2025 (CET)
- The PDP-10 was a Foonly F2. Larsbrinkhoff (talk) 20:09, 4 February 2025 (CET)
- I can't figure out what the 'Newman' is. At first I thought it was some kind of memory mapping gear (maybe a shared memory between several machines, the way it was talked about); then I found this file which seems to agree. This file has a mystery, though - an asynchronous serial line to an "IMP data line"?
- This has a lot of other mysteries. Jnc (talk) 13:27, 4 February 2025 (CET)