Протокол ARPANET
Протокол ARPANET — это совокупность правил и процедур, определяющих порядок передачи данных между узлами сети ARPANET, предшественницы современного Интернета. Протоколы ARPANET заложили основу для стека протоколов TCP/IP, который используется в глобальной сети по сей день. Ключевыми протоколами ARPANET были Network Control Protocol (NCP) и более поздний Transmission Control Protocol (TCP), а также ряд вспомогательных протоколов, таких как Telnet и FTP.
История
Предпосылки создания
В конце 1960-х годов Министерство обороны США через Управление перспективных исследовательских проектов (ARPA) инициировало создание децентрализованной сети связи, способной функционировать в условиях частичного выхода из строя узлов. Основной задачей было обеспечение надёжной передачи данных между исследовательскими центрами и университетами, работавшими на оборонные заказы. Для этого требовалась разработка новых протоколов, отличных от существовавших телефонных и телеграфных систем.
Разработка NCP (Network Control Protocol)
Первым протоколом, реализованным в ARPANET, стал Network Control Protocol (NCP). Его разработка началась в 1969 году под руководством Стива Крокера, который возглавлял Сетевую рабочую группу (Network Working Group, NWG). NCP был введён в эксплуатацию в 1970 году и обеспечивал базовую связь между узлами сети. Он работал на уровне, близком к современному транспортному уровню, и отвечал за установление соединения, передачу данных и его разрыв. NCP был тесно связан с аппаратным обеспечением — интерфейсными процессорами сообщений (IMP), которые выполняли функции маршрутизации. Протокол не поддерживал автоматическое восстановление после ошибок и не имел механизмов контроля перегрузок, что было приемлемо для небольшой сети из нескольких десятков узлов.
Переход к TCP/IP
К середине 1970-х годов стало очевидно, что NCP не подходит для объединения разнородных сетей (например, спутниковых, радиосетей и наземных каналов). В 1973 году Винтон Серф и Роберт Кан опубликовали статью «A Protocol for Packet Network Interconnection», в которой описали концепцию протокола, способного работать через различные физические сети. Этот протокол получил название Transmission Control Protocol (TCP). В 1978 году TCP был разделён на два отдельных протокола: TCP (отвечающий за надёжную доставку данных) и IP (отвечающий за маршрутизацию пакетов). 1 января 1983 года (так называемый «Flag Day») ARPANET официально перешла с NCP на TCP/IP, что считается началом современного Интернета.
Основные протоколы ARPANET
Network Control Protocol (NCP)
NCP был первым протоколом транспортного уровня в ARPANET. Он обеспечивал:
- Установление двустороннего соединения между узлами.
- Передачу данных в виде последовательности байтов.
- Разрыв соединения по завершении передачи.
NCP не имел механизмов контроля ошибок на транспортном уровне (эта функция возлагалась на IMP) и не поддерживал мультиплексирование потоков данных. Максимальный размер пакета данных составлял 8096 бит (около 1 килобайта). NCP был реализован в операционных системах узлов, таких как TENEX и TOPS-20.
Transmission Control Protocol (TCP)
TCP, разработанный как замена NCP, ввёл понятие надёжного потока данных с подтверждением получения. Ключевые особенности TCP в контексте ARPANET:
- Управление потоком: использование скользящего окна для предотвращения переполнения буфера получателя.
- Контроль ошибок: проверка контрольных сумм и повторная передача потерянных пакетов.
- Мультиплексирование: использование портов для одновременной работы нескольких приложений на одном узле.
- Установление соединения: трёхэтапное рукопожатие (SYN, SYN-ACK, ACK).
Первая реализация TCP была выполнена в 1974 году на компьютере PDP-11 в Стэнфордском университете. В 1981 году вышла спецификация RFC 793, которая закрепила стандарт TCP.
Internet Protocol (IP)
IP обеспечивал маршрутизацию пакетов между сетями. В ARPANET IP использовался для фрагментации и сборки пакетов, а также для адресации узлов. Первая версия IP (IPv4) была описана в RFC 791 (1981 год). В ARPANET IP работал поверх физического уровня, предоставляемого IMP.
Вспомогательные протоколы
- Telnet (RFC 854): протокол удалённого доступа к терминалам, позволявший пользователям подключаться к удалённым компьютерам и работать в командной строке.
- File Transfer Protocol (FTP, RFC 959): протокол передачи файлов между узлами, поддерживающий аутентификацию и управление доступом.
- Simple Mail Transfer Protocol (SMTP): протокол электронной почты, заменивший более ранние системы, такие как SNDMSG и Mail Box Protocol. Первая версия SMTP была описана в RFC 821 (1982 год).
Устройство и принцип работы
Сетевая архитектура ARPANET
ARPANET строилась на основе иерархической архитектуры:
- Узлы (Hosts): компьютеры исследовательских центров и университетов, которые подключались к сети через IMP.
- Интерфейсные процессоры сообщений (IMP): специализированные компьютеры (на базе Honeywell DDP-516), которые выполняли функции маршрутизации, буферизации и преобразования данных. IMP были соединены между собой выделенными телефонными линиями (скорость 50 кбит/с).
- Каналы связи: использовались арендованные линии связи со скоростью до 56 кбит/с.
Передача данных
Протоколы ARPANET работали на основе пакетной коммутации. Данные разбивались на пакеты фиксированного размера (до 128 байт в ранних версиях NCP, до 1500 байт в TCP/IP). Каждый пакет содержал заголовок с адресом отправителя и получателя, номером порта, контрольной суммой и флагами управления. IMP маршрутизировали пакеты по кратчайшему пути, используя алгоритм динамической маршрутизации (алгоритм Беллмана-Форда). В случае повреждения линии IMP автоматически перестраивали маршрут, что обеспечивало отказоустойчивость сети.
Адресация
В NCP адресация узлов осуществлялась по 8-битным номерам (до 256 узлов). В TCP/IP была введена 32-битная адресация (IPv4), что позволило адресовать до 4,3 миллиарда узлов. Первоначально адреса распределялись централизованно через Сетевой информационный центр (NIC) при Стэнфордском исследовательском институте.
Применение и значение
Научные исследования
ARPANET и её протоколы использовались для:
- Удалённого доступа к вычислительным ресурсам (суперкомпьютерам).
- Совместной работы над проектами (например, разработка протоколов NWG).
- Обмена данными между исследовательскими группами, включая передачу программного кода и научных статей.
Развитие Интернета
Протоколы ARPANET стали основой для стека TCP/IP, который был принят в качестве стандарта для глобальной сети Интернет. Принципы, заложенные в ARPANET (децентрализация, пакетная коммутация, отказоустойчивость), остаются фундаментальными для современных сетей. В 1983 году, после перехода на TCP/IP, ARPANET стала частью более широкой сети, которая позже получила название Интернет.
Образование и стандартизация
Работа над протоколами ARPANET привела к созданию механизма Request for Comments (RFC) — серии документов, описывающих стандарты, протоколы и идеи. Первый RFC (RFC 1) был опубликован в 1969 году и касался программного обеспечения для IMP. Система RFC остаётся основным способом документирования интернет-стандартов по сей день.
Критика и ограничения
Недостатки NCP
- Отсутствие контроля ошибок на транспортном уровне приводило к потере данных при сбоях IMP.
- Невозможность работы через разнородные сети (например, спутниковые каналы с высокой задержкой).
- Ограниченная адресация (до 256 узлов) не позволяла масштабировать сеть.
- Зависимость от аппаратного обеспечения IMP, что затрудняло модернизацию.
Проблемы безопасности
Протоколы ARPANET не предусматривали механизмов шифрования или аутентификации. Любой узел мог отправлять пакеты от имени другого узла (спуфинг), что делало сеть уязвимой для атак. В 1970-х годах это не считалось серьёзной проблемой из-за ограниченного круга пользователей, но с ростом сети стало очевидным.
Интересные факты
- Первое сообщение по ARPANET было отправлено 29 октября 1969 года между узлами в Калифорнийском университете в Лос-Анджелесе (UCLA) и Стэнфордском исследовательском институте (SRI). Сообщение состояло из двух букв «LO» — система дала сбой при попытке ввести «LOGIN».
- Протокол NCP был официально отключён 1 января 1983 года, что привело к временному нарушению связи для узлов, не перешедших на TCP/IP.
- Алгоритм маршрутизации, использовавшийся в IMP, был предшественником протокола RIP (Routing Information Protocol), который до сих пор применяется в некоторых сетях.
- Разработка протоколов ARPANET велась в рамках Сетевой рабочей группы (NWG), которая состояла из добровольцев — студентов и аспирантов американских университетов.
Источники
- Cerf, V., & Kahn, R. (1974). A Protocol for Packet Network Interconnection. IEEE Transactions on Communications.
- Crocker, S. (1970). Protocol Notes. Network Working Group, RFC 1.
- Postel, J. (1981). Transmission Control Protocol. RFC 793.
- Postel, J. (1981). Internet Protocol. RFC 791.
- Abbate, J. (2000). Inventing the Internet. MIT Press.
- Hafner, K., & Lyon, M. (1996). Where Wizards Stay Up Late: The Origins of the Internet. Simon & Schuster.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →