El Protocolo de Control de Red ( NCP ) fue un protocolo de comunicación para una red de computadoras en la década de 1970 y principios de la década de 1980. Proporcionó la capa de transporte de la pila de protocolos que se ejecutaba en las computadoras host de ARPANET , el predecesor de la Internet moderna .
El protocolo NCP precedió al Protocolo de Control de Transmisión (TCP) como protocolo de capa de transporte utilizado durante los inicios de ARPANET. El protocolo NCP era un protocolo simplex que utilizaba dos números de puerto y establecía dos conexiones para comunicaciones bidireccionales. Se reservaban un puerto par y uno impar para cada aplicación o protocolo de capa de aplicación . La estandarización de TCP y UDP redujo la necesidad de utilizar dos puertos simplex por aplicación a un puerto dúplex. [1] : 15
Existe cierta confusión sobre el nombre, incluso entre los ingenieros que trabajaron con ARPANET. [2] Originalmente, no había necesidad de un nombre para la pila de protocolos en su conjunto, por lo que no existía ninguno. Cuando comenzó el desarrollo de TCP, se requirió un nombre para su predecesor, y el acrónimo preexistente 'NCP' (que originalmente se refería a Network Control Program , el software que implementó esta pila) se adoptó orgánicamente para ese uso. [3] [4] Finalmente, se dieron cuenta de que la expansión original de ese acrónimo era inapropiada para su nuevo significado, por lo que se creó un nuevo cuasi- acrónimo , 'Network Control Protocol' (Protocolo de Control de Red), nuevamente, orgánicamente, no a través de una decisión formal. [5] [6]
El NCP se especificó y describió por primera vez en los primeros documentos RFC de ARPANET en 1969, después de una serie de reuniones sobre el tema con ingenieros de UCLA , la Universidad de Utah y SRI . Se finalizó en el RFC 33 a principios de 1970, [7] y se implementó en todos los nodos de ARPANET en diciembre de 1970. [8] [9] Se mantuvo en uso hasta fines de 1982; consulte el Día de la Bandera a continuación.
NCP proporcionaba conexiones y control de flujo entre procesos que se ejecutaban en diferentes computadoras host de ARPANET. Los servicios de aplicación, como el inicio de sesión remoto y la transferencia de archivos , se crearían sobre NCP y se utilizarían para gestionar las conexiones con otras computadoras host.
En ARPANET, los protocolos de la capa física , la capa de enlace de datos y la capa de red utilizados dentro de la red se implementaron en procesadores de mensajes de interfaz (IMP) separados. El host generalmente se conectaba a un IMP utilizando otro tipo de interfaz, con diferentes especificaciones de capa física, de enlace de datos y de red. Las capacidades del IMP se especificaron mediante el protocolo Host/IMP en el Informe BBN 1822 .
Dado que las capas de protocolo inferiores eran proporcionadas por la interfaz IMP-host, NCP esencialmente proporcionaba una capa de transporte que consistía en el Protocolo de Host a Host de ARPANET (AHHP) y el Protocolo de Conexión Inicial (ICP). AHHP definía procedimientos para transmitir un flujo de datos unidireccional controlado por flujo entre dos hosts. El ICP definía el procedimiento para establecer un par bidireccional de dichos flujos entre un par de procesos host. Los protocolos de aplicación (por ejemplo, FTP ) accedían a los servicios de red a través de una interfaz con la capa superior de NCP, un precursor de la interfaz de sockets Berkeley .
Stephen D. Crocker , entonces estudiante de posgrado en la UCLA, formó y dirigió el Grupo de Trabajo de Redes (NWG) y, específicamente, dirigió el desarrollo de NCP. Otros participantes del NWG desarrollaron protocolos de nivel de aplicación como TELNET , FTP y, en la década de 1980, SMTP , entre otros.
El Programa de Control de Red (generalmente conocido como NCP ) era el nombre del software en los hosts que implementaba el Protocolo de Control de Red de ARPANET. [10] [5]
Casi universalmente se lo conocía por el acrónimo NCP, que más tarde se adoptó para referirse al conjunto de protocolos en sí. [3] [4]
Los NCP se escribieron para muchos sistemas operativos , incluidos Multics , TENEX , UNIX y TOPS-10 , y muchos de esos NCP sobreviven (aunque, por supuesto, ahora solo los usan los entusiastas de las computadoras antiguas ).
El 1 de enero de 1983, en lo que se conoce como el día de la bandera , el NCP quedó oficialmente obsoleto cuando ARPANET cambió sus protocolos de red centrales de NCP al conjunto de protocolos TCP/IP más flexible y potente , lo que marcó el inicio de la Internet moderna . [11] [12] [13] [14]
Durante los meses siguientes, diseñamos un protocolo host-host simétrico y definimos una implementación abstracta del protocolo conocida como Network Control Program (Programa de control de red). (Más tarde se utilizó "NCP" como nombre para el protocolo, pero originalmente significaba el programa dentro del sistema operativo que administraba las conexiones. El protocolo en sí mismo se conocía simplemente como el protocolo host-host).
Los procesos dentro de un HOST se comunican con la red a través de un programa de control de red (NCP).- Primera referencia en RFC al acrónimo NCP. Definición explícita de NCP como Programa de Control de Red.