Difference between revisions of "Network Control Protocol"
(→Implementations: Let's not forget the BCC 500!) |
(→Implementations: Make it a table.) |
||
Line 20: | Line 20: | ||
==Implementations== | ==Implementations== | ||
− | + | {| class="wikitable" | |
− | + | ! Operating System | |
− | + | ! Preserved? | |
− | + | ! Site | |
− | + | ! Machine | |
− | + | |- | |
− | + | | [[ITS]] | |
− | + | | Yes. | |
− | + | | [[MIT]] | |
− | + | | [[DEC]] [[PDP-10]] | |
− | + | |- | |
− | + | | [[WAITS]] | |
− | + | | Yes. | |
− | + | | [[SAIL]] | |
− | + | | DEC PDP-10 | |
− | + | |- | |
− | + | | [[TENEX]] | |
− | + | | Yes. | |
− | + | | [[BBN]] and ''many'' more | |
+ | | DEC PDP-10 | ||
+ | |- | ||
+ | | [[Unix V6]] | ||
+ | | Yes. | ||
+ | | University of Illionis | ||
+ | | DEC [[PDP-11]] | ||
+ | |- | ||
+ | | SEX | ||
+ | | No. | ||
+ | | UCLA | ||
+ | | SDS Sigma 7 | ||
+ | |- | ||
+ | | [[OS/360]] | ||
+ | | ? | ||
+ | | UCLA | ||
+ | | [[IBM]] [[System/360]] | ||
+ | |- | ||
+ | | CP/CMS | ||
+ | | ? | ||
+ | | Lincoln Labs | ||
+ | | IBM System/360 | ||
+ | |- | ||
+ | | TSS/360 | ||
+ | | ? | ||
+ | | NASA Ames | ||
+ | | IBM System/360 | ||
+ | |- | ||
+ | | [[Multics]] | ||
+ | | Maybe. | ||
+ | | MIT | ||
+ | | GE/Honeywell 600/6000 series | ||
+ | |- | ||
+ | | [[TOPS-10]] | ||
+ | | Maybe. | ||
+ | | ''Many.'' | ||
+ | | DEC PDP-10 | ||
+ | |- | ||
+ | | [[TOPS-20]] | ||
+ | | Maybe. | ||
+ | | ''Many.'' | ||
+ | | DEC, PDP-10 | ||
+ | |- | ||
+ | | | ||
+ | | ? | ||
+ | | Lincoln Labs | ||
+ | | [[TX-2]] | ||
+ | |- | ||
+ | | SCOPE | ||
+ | | ? | ||
+ | | | ||
+ | | [[CDC 6600]], 7600 | ||
+ | |- | ||
+ | | | ||
+ | | ? | ||
+ | | Hawaii | ||
+ | | BCC 500 | ||
+ | |} | ||
==Further reading== | ==Further reading== |
Revision as of 07:20, 18 October 2021
The Network Control Program, canonically abbreviated to NCP (which people often, but incorrectly, think stands for 'Network Control Protocol'), is the transport protocol run between hosts connected to the ARPANET, prior to the introduction of TCP/IP.
Since then, many other networking software systems were also called NCP; the modern equivalent would be network stack.
Details
NCP provides uni-directional reliable byte streams, called 'connections', used by applications to talk to each other (usually a pair of connections, one in each direction). It runs over the Host-to-IMP Protocol, and consists of two semi-separate protocols:
- Initial Connection Protocol (ICP)
- ARPANET Host-to-Host Protocol (AHHP)
The connection was identified by a 'socket' at each end, along with the addresses of the two hosts; socket numbers were 32 bits long. Only one connection was permitted to each socket at any host.
However, sockets did not appear in packets; instead, links were used. When a connection was set up, between one host/socket to another, it used a particular link, specified by the receiver, and no other connection could use that link until the connection was closed.
Links were like virtual circuits in their properties, in that packets sent on one were received reliably (although there was an error message when that didn't happen) and in order at the other end of the link, but they had no open/close - a host just started using a link.
One link, 0, was special - it was the 'control link'. All messages involved in opening and closing a connection were sent over the control link - only data messages belonging to a connection went over a connection's link.
Implementations
Operating System | Preserved? | Site | Machine |
---|---|---|---|
ITS | Yes. | MIT | DEC PDP-10 |
WAITS | Yes. | SAIL | DEC PDP-10 |
TENEX | Yes. | BBN and many more | DEC PDP-10 |
Unix V6 | Yes. | University of Illionis | DEC PDP-11 |
SEX | No. | UCLA | SDS Sigma 7 |
OS/360 | ? | UCLA | IBM System/360 |
CP/CMS | ? | Lincoln Labs | IBM System/360 |
TSS/360 | ? | NASA Ames | IBM System/360 |
Multics | Maybe. | MIT | GE/Honeywell 600/6000 series |
TOPS-10 | Maybe. | Many. | DEC PDP-10 |
TOPS-20 | Maybe. | Many. | DEC, PDP-10 |
? | Lincoln Labs | TX-2 | |
SCOPE | ? | CDC 6600, 7600 | |
? | Hawaii | BCC 500 |
Further reading
- Jon Postel, "Official Initial Connection Protocol", June 1971, NIC #7101, UCLA-NMC (this does not seem to be online, but an early version, which is almost identical to the final version, can be found here)
- Alex McKenzie; Jon Postel "Host-to-Host Protocol for the ARPANET", October 1977, NIC #8246, Network Information Center