Другие статьи цикла:
- История реле
- История электронных компьютеров
- История транзистора
- История интернета
При помощи ARPANET Роберт Тэйлор и Ларри Робертс
Скептики
Проблема структурирования сети была, по меньшей мере, настолько же политической, насколько и технической. Научные руководители исследовательских центров ARPA в целом не одобряли идею ARPANET. Некоторые ясно продемонстрировали всякое отсутствие желания присоединяться к сети когда бы то ни было; мало кто из них горел энтузиазмом. Каждому центру пришлось бы приложить серьёзные усилия, чтобы позволить другим пользоваться их весьма дорогим и очень редким компьютером. Такое предоставление доступа демонстрировало явные недостатки (потерю ценного ресурса), при этом его потенциальные достоинства оставались неопределёнными и смутными.
Тот же самый скептицизм по поводу общего доступа к ресурсам потопил сетевой проект Калифорнийского университета в Лос-Анджелесе несколько лет назад. Однако в данном случае у ARPA было куда как больше рычагов воздействия, поскольку она напрямую платила за все эти ценные компьютерные ресурсы, и продолжала держать свою руку на всех денежных потоках связанных с ними исследовательских программ. И хотя прямых угроз сделано не было, никаких «а не то» не было озвучено, ситуация была предельно ясной – так или иначе, но ARPA собиралось построить свою сеть, чтобы объединить машины, которые, на практике, всё ещё принадлежали ему.
Момент назрел на встрече научных руководителей в Этт-Арбор в Мичигане, весной 1967. Робертс представил свой план создания сети, соединяющей разнообразные компьютеры в каждом из центров. Он объявил, что каждый руководитель обеспечит своё местный компьютер специальным сетевым ПО, которое тот будет использовать, чтобы звонить другим компьютерам по телефонной сети (это было ещё до того, как Робертс узнал об идее
И, вне зависимости от своего статуса, каждый центр лелеял свои собственные идеи. У каждого были свои уникальные программы и оборудование, и было сложно понять, как у них может получиться хотя бы установить простейшую связь друг с другом, не говоря уже о реальной совместной работе. Одно лишь написание и запуск сетевых программ для их машины отъест у них значительный объём времени и вычислительных ресурсов.
Ироничным, но и удивительно подходящим оказался тот факт, что решение этих социальных и технических проблем, принятое Робертсом, исходило от Веса Кларка, человека, с неприязнью относившегося как к разделению времени, так и к сетям. Кларк, сторонник донкихотской идеи выдать персональный компьютер каждому человеку, совершенно не собирался делиться компьютерными ресурсами ни с кем, и удерживал свой собственный кампус, Вашингтонский университет в Сент-Луисе, далеко от сети ARPANET ещё много лет. Поэтому неудивительно, что именно он разработал проект сети, не добавляющий значительной нагрузки на вычислительные ресурсы каждого из центров, и не требующий от каждого из них тратить силы на создание особого ПО.
Кларк предложил поместить в каждом из центров мини-компьютер, обрабатывающий все функции, непосредственно связанные с сетью. Каждому центру оставалось лишь придумать, как подсоединиться к своему местному помощнику (которых позднее назвали интерфейсными процессорами сообщений, или
Подход с использованием IMP, облегчавший беспокойство научных руководителей по поводу нагрузки сети на их вычислительные мощности, решал и ещё одну, политическую проблему ARPA. В отличие от остальных тогдашних проектов агентства, сеть не была ограничена единственным исследовательским центром, где ею руководил бы единственный начальник. Да и сама ARPA не обладала возможностями самостоятельного прямого создания и управления крупномасштабным техническим проектом. Ей пришлось бы нанять сторонние компании для этого. Наличие IMP проводило чёткое разграничение ответственности между управляемой внешним агентом сетью и компьютером с местным управлением. Подрядчик контролировал бы IMP’ов и всё между ними, а центры оставались бы ответственными за оборудование и ПО на их собственных компьютерах.
IMP
После этого Робертсу нужно было выбрать этого подрядчика. Старомодный подход Ликлайдера выманивания предложения у любимого исследователя напрямую в данном случае не подходил. Проект требовалось выставить на публичный аукцион, как любой другой правительственный контракт.
Только к июлю 1968 года Робертс смог утрясти окончательные детали заявки на торги. Около полугода прошло с тех пор, как на место встал последний технический кусочек головоломки, когда на конференции в Гатлинбурге рассказали о системе коммутации пакетов. Два крупнейших производителя компьютеров, Control Data Corporation (CDC) и International Business Machines (IBM), сразу же отказались участвовать, поскольку у них не было недорогих мини-компьютеров, подходящих на роль IMP.
Honeywell DDP-516
Среди оставшихся участников большинство выбрало новый компьютер
К концу года, серьёзно поразмышляв над кандидатурой Raytheon, Робертс поручил эту задачу растущей кембриджской фирме, основанной Болтом, Беранеком и Ньюманом. Фамильное древо интерактивных вычислений к тому моменту было чрезвычайно вросшим, и за выбор BBN Робертса вполне можно было обвинить в кумовстве. Ликлайдер привнёс интерактивные вычисления в BBN перед тем, как стать первым директором IPTO, посеять семена своей межгалактической сети и воспитать таких людей, как Робертс. Без влияния Лика ARPA и BBN не были бы ни заинтересованы, ни способны обслуживать проект ARPANET. Более того, ключевая часть команды, собранной BBN для создания сети на основе IMP, прямо или косвенно пришла из лабораторий Линкольна: Фрэнк Харт (руководитель команды), Дэйв Уолден,
Но, хотя данная ситуация и могла выглядеть сговором, на самом деле команда BBN точно также была хорошо приспособлена для работы в реальном времени, как Honeywell 516. В Линкольне они работали над компьютерами, подключёнными к радарным системам – это ещё один пример применения, в котором данные не будут ждать, пока компьютер будет готов. Харт, к примеру, работал над компьютером Whirlwind ещё студентом в 1950-х, присоединился к проекту SAGE, и провёл в общей сложности 15 лет в лабораториях Линкольна. Орнштейн работал над перекрёстным протоколом SAGE, передававшим данные по радарному отслеживанию с одного компьютера на другой, а позже – над LINC Веса Кларка, компьютером, разработанным для того, чтобы помогать учёным прямо в лаборатории, работая с данными в режиме онлайн. Кроутер, сейчас более всего известный, как автор текстовой игры
Команда IMP в BBN. Фрэнк Харт – человек в центре старшего возраста. Орнштейн стоит с правого края, рядом с Кроутером.
IMP отвечал за понимание и управление маршрутизацией и доставку сообщений от одного компьютера к другому. Компьютер мог отправить до 8000 байт за раз местному IMP, вместе с адресом получателя. Затем IMP нарезал сообщение на более мелкие пакеты, независимо передававшиеся целевому IMP, по линиям, поддерживавшим скорость 50 кбит/с, арендуемым у AT&T. Получающий IMP собирал сообщение по кусочкам и доставлял его своему компьютеру. В каждом IMP хранилась таблица, где отслеживалось, у кого из его соседей имелся наиболее быстрый маршрут для достижения любой возможной цели. Она динамически обновлялась на основании информации, получаемой от этих соседей, включая информацию о том, что сосед недоступен (в случае чего задержка для отправки в этом направлении считалась бесконечной). Чтобы уложиться в требования скорости и пропускной способности, выдвинутые Робертсом для всех этих процессов обработки, команда Харта создала код на уровне произведения искусства. Вся программа обработки для IMP занимала всего 12 000 байт; та часть, что занималась таблицами маршрутизации, занимала всего 300.
Команда также приняла несколько мер предосторожности, учитывая, что выделять команду поддержки каждому IMP на местах было непрактично.
Во-первых, они оборудовали каждый компьютер устройствами для удалённого отслеживания и управления. Кроме автоматического перезапуска, который стартовал после каждого отключения питания, IMP были запрограммированы так, чтобы иметь возможность перезапускать соседей, отправляя им новые версии операционного ПО. Чтобы помочь с отладкой и анализом, IMP мог по команде начать делать слепки своего текущего состояния через равные промежутки времени. Также на каждый пакет IMP прицеплял часть для его отслеживания, что давало возможность писать более детальные журналы работы. Со всеми этими возможностями многие проблемы можно было решать прямо из офиса BBN, служившего центром управления, из которого можно было видеть статус всей сети.
Во-вторых, они запросили у Honeywell военную версию компьютера 516, оборудованную толстым корпусом, защищавшим его от вибраций и других угроз. BBN в основном хотела сделать это знаком «держитесь подальше» для любопытных аспирантов, но при этом ничто так наглядно не очерчивало границу между местными компьютерами и подсетью, управляемой BBN, как этот бронированный корпус.
Первые усиленные шкафы размером примерно с холодильник прибыли на место в Калифорнийский университет в Лос-Анджелесе (UCLA) 30 августа 1969 года, всего через 8 месяцев после того, как BBN получила свой контракт.
Хосты
Робертс решил начать сеть с четырёх хостов – кроме UCLA, IMP установят недалеко вверх по побережью в Калифорнийском университете в Санта-Барбаре (UCSB), ещё один в Стэнфордском исследовательском институте (SRI) на севере Калифорнии, и последний – в Университете Юты. Всё это были второразрядные институты с Западного побережья, пытавшиеся как-то проявить себя в области научных вычислений. Семейные связи продолжали работать, поскольку двое из научных руководителей,
Двум хостам Робертс дал дополнительные функции, связанные с сетью. Даг Энглебарт из SRI ещё в 1967 году на встрече руководителей вызвался поднять у себя сетевой информационный центр. Используя сложную систему извлечения информации в SRI, он собрался создать телефонный справочник ARPANET: упорядоченную подборку информации по всем ресурсам, доступным на различных узлах, и дать доступ к ней всем участникам сети. Учитывая опыт Клейнрока в области анализа сетевого трафика, Робертс назначил UCLA центром измерения активности сети (NMC). Для Клейнрока и UCLA ARPANET должна была стать не только практическим инструментом, но и экспериментом, данные из которого можно было извлечь и обобщить, чтобы применить полученные знания для улучшения проекта сети и её последователей.
Но более важным для развития ARPANET, чем два этих назначения, стало более неформальное и размытое сообщество аспирантов под названием «сетевая рабочая группа» (NWG). Подсеть из IMP позволяла любому хосту в сети надёжно доставить сообщение любому другому; задачей NWG было разработать общий язык или набор языков, которые хосты могли бы использовать для общения. Они назвали их «протоколами хостов». Название «протокол», позаимствованное у дипломатов, впервые применили к сетям в 1965 году Робертс и Том Марилл для описания как формата данных, так и алгоритмических шагов, определяющих, как два компьютера общаются друг с другом.
NWG под неформальным, но фактическим руководством Стива Крокера из UCLA, начала регулярно встречаться с весны 1969 года, где-то за шесть месяцев до появления первого IMP. Крокер родился и вырос в районе Лос-Анджелеса, учился в школе Ван Найса, будучи одногодком с двумя своими будущими коллегами по NWG, Винтом Серфом и Джоном Постелом. Для записи итогов некоторых встреч группы, Крокер разработал один из краеугольных камней культуры ARPANET (и будущего интернета), request for comments [рабочее предложение] (
Замечания лучше отправлять вовремя, чем доводить до совершенства. Принимаются философские мнения без примеров или другой специфики, определённые предложения или технологии внедрения без вступительного описания или контекстных разъяснений, конкретные вопросы без попыток ответить на них. Минимальная длина для заметки от NWG составляет одно предложение. Мы надеемся содействовать обмену мнениями и дискуссиям по поводу неофициальных идей.
Как и request for quotation [запрос котировок] (RFQ), стандартный способ запроса ставок по правительственным контрактам, RFC приветствовал всякую реакцию, но, в отличие от RFQ, ещё и приглашал к диалогу. Каждый из распределённого сообщества NWG мог подать RFC, и использовать эту возможность, чтобы подискутировать, задать вопрос или покритиковать предыдущее предложение. Конечно, как в любом сообществе, некоторые мнения ставились выше других и в ранние дни мнение Крокера и его основной группы соратников пользовалось очень большим авторитетом. В июле 1971 года Крокер покинул UCLA, будучи ещё аспирантом, чтобы устроиться на должность менеджера программы в IPTO. Имея в своём распоряжении ключевые исследовательские гранты от ARPA, он, вольно или невольно, имел неоспоримое влияние.
Джон Постел, Стив Крокер и Винт Серф – одноклассники и коллеги по NWG; более поздние годы
Изначальный план NWG подразумевал ввод двух протоколов. Удалённый логин (telnet) позволял одному компьютеру работать в качестве терминала, соединённого с операционной системой другого, распространяя интерактивную среду любой входящей в ARPANET системы с разделением времени на тысячи километров, до любого пользователя сети. Протокол передачи файлов FTP позволял одному компьютеру передать файл, к примеру, полезную программу или набор данных, на хранилище другой системы или из него. Однако по настоянию Робертса NWG добавила и третий базовый протокол в основу этих двух, устанавливающий базовое соединение между двумя хостами. Его назвали программой управления сетью (NCP). Теперь у сети было три уровня абстракции – подсеть пакетов, управляемая IMP в самом низу, связь между хостами, обеспечиваемая NCP в середине, и протоколы приложений (FTP и telnet) наверху.
Неудача?
Только к августу 1971 года NCP был полностью определён и реализован по всей сети, которая на тот момент состояла из пятнадцати узлов. Вскоре последовали реализации протокола telnet, а первое стабильное определение FTP появилось через год, летом 1972. Если оценить состояние ARPANET на тот период, через несколько лет после того, как её впервые запустили, то его можно было считать неудачей, по сравнению с мечтой о разделении ресурсов, которую представлял себе Ликлайдер и реализовал на практике его протеже, Роберт Тейлор.
Для начала, было просто трудно выяснить, какие ресурсы существуют в сети, которыми можно воспользоваться. Информационный центр сети использовал модель добровольного участия – каждый узел должен был сам поставлять обновлённую информацию о наличии у него данных и программ. И хотя от таких действий выиграли бы все, у каждого отдельного узла не было сильной мотивации на рекламу своих ресурсов и предоставление к ним доступа, не говоря уже об обеспечении актуальной документации или консультаций. Поэтому NIC не удалось стать сетевым справочником. Вероятно, наиболее важной её функцией в ранние годы было обеспечить электронное размещение растущего набора RFC.
Даже если, допустим, Алиса из UCLA знала о наличии полезного ресурса в MIT, появлялось более серьёзное препятствие. Telnet допускал Алису до экрана с логином в MIT, но не далее. Чтобы Алиса могла реально получить доступ к какой-то программе в MIT, ей нужно было сначала договориться с MIT в офлайне, чтобы те завели ей учётную запись на их компьютере, что обычно требовало заполнения бумажных форм в обоих институтах и договора о финансировании для оплаты за использование компьютерных ресурсов MIT. А из-за несовместимости между оборудованием и системным ПО между узлами передача файлов часто не имела особого смысла, поскольку вы не могли исполнять программы с удалённых компьютеров на своём.
Иронично, что наиболее значимый успех разделения ресурсов лежал не в области интерактивного разделения времени, ради которого была создана ARPANET, а в области старомодной неинтерактивной обработки данных. UCLA добавила свою простаивавшую машину IBM 360/91 для пакетной обработки данных в сеть, и обеспечивала телефонные консультации для поддержки удалённых пользователей, что дало значительный доход компьютерному центру. Суперкомпьютер ILLIAC IV из университета Иллинойса, спонсируемый ARPA, и Datacomputer в Computer Corporation of America в Кембридже также нашли себе удалённых клиентов через ARPANET.
Но все эти проекты и близко не подошли к полноценному использованию сети. Осенью 1971 года, имея 15 хостов в онлайне, сеть в целом передавала через каждый узел в среднем по 45 млн бит, или 520 бит/с по сети из арендуемых у AT&T линий с пропускной способностью 50 000 бит/с. Более того, большая часть этого трафика была проверочной, и генерировалась центром измерения сети из UCLA. Кроме энтузиазма некоторых первых пользователей (к примеру, Стива Кара, ежедневно пользовавшегося PDP-10, находившимся в университете Юты, из Пало-Альто), в ARPANET мало что происходило. С современной точки зрения, возможно, наиболее интересным событием стал запуск цифровой библиотеки «Проект Гуттенберг» в декабре 1971 года, организованный Майклом Хартом, студентом Иллинойского университета.
Но вскоре ARPANET спас от обвинений в загнивании третий прикладной протокол – небольшая штучка под названием email.
Что ещё почитать
• Janet Abbate, Inventing the Internet (1999)
• Katie Hafner and Matthew Lyon, Where Wizards Stay Up Late: The Origins of the Internet (1996)
Источник: habr.com