Открыть сервисСервис

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.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru