Протокол управления сетью ( NCP ) был протоколом связи для компьютерной сети в 1970-х и начале 1980-х годов. Он обеспечивал транспортный уровень стека протоколов , работающего на хост-компьютерах сети ARPANET , предшественника современного Интернета .
NCP предшествовал протоколу управления передачей (TCP) как протокол транспортного уровня, использовавшийся в ранней версии ARPANET. NCP представлял собой симплексный протокол , который использовал два номера портов , устанавливая два соединения для двусторонней связи. Нечетный и четный порт были зарезервированы для каждого приложения или протокола прикладного уровня . Стандартизация TCP и UDP сократила необходимость использования двух симплексных портов для каждого приложения до одного дуплексного порта. [1] : 15
По поводу названия существует некоторая путаница даже среди инженеров, работавших с ARPANET. [2] Первоначально не было необходимости в названии стека протоколов в целом, поэтому его не существовало. Когда началась разработка TCP, для его предшественника требовалось имя, и ранее существовавшая аббревиатура «NCP» (которая первоначально относилась к программе Network Control Program , программному обеспечению, реализующему этот стек) была органично принята для этого использования. [3] [4] В конце концов, стало понятно, что первоначальное расширение этой аббревиатуры не соответствовало ее новому значению, поэтому был создан новый квази- акроним «Протокол управления сетью» - опять же, органически, а не посредством формального решения. [5] [6]
NCP был впервые указан и описан в самых ранних документах RFC ARPANET в 1969 году после серии встреч по этой теме с инженерами из Калифорнийского университета в Лос-Анджелесе , Университета Юты и SRI . Он был окончательно оформлен в RFC 33 в начале 1970 года [7] и развернут на всех узлах ARPANET в декабре 1970 года. [8] [9] Он использовался до конца 1982 года; см. День флага ниже.
NCP обеспечивал соединения и управление потоками между процессами, работающими на разных хост-компьютерах ARPANET. Службы приложений, такие как удаленный вход в систему и передача файлов , будут построены на основе NCP и будут использоваться для управления соединениями с другими хост-компьютерами.
В ARPANET протоколы физического уровня , уровня канала передачи данных и сетевого уровня , используемые внутри сети, были реализованы на отдельных процессорах интерфейсных сообщений (IMP). Хост обычно подключается к IMP с использованием другого типа интерфейса с другими спецификациями физического, канального и сетевого уровня. Возможности IMP были определены протоколом Host/IMP в отчете BBN 1822 .
Поскольку нижние уровни протокола обеспечивались интерфейсом IMP-хост, NCP по существу предоставлял транспортный уровень , состоящий из протокола между хостами ARPANET (AHHP) и протокола начального соединения (ICP). AHHP определил процедуры для передачи однонаправленного потока данных с управляемым потоком между двумя хостами. ICP определил процедуру установления двунаправленной пары таких потоков между парой хост-процессов. Протоколы приложений (например, FTP ) обращались к сетевым службам через интерфейс верхнего уровня NCP, предшественника интерфейса сокетов Беркли .
Стивен Д. Крокер , в то время аспирант Калифорнийского университета в Лос-Анджелесе, сформировал и возглавил Сетевую рабочую группу (NWG) и, в частности, руководил разработкой NCP. Другие участники NWG разработали протоколы прикладного уровня, такие как TELNET , FTP и, в 1980-х годах, SMTP и другие.
Программа управления сетью (обычно обозначаемая как NCP ) — это название программного обеспечения на хостах , которое реализовало протокол управления сетью ARPANET. [10] [5]
Почти повсеместно его называли аббревиатурой NCP. Позже это слово было использовано для обозначения самого набора протоколов . [3] [4]
NCP были написаны для многих операционных систем , включая Multics , TENEX , UNIX и TOPS-10 , и многие из этих NCP сохранились (хотя, конечно, сейчас они используются только энтузиастами старинных компьютеров ).
1 января 1983 года, в так называемый день флага , NCP был официально признан устаревшим, когда ARPANET изменила свои основные сетевые протоколы с NCP на более гибкий и мощный набор протоколов TCP/IP , что ознаменовало начало современного Интернета . [11] [12] [13] [14]
В течение следующих нескольких месяцев мы разработали симметричный протокол хост-хост и определили абстрактную реализацию протокола, известную как Программа управления сетью. («NCP» позже стало использоваться в качестве названия протокола, но первоначально оно означало программу в операционной системе, которая управляла соединениями. Сам протокол был известен только как протокол хост-хост.)
Процессы внутри HOST взаимодействуют с сетью через программу управления сетью (NCP).- Самая ранняя ссылка RFC на аббревиатуру NCP. Явное определение NCP как программы управления сетью.