Talk:Network Control Protocol (ARPANET)

Misinterpreted (?) BSDTalk info
If you look at the NCP as described in the Protocol Handbook, it is obvious that it runs on the same host as the rest of the protocol stack. And, incidentally, I saw many examples of that (including Unix implementations). While it is true that NCP (and the whole ARPANET) was limited to 256 hosts originally, it was expanded in the late 70s to 4,096 hosts (ref: BBN 1822). So I'm deleting that whole weird sentence based on the BSDTalk interview. As a practical matter, TCP/IP incorporates bits of both NCP and the BBN 1822 protocol, and the latter did indeed reside on a special purpose box (the IMP). That must be the source of the confusion. Rick Smith 23:55, 18 April 2006 (UTC)

Missing Information
This article says nothing about the use of NCP by IBM. See my comments at Talk:systems Network ArchitectureRdmoore6 20:13, 18 January 2006 (UTC)
 * Presumably by "the use of NCP by IBM" you're referring to the use of the initialism "NCP" by IBM, because the IBM Network Control Program is different from the ARPANET Network Control Protocol and the "Network Control Program(s)" that implemented that protocol on ARPANET hosts. Guy Harris (talk) 20:27, 4 August 2022 (UTC)
 * And both the IBM Network Control Program NCP and the NetWare Core Protocol NCP are now mentioned in notes at the top of the page ("hatnotes"). Guy Harris (talk) 20:32, 4 August 2022 (UTC)

NCP location
I tried to make clear that ARPANET NCP executed on a host rather than a "specialized processor". RFC36 seems to make the host residence of NCP clear. I inserted the link to RFC36 in further reading.

Perusal of the first thirty Google hits on "Network Control Protocol" suggested that it iss not often confused with the RFC36 context of NCP and so I deleted that sentence. The link to the BSDTalk Interview doesn't seem to work quite right but I have left it for now.Rdmoore6 05:43, 17 March 2006 (UTC)

Layer locations
The text as I found it was very confusing; it was talking about the lower layers (physical, data link) being implemented on the IMP, versus the host, and I think that's wrong. The IMP-host interface, as spec'd in 1822, included all three (physical, data-link, and network), and the host had to implement all three in/on the host to be able to communicate with an IMP. I suspect that what the author was trying to say was that the IMP-IMP protocols were different from the host-IMP protocols, so I have modified the text to say that directly.

Also, when I wrote "usually connected to the IMP using another kind of interface, with different physical, data link and network layer specifications", that's because of the rare VDH (Very Distant Host) interfaces. Local Host and Distant Host (LH and DH) used custom bit-serial interfaces with interlocked signalling (with the "there's-your-bit", "ready-for-next-bit" lines), and were essentially identical (except that LH was a TTL interface, whereas DH used differential pair). Nothing about a host-IMP interface using LH or DH looked anything like an IMP-IMP connection. VDH was totally different; it looked a lot more like the IMP-IMP protocol. VDH operated over a modem, and so VDH hosts could be a long way from their IMP (hundreds of miles in some cases, IIRC). The protocol between the modem interface on the host and that on the IMP was identical to the IMP-IMP protocol for that application. I.e. the VDH host-IMP connection shared the physical, and some of the data link, protocol specifications of the IMP-IMP interface.

But none of this is about NCPs, so this is really the wrong place for this anyway... Noel (talk) 23:50, 11 August 2007 (UTC)

'Transition' section nonsense
The last part of the 'Transition' section is completely confused. NCP did not "provide[] a slightly different service ... by forming a network of networks" - the ARPANET was a single network, and its constituent data-carrying parts were all point-point links. And as for the "the transition meant a loss of functionality and increased complexity in TCP/IP", that's complete crap. TCP/IP operates from a completely different design philosophy, one suited to building an 'internet' (in the technical sense) out of a wide array of underlying technologies. All the "complexity" in TCP (sequence numbers, timeouts, checksums, etc) is there for a good reason, and none of it can be removed.

I know there's a citation there to a Day presentation (which, ironically enough, has a quote from me on the cover page), but whoever added this text (and, I assume, the reference) completely misunderstood Day's presentation (if that's what it's based on), because it doesn't say any of the above. And I can't be bothered to fix it; I've given up on trying to keep Wikipedia content accurate. Someone else might want to tilt at this particular windmill, though. Noel (talk) 17:45, 18 January 2018 (UTC)


 * I'm tired of seeing this erroneous content; since nobody has seen fit to fix it, I will just dike it. Noel (talk) 18:44, 15 March 2018 (UTC)

Changing meaning expansion of 'NCP' name
A recent discussion on the internet-history mailing list clarified that 'NCP' (meaning 'Network Control Program'), originally referred to the software that implemented the ARPANET protocols; when TCP was created as an alternative, the acronym 'NCP' later came to be applied to the original protocols, as a whole; the expansion was still later changed to 'Network Control Protocol' (as more appropriate to the new meaning of 'NCP'). Confusing, I know; we just recently sorted out what happened, ourselves. At Steve Crocker's request, I have volunteered to fix all this here. I think I'm going to move the contents related to 'NCP the protocol' (which may be this entire page) to Network Control Protocol (ARPANET) (Network Control Protocol is an existing disambig page), and create new content at Network Control Program for the original meaning/expansion. Comment now, if you think this has issues. Noel (talk) 15:24, 13 July 2022 (UTC)


 * Are you going to try to use the internet-history mailing list as a source for this? That could be a problem. ~Kvng (talk) 15:14, 16 July 2022 (UTC)


 * If you read the thread there, you will see that the first RFC that contains the 'Network Control Protocol' expansion for 'NCP' was RFC-772, from September 1980. So there is some contemporaneous evidence for that expansion (and there are books that give it too, e.g. Hafner). But note that that RFC is well after protocol development of the NCP stack (except some applications like email) stopped; and well after TCP was almost done; TCP-4 was in in September 1978. 'NCP' was used as a name for the protocol before RFC-772; I have yet to dredge through IEN's, etc to find a cite for that sense of "NCP", though.
 * While I understand that a random mailing list is not a good source; 'internet-history' is somewhat different; all the contributors to that discussion were there at the events being described (notably Steve Crocker, who is the person who invented the term 'Network Control Program', in RFC-33). I am happy with the goal of WP to have verifiable content, but I think there's sometimes too much focus on the details of the citation stuff, and not on the spirit. Some random people on the Internet flaming on some random list; no, not good; - but that is a whole different kettle of fish from a discussion between a group of people who were actually there. We have unfortunately lost Jon Postel and Mike Padlipsky, but the other participant in the discussion on 'internet-history' was Alex McKenzie, who actually wrote the Host-to-Host Protocol for the ARPANET, 1/2 of NCP. So while there isn't a book I can cite on the changing meaning of NCP, I think consensus from a group of people who were there at the time is more trust-worthy anyway. (The number of times I have seen errors in articles/books written long afterwards on some history, by people who were not there... it's a long list.) Noel (talk) 20:27, 17 July 2022 (UTC)

So I did get around to looking for early examples of the use of "NCP" to refer to the protocol, and here's what I've found:


 * IEN-11; "Internetting or Beyond NCP"; 21-Mar-77 (not super clear cut, but years before the first use of "Network Control Protocol" as an expansion of "NCP" - in RFC-772, from September 1980)
 * IEN-18; "TCP Revisions"; 26-Oct-76
 * IEN-52; "Some Thoughts About the Multiplexing Issue in Networks"; 11-Aug-78

Having received no comments about the content of the proposed change, just a query about the sources (replied to above), I'm going to go ahead and do it. (Note that this fix was requested by Steve Crocker, who was the originator of the term "Network Control Program".) Noel (talk) 15:30, 19 July 2022 (UTC)

OK, done. I wound up bodily moving the whole page to 'Network Control Protocol (ARPANET)', since almost all the existing content related to the protocol, and I wanted to keep the edit history with the content. Network Control Program and Network Control Protocol are now both disambiguation pages, since there are multiple computer/networking things that use those names, so this will help in the future. I carefully looked through Special:WhatLinksHere/Network_Control_Program, and modified all article links to 'Network Control Program' to go to either Network Control Program (ARPANET) (a few) or Network Control Protocol (ARPANET) (most), as appropriate. Noel (talk) 22:38, 4 August 2022 (UTC)
 * Belatedly: Support the proposal and changes already made based on, which is now cited in the articles. Moreover, thank you, , for coordinating this improvement as it would have been difficult to achieve otherwise! One suggestion for simplification proposed in the section below: merging the Program article into a section of the Protocol article (which is a fairly standard approaching to redirecting on Wikipedia). The advantage is there is then only one version of the content to read and maintain. In addition, I think this makes it easier to use the correct expansion of NCP for the context. For example, before I saw this discussion, I already changed a few links to Network Control Protocol (ARPANET) back to Network Control Program (ARPANET) because they relate to the early years when it meant the latter. Merging the article would mean the words used in the article can simply be linked without worrying about which article it goes it. Hopefully consensus is this proposal is a logical improvement rather than, say, repeating content on two articles or keeping a stub article for Network Control Program (ARPANET). Whizz40 (talk) 18:54, 26 December 2022 (UTC)

Proposed merge of Network Control Program (ARPANET) into Network Control Protocol (ARPANET)
No need for a separate article, this text can be a section in the Network Control Protocol (ARPANET) article as per WP:MERGEREASON. Whizz40 (talk) 16:21, 26 December 2022 (UTC)
 * Support Consistent with the description in, these two closely related concepts can be covered as one topic on Wikipedia. Whizz40 (talk) 21:17, 29 December 2022 (UTC)
 * ✅ Klbrain (talk) 11:58, 14 August 2023 (UTC)