Interface Message Processor
Interface Message Processor (IMP, процессор интерфейса сообщений) — специализированный компьютер, выполнявший функции маршрутизатора в ранней сети с коммутацией пакетов ARPANET, предшественнице современного Интернета. IMP представляли собой аппаратно-программные комплексы, обеспечивавшие подключение хост-компьютеров (mainframe) к сети, разбиение данных на пакеты, их маршрутизацию и сборку на стороне получателя. Разработка IMP стала ключевым этапом в создании технологий пакетной коммутации, лежащих в основе глобальной сети.
История
Предпосылки создания
В начале 1960-х годов Министерство обороны США столкнулось с проблемой неэффективности существующих телефонных сетей с коммутацией каналов для передачи данных. Концепция сети с коммутацией пакетов, предложенная независимо Полом Бэраном (RAND Corporation) и Дональдом Дэвисом (Национальная физическая лаборатория Великобритании), предусматривала разбиение данных на небольшие блоки (пакеты), каждый из которых мог передаваться по разным маршрутам. Для реализации этой идеи в масштабном проекте требовалось специализированное устройство, которое бы взяло на себя функции управления пакетами, освободив от этой задачи хост-компьютеры.
Разработка и контракт
В 1968 году Агентство передовых исследовательских проектов Министерства обороны США (DARPA) объявило конкурс на создание сети ARPANET. Ключевым требованием было создание мини-компьютера, способного выполнять функции коммутации пакетов. Победителем тендера стала компания Bolt, Beranek and Newman (BBN) из Кембриджа, штат Массачусетс. Контракт на сумму около 1 миллиона долларов был заключен в декабре 1968 года. Группа разработчиков под руководством Фрэнка Харта, Севера Орнштейна и Роберта Канна (впоследствии одного из «отцов Интернета») создала IMP на базе аппаратной платформы Honeywell DDP-516.
Первый IMP и запуск сети
Первый IMP был установлен 29 августа 1969 года в Калифорнийском университете Лос-Анджелеса (UCLA). К нему был подключен хост-компьютер SDS Sigma 7. Второй IMP появился в Стэнфордском исследовательском институте (SRI) 1 октября 1969 года. 29 октября 1969 года была проведена первая успешная передача данных между этими двумя узлами. В течение последующего года IMP были установлены в Калифорнийском университете Санта-Барбары (UCSB) и Университете Юты.
Эволюция и замена
Первоначально IMP использовали аппаратную платформу Honeywell DDP-516 (16-битный мини-компьютер с 12 КБ оперативной памяти). В 1970-х годах сеть расширилась, и BBN разработала более мощные модели IMP на базе Honeywell 316 (с 16 КБ памяти) и позже — на базе собственной платформы BBN Pluribus. С развитием технологий и появлением более универсальных протоколов (TCP/IP) в 1980-х годах специализированные IMP начали вытесняться универсальными маршрутизаторами, работающими под управлением стандартных операционных систем. Последний IMP был выведен из эксплуатации в 1989 году.
Устройство и принцип работы
Аппаратная часть
IMP представлял собой специализированный мини-компьютер, оптимизированный для обработки пакетов. Основные компоненты:
- Центральный процессор: 16-битный, тактовая частота около 1 МГц.
- Оперативная память: от 12 КБ (DDP-516) до 16 КБ (Honeywell 316) магнитной памяти на ферритовых сердечниках.
- Интерфейсы ввода-вывода: специализированные платы для подключения до 4 хост-компьютеров (через последовательные интерфейсы) и до 4 линий связи с другими IMP (через модемы со скоростью 50 Кбит/с).
- Панель управления: индикаторы состояния, переключатели для диагностики и загрузки программного обеспечения с перфоленты.
Программное обеспечение
Операционная система IMP была написана на ассемблере и занимала около 6 КБ памяти. Она выполняла следующие функции:
- Фрагментация и сборка: разбиение длинных сообщений от хост-компьютеров на пакеты фиксированной длины (до 1008 бит данных) и обратная сборка на стороне получателя.
- Маршрутизация: динамический выбор наилучшего пути для каждого пакета на основе алгоритма, учитывающего загруженность линий и состояние соседних IMP.
- Управление потоком: предотвращение переполнения буферов путем отправки квитанций (ACK) и регулирования скорости передачи.
- Обнаружение ошибок: использование контрольной суммы (CRC) для каждого пакета и автоматический запрос повторной передачи при обнаружении ошибок.
- Ведение журнала: запись статистики о переданных пакетах, ошибках и состоянии линий.
Протоколы
IMP использовали собственный протокол сетевого уровня, который позже стал известен как протокол ARPANET (1822 протокол, названный по номеру технического отчета BBN). Этот протокол определял:
- Формат пакета: заголовок (12 байт), содержащий адрес отправителя, получателя, номер сообщения, флаги управления, и поле данных (до 126 байт).
- Процедуры установления соединения: три способа передачи (отправить, получить, отправить с подтверждением).
- Механизмы обнаружения ошибок: контрольная сумма для заголовка и данных.
Классификация IMP
По поколению
- Первое поколение (1969-1972): на базе Honeywell DDP-516. Обладали 12 КБ памяти, поддерживали до 4 хост-компьютеров и 4 линий связи. Использовались в начальной фазе развертывания ARPANET.
- Второе поколение (1972-1975): на базе Honeywell 316. Имели 16 КБ памяти, более компактный корпус и улучшенную систему охлаждения. Поддерживали до 6 хост-компьютеров.
- Третье поколение (1975-1980): на базе BBN Pluribus. Многопроцессорная система, способная обрабатывать до 100 000 пакетов в секунду. Поддерживала до 32 хост-компьютеров и 32 линий связи.
- Четвертое поколение (1980-1989): программные реализации IMP на универсальных компьютерах (DEC PDP-11, VAX) под управлением операционной системы Unix.
По функциональному назначению
- Стандартный IMP: основной тип, обеспечивающий подключение хост-компьютеров и маршрутизацию пакетов.
- IMP-концентратор (TIP): Terminal IMP — специализированный IMP, предназначенный для подключения терминалов (устройств ввода-вывода) напрямую, без использования хост-компьютера. Позволял пользователям работать с удаленными системами через ARPANET.
- IMP-шлюз: использовался для соединения ARPANET с другими сетями (например, с сетью SATNET).
Применение и значение
Роль в ARPANET
IMP были критически важным компонентом ARPANET. Они обеспечивали:
- Коммутацию пакетов: основная функция, позволявшая эффективно использовать пропускную способность линий связи.
- Устойчивость к отказам: при выходе из строя одного IMP или линии связи, пакеты автоматически перенаправлялись по альтернативным маршрутам.
- Масштабируемость: сеть могла легко расширяться за счет добавления новых IMP.
- Прозрачность для пользователей: хост-компьютеры взаимодействовали друг с другом через IMP, не заботясь о деталях передачи данных.
Влияние на развитие Интернета
Разработка IMP заложила основы для создания современных маршрутизаторов и протоколов TCP/IP:
- Концепция маршрутизации: алгоритмы, разработанные для IMP (например, алгоритм Беллмана-Форда), стали основой для протоколов маршрутизации в Интернете (RIP, OSPF).
- Принцип пакетной коммутации: IMP доказали работоспособность этой технологии в масштабной сети, что привело к ее повсеместному внедрению.
- Стандартизация: протоколы IMP стали основой для разработки более универсальных протоколов TCP/IP в 1970-х годах.
- Образовательный эффект: опыт эксплуатации IMP помог выявить проблемы и ограничения ранних сетей, что стимулировало дальнейшие исследования в области компьютерных сетей.
Историческое значение
Сегодня IMP рассматриваются как первые в мире маршрутизаторы. Их разработка и эксплуатация стали важнейшим этапом в истории информационных технологий. Первый IMP, установленный в UCLA, хранится в Музее компьютерной истории в Маунтин-Вью, Калифорния. В 2009 году, к 40-летию ARPANET, BBN восстановила один из IMP в рабочем состоянии.
Интересные факты
- Первый IMP был доставлен в UCLA на грузовике, а не по почте, чтобы избежать повреждений.
- Программное обеспечение IMP было написано на ассемблере и занимало всего 6 КБ памяти.
- IMP имели встроенную систему диагностики, позволявшую удаленно проверять их состояние.
- В 1971 году был разработан IMP-концентратор (TIP), который позволял подключать к сети до 64 терминалов.
- В 1980-х годах IMP начали заменяться маршрутизаторами на базе универсальных компьютеров, работающих под управлением Unix.
Источники
- Heart, F. E., Kahn, R. E., Ornstein, S. M., Crowther, W. R., & Walden, D. C. (1970). The Interface Message Processor for the ARPA Computer Network. Proceedings of the Spring Joint Computer Conference.
- Roberts, L. G. (1978). The Evolution of Packet Switching. Proceedings of the IEEE.
- Kleinrock, L. (1975). Queueing Systems. Volume 2: Computer Applications. John Wiley & Sons.
- Salus, P. H. (1995). Casting the Net: From ARPANET to Internet and Beyond. Addison-Wesley.
- BBN Report No. 1822 (1978). Specification for the Interconnection of a Host and an IMP. Bolt, Beranek and Newman.
- Hafner, K., & Lyon, M. (1996). Where Wizards Stay Up Late: The Origins of the Internet. Simon & Schuster.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →