Network Control Program (NCP)

Network Control Protocol (NCP) was an early protocol implemented by ARPANET, the world's first operational packet-switching network that later evolved into what became the Internet. NCP allowed users to access and use computers and devices at remote locations and to transmit files between computers. NCP provided the middle layer of the protocol stack, and enabled application services such as email and file transfer. Whether the term is Network Control Protocol or Network Control Program is a matter of some debate, as both terms are used to refer to this ARPANET protocol.

Network Control Protocol (NCP) is a set of protocols forming a part of Point − to − Point Protocol (PPP). PPP is a data link layer protocol that is used to transmit multiprotocol data between two directly connected (point-to-point) computers. PPP is composed of link control protocol (LCP), authentication protocol (AP) and network control protocol (NCP). NCPs are used for negotiating the parameters and facilities for the network layer. For every higher-layer protocol supported by PPP, one NCP is there. The following diagram illustrates the layer in which NCPs operate:

Network Control Protocol.jpg
source: Tutorials Point

NCP provided connections and flow control between processes running on different ARPANET host computers. Application services, such as the users email and file transfer, were built on top of NCP, using it to handle connections to other host computers.

On the ARPANET, the protocols in the physical layer, the data link layer, and the network layer used within the network were implemented on separate Interface Message Processors (IMPs). The host usually connected to an IMP using another kind of interface, with different physical, data link and network layer specifications. The IMP's capabilities were specified by the Host/IMP Protocol in BBN Report 1822.

Since lower protocol layers were provided by the IMP-host interface, NCP essentially provided a Transport Layer consisting of the ARPANET Host-to-Host Protocol (AHHP) and the Initial Connection Protocol (ICP). AHHP defined procedures to transmit a unidirectional, flow-controlled data stream between two hosts. The ICP defined the procedure for establishing a bidirectional pair of such streams between a pair of host processes. Application protocols (e.g., FTP) accessed network services through an interface to the top layer of the NCP, a forerunner to the Berkeley sockets interface.

Stephen D. Crocker, then a graduate student at UCLA, formed and led the Network Working Group (NWG) and specifically led the development of NCP. Other participants in the NWG developed application level protocols such as TELNET, FTP, SMTP, among others.[1]

See Also

TCP/IP (Transmission Control Protocol/Internet Protocol)
Network Protocol
Protocol Stack
Internet Protocol (IP)
File Transfer Protocol (FTP)
POP (Post Office Protocol)
VoIP (Voice Over Internet Protocol)
Time-Triggered Protocol (TTP)
Extensible Authentication Protocol (EAP)
Hypertext Transfer Protocol (HTTP)
User Datagram Protocol (UDP)
Protocol Data Unit (PDU)
Transmission Control Protocol (TCP)
Time Triggered Protocol (TTP)
Business Transaction Protocol (BTP)
Common Alerting Protocol (CAP)
SMTP (Simple Mail Transfer Protocol)
Advanced Message Queuing Protocol (AMQP)
Simple Object Access Protocol (SOAP)
Internet Message Access Protocol (IMAP)
IP Network
Ethernet Industrial Protocol (Ethernet/IP)
Simple Network Management Protocol (SNMP)
Access Media Gateways (AMG)
Secure Sockets Layer (SSL)
Internet Message Access Protocol (IMAP)
Synchronous Optical Network (SONET)


  1. History of Network Control Program (NCP) Wikipedia