Interface Message Processor

IMP () — узел коммутации пакетов, который представлял собой усовершенствованный мини-компьютер Honeywell DDP-516 со специальными интерфейсами и программным обеспечением. В более поздние годы IMP были сделаны из неусовершенствованного Honeywell 316, который мог обрабатывать две трети коммуникационного трафика примерно за половину стоимости. Использовался в создании подсети ARPANET с конца 1960-х по 1989 год. Эти компьютеры соединялись линиями связи, передающими информацию со скоростью 56 Кбит/с и стали известны как маршрутизаторы. IMP требует подключения к главному компьютеру через специальный бит-последовательный интерфейс, определенный в отчёте BBN №1822. Для повышения надёжности каждый IMP должен был быть соединен как минимум с двумя другими IMP. Подсеть должна была быть дейтаграммной, чтобы в случае если какие-либо линии и IMP разрушатся, сообщения могли бы автоматически выбрать альтернативный путь. Программное обеспечение IMP и сетевой коммуникационный протокол ARPA, работающий на IMPS, были рассмотрены в RFC 1, первом из серии документов по стандартизации, опубликованных Инженерным советом Интернета.

История 
Концепция IMP была впервые предложена в 1966 году  для сети NPL в Англии. Эта же идея была независимо разработана в начале 1967 года на совещании главных исследователей для Управления перспективных исследовательских проектов Министерства обороны США для обсуждения соединения машин по всей стране. , который руководил внедрением ARPANET, первоначально предложил сеть хост-компьютеров.  предложил вставить "небольшой компьютер между каждым хост-компьютером и сетью линий передачи", то есть сделать IMP отдельным компьютером.

IMP были созданы массачусетской компанией  в 1969 году. BBN заключила контракт на создание четырех IMP, первый из которых должен был появиться в Калифорнийском университете ко Дню труда; остальные три должны были быть поставлены с интервалом в один месяц, завершив всю сеть в общей сложности за двенадцать месяцев. Когда массачусетский сенатор Эдвард Кеннеди узнал о достижении BBN в подписании этого миллионного соглашения, он послал телеграмму, поздравляя компанию с получением контракта на создание IMP.

Команда, работающая над IMP, называла себя "IMP Guys":

 Руководитель группы: Фрэнк Харт
 Программное обеспечение: Уильям Краутер, Дэйв Уолден, Берни Козелл и Пол Векселблат
 Оборудование: Северо Орнштейн, Бен Баркер
 Теория и сотрудничество с вышеизложенным по общему проектированию системы: Боб Кан
 Другое: Хоули Райзинг
 Позже в команду IMP были добавлены: Марти Троуп (аппаратное обеспечение), Джим Гейсман, Труетт Тач (монтаж), Билл Бертелл (Honeywell)

BBN начала программную работу в феврале 1969 года на модифицированном Honeywell DDP-516s. Завершенный код состоял из шести тысяч слов и был написан на ассемблере Honeywell 516. Программное обеспечение IMP было создано в основном на PDP-1, где код IMP был написан и отредактирован, а затем запущен на Honeywell.

BBN спроектировал IMP просто как "мессенджер", который будет только "хранить и пересылать". BBN разработал только спецификацию host-to-IMP, оставив хост-сайты для создания отдельных интерфейсов host-to-host. У IMP был механизм контроля ошибок, который отбрасывал пакеты с ошибками без подтверждения получения; исходный IMP, не получив подтверждения получения, впоследствии повторно отправит дубликат пакета. Основываясь на требованиях запроса предложения ARPA, IMP использовал 24-битную контрольную сумму для исправления ошибок. BBN решила заставить аппаратное обеспечение IMP вычислять контрольную сумму, потому что это был более быстрый вариант, чем использование программного расчета. Первоначально IMP был задуман как подключенный к одному хост-компьютеру на каждом сайте, но по настоянию исследователей и студентов с хост-сайтов каждый IMP был в конечном итоге разработан для подключения к нескольким хост-компьютерам.

Первый IMP был доставлен группе Леонарда Клейнрока в Калифорнийском университете в Лос-Анджелесе 30 августа 1969 года. Он использовал главный компьютер SDS Sigma-7. Группа Дугласа Энгельбарта в Стэнфордском исследовательском институте получила второй IMP 1 октября 1969 года. Он был присоединен к узлу . Третий IMP был установлен в Калифорнийском университете в Санта-Барбаре 1 ноября 1969 года. Четвертый и последний IMP был установлен в Университете штата Юта в декабре 1969 года. Первый коммуникационный тест между двумя системами (в Калифорнийском университете и в Стэнфордском институте) состоялся 29 октября 1969 года, когда на IMP Стэнфордского исследовательского института была предпринята попытка передачи, но передать удалось только первые две буквы. IMP института сломался при получении символа "g". Через несколько минут ошибка была исправлена, и попытка передачи была успешно завершена.

BBN разработала программу для проверки работоспособности схем связи. Согласно отчету, поданному Френком Хартом, предварительный тест в конце 1969 основывается на 27-часовой период активности на линии Калифорнийский университет-Стэнфордский институт и было выяснено, что "примерно один пакет на 20,000 даёт ошибку", а последующие испытания "обнаружили 100% вариацию этого числа - по-видимому, из-за множества необычно длительных периодов времени (порядка часов) без обнаруженных ошибок."

Существовал вариант IMP, называемый TIP, который подключал к сети терминалы, а также компьютеры; он был основан на Honeywell 316, более поздней версии 516. Позже некоторые IMP на базе Honeywell были заменены на многопроцессорные BBN  IMP, но в конечном итоге BBN разработала микропрограммный клон машины Honeywell.

IMP лежали в основе ARPANET, пока DARPA не вывело ARPANET из эксплуатации в 1989 году. Большинство IMP были либо разобраны на части, либо выброшены на свалку, либо переправлены в MILNET. Некоторые из них стали экспонатами в музеях; Клейнрок поместил первый IMP на всеобщее обозрение в Калифорнийском университете Лос-Анджелеса. Последним IMP в ARPANET был IMP из Мэрилендского университета.

Отчёт BBN №1822 
Отчет BBN №1822 определяет метод подключения главного компьютера к IMP. Это соединение и протокол обычно называют 1822, согласно номеру отчета.

Первоначальная версия протокола 1822 была разработана в 1969 году: поскольку он на десятилетие опередил модель OSI, 1822 не полностью вписывается в слои OSI. Однако можно с уверенностью сказать, что протокол 1822 включает в себя физический уровень, канальный уровень передачи данных и сетевой уровень. Интерфейс, видимый хост-системе, передает адреса сетевого уровня непосредственно устройству физического уровня.

Для передачи данных хост создает сообщение, содержащее числовой адрес другого хоста в сети (аналогично IP-адресу в Интернете) и поле данных, и передает сообщение через интерфейс 1822 в IMP. IMP направляет сообщение на конечный хост, используя протоколы, которые в конечном итоге были приняты интернет-маршрутизаторами. Сообщения могли хранить общую длину 8159 бит, из которых первые 96 были зарезервированы для заголовка ("лидер").

В то время как пакеты, передаваемые через Интернет, считаются ненадежными, 1822 сообщения были гарантированно надежно переданы адресату. Если сообщение не удалось доставить, IMP отправил исходящему хосту сообщение о том, что доставка не удалась. На практике, однако, были (редкие) условия, при которых хост мог пропустить сообщение о потере сообщения или при которых IMP мог сообщить о потере сообщения, когда оно действительно было получено.

Более поздние версии протокола 1822, такие как 1822L, описаны в RFC 802 и его преемниках.

См. также 

 Модель TCP/IP
 Маршрутизатор Fuzzball

Примечания

Литература (рус.) 
 Т18 Компьютерные сети. 4-е изд./Э. Таненбаум. — СПб.: Питер, 2003. — 992 с.: ил. — (Серия «Классика computer science»).

Дополнительная информация (англ.) 

 A Technical History of the ARPANET with photos of IMP
 IMP history with photo of developers
 Dave Walden's memories of the IMP and ARPANET
 Oral history interview with Severo Ornstein. Ornstein was principal hardware designer of the IMP.
 Internet STD 39, also known as BBN Report 1822, "Specification for the Interconnection of a Host and an IMP".

Дополнительная информация (рус.) 

 Институт Чарльза Бэббиджа

Сетевое оборудование
История Интернета