Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию
Шрифт:
С другой стороны, Тейлору нравилось быть вместе с людьми, и шутить он любил, иногда даже чрезмерно. «Я общительный человек», — сообщает он. Каждый год Тейлор устраивал конференцию, где собирались ученые, получавшие финансирование от ARPA. Еще одна конференция для лучших студентов-выпускников проводилась обычно в каких-нибудь интересном месте, вроде Парк-Сити, в штате Юта или в Новом Орлеане. Каждый имел возможность выступить, а затем его засыпали вопросами и предложениями. Таким образом Тейлор получал сведения обо всех восходящих звездах страны. Он, как магнит, притягивал таланты, что сослужило ему хорошую службу при переходе на работу в Xerox PARC. А еще это помогло ему решить одну из самых важных задач построения сети: заразить окружающих этой идеей.
ARPANET
Тейлор знал: идею сети с разделением времени надо популяризировать среди тех, кто готов к сотрудничеству, а именно среди ученых, получающих финансирование от ARPA. Поэтому в апреле 1967 года он пригласил
Многие из участников с большой неохотой соглашались присоединяться к сети. «Университеты вообще не желали с кем-нибудь делиться своими компьютерами, — рассказывает Робертс. — Они хотели закупать собственные машины и прятать их по углам» [489] . Не хотели они, и чтобы у них, как у участников сети, для маршрутизации трафика отбирали хоть каплю ценного машинного времени. Первыми против высказались Марвин Мински из Лаборатории искусственного интеллекта при Массачусетском технологическом институте и Джон Маккарти, в прошлом коллега Мински, перебравшийся к этому времени в Стэнфорд. Их компьютеры, заявили они, и так используются по максимуму. С какой стати они должны разрешать еще кому-то подключаться к ним? А кроме того, у них появится новая забота: маршрутизировать сетевой трафик неизвестных им компьютеров, на языке которых они не говорят. «Обоим не нравилось, что уменьшится вычислительный ресурс их компьютеров, и участвовать в этой затее они отказывались, — вспоминает Тейлор. — Я сказал, что им придется это сделать, поскольку это позволит мне втрое сократить расходы на компьютеры» [490] .
489
Устный рассказ Ларри Робертса, Charles Babbage Institute.
490
Интервью, взятое автором у Боба Тейлора.
Тейлор был убедителен, а Робертс настойчив. Они напомнили присутствующим, что всех их финансирует ARPA. «Мы собираемся устроить сеть, а вам придется в этом участвовать, — заявил Робертс. — И вы подсоедините к ней свои машины» [491] . Денег на компьютеры больше не будет до тех пор, пока они не подсоединятся к сети.
Часто бывает, что споры на конференциях стимулируют рождение идей. Именно это произошло в конце мичиганской встречи, когда один из ее участников неожиданно выступил с предложением, позволившим ослабить противодействие сети. Вэс Кларк из Lincoln Laboratory был одним из разработчиков персонального компьютера, который они в лаборатории между собой называли LINC. Больше продвижения идеи разделения времени на больших компьютерах его интересовало совершенствование компьютеров индивидуального пользования. Поэтому он не слишком прислушивался к тому, что говорилось на конференции. Но в самом ее конце он сообразил, почему так трудно заставить исследовательские центры принять идею сети. «Хорошо помню, что перед самым отъездом я неожиданно сообразил, в чем основная трудность, — рассказывал Кларк. — Я передал Ларри записку, где сообщал, что, похоже, вижу, как решить проблему» [492] . По дороге в аэропорт во взятой напрокат машине, которую вел Тейлор, Кларк рассказал Робертсу и еще двум коллегам, в чем состоит его идея. ARPA не следует настаивать на том, чтобы маршрутизацией данных занимались все вычислительные центры, где стоят компьютеры, на которых ведется научная работа, объяснял Кларк. Вместо этого ARPA следует разработать стандартизованный мини-компьютер, который и будет производить маршрутизацию, и снабдить такими компьютерами все вычислительные центры. Тогда от большого исследовательского компьютера потребуется только установить связь с предоставленным ARPA мини-компьютером — маршрутизатором. У такого подхода три преимущества: основная нагрузка снимается с компьютерного терминала центра, у ARPA появляется возможность стандартизировать сеть, а маршрутизация данных действительно приводит к их рассредоточению, а не к контролю за ними несколькими большими узлами сети.
491
Janet Abbate, Inventing the Internet (1999), 1012; устный рассказ Ларри Робертса, Charles Babbage Institute.
492
Устный
Тейлору идея сразу пришлась по душе. Робертс задал несколько вопросов и тоже согласился: сеть будет управляться стандартизованными мини-компьютерами, предложенными Кларком. Они известны как интерфейсные процессоры сообщений, или IMP (Interface Message Processors). Позднее их стали называть просто роутерами.
Когда они добрались до аэропорта, Тейлор спросил, кто займется разработкой IMP. Кларк ответил, что, очевидно, эту работу следует передать Bolt, Beranek and Newman, кембриджской фирме, где тогда работал Ликлайдер. Но в машине был еще Эл Блу, отвечавший в ARPA за вопросы согласования. Он напомнил, что в соответствии с федеральными стандартами заключения контрактов следует провести тендер на выполнение этого проекта [493] .
493
Имеется несколько версий этой истории. Согласно одной из них, они ехали в такси, но Боб Тейлор настаивает, что это была взятая им напрокат машина. Интервью, взятое автором у Боба Тейлора и Ларри Робертса. Устный рассказ Роберта Тейлора, записанный Паулем Мак-джонсом, октябрь 2008 г., Музей истории компьютеров; Hafner and Lyon, Where Wizards Stay Up Late, 1054; Segaller, Nerds, 62.
На следующей конференции, проходившей в Гатлинберге, штат Теннесси, в октябре 1967 года, Робертс представил пересмотренный план сети. Он также дал ей имя: ARPA Net, трансформировавшееся затем в ARPANET. Однако один вопрос оставался нерешенным: потребуется ли для связи двух узлов сети выделенная телефонная линия наподобие той, которая нужна для телефонных звонков? Или есть какой-то практический способ, позволяющий разнородным потокам данных использовать линии совместно, как в системах с разделением времени для обычных телефонных линий? Раньше в том же месяце один из комитетов Пентагона выработал технические характеристики для такой сети передачи данных.
Именно тогда молодой инженер из Англии Роджер Скентле-бери представил доклад, описывающий исследования его руководителя Дональда Дэвиса из Britain’s National Physical Laboratory. В нем содержался ответ: метод деления сообщений на маленькие порции, которые Дэвис окрестил «пакетами». Скентлебери добавлял, что независимо та же идея разрабатывалась еще одним ученым Полем Бэраном из RAND. После доклада Ларри Робертс и некоторые другие слушатели столпились вокруг Скентлебери. Затем все отправились в бар, где разговор затянулся до позднего вечера.
Коммутация пакетов: Пол Бэран, Дональд Дэвис и Леонард Клейнрок
Есть много способов передачи данных по сети. Самый простой, известный как коммутация каналов, это способ, которым работает телефонная сеть: с помощью коммутаторов создается специальный канал, по которому все время разговора туда и обратно курсирует сигнал. Соединение при этом сохраняется даже во время длительных пауз. Другой метод — это коммутация сообщений, или, как его называют телеграфисты, коммутация с промежуточным хранением. В такой системе исходящее сообщение отправляется в сеть по адресу, указанному в заголовке, и последовательно передается от узла к узлу, двигаясь к месту назначения.
Еще эффективнее метод коммутации пакетов — специальный способ коммутации с промежуточным хранением, при котором сообщения разбиваются на небольшие кусочки строго одинакового размера. Эти кусочки, их называют пакетами, снабжены адресом — заголовком, указывающим, куда ему следует двигаться. Затем пакеты отправляются в путь по сети к своему месту назначения, перескакивая с узла на узел. При этом они используют те связи, которые в данный момент наиболее доступны. Если какая-то связь слишком забита данными, некоторые из пакетов отправляются по альтернативным маршрутам. Когда все пакеты добираются до нужного узла, их опять собирают вместе, используя инструкции, записанные в заголовке. «Это напоминает длинное письмо, написанное на десятках открыток. Все открытки пронумерованы и отправлены по одному и тому же адресу, — объясняет Винт Серф, один из основоположников интернета. — Каждая открытка, чтобы попасть в пункт назначения, может выбрать свой маршрут, после чего они опять собираются вместе» [494] .
494
Интервью, взятое автором у Винта Серфа.
Как объяснил Скентлебери в Гатлинберге, первым, кто до конца разобрался в том, что из себя представляет сеть с коммутацией пакетов, был инженер Пол Бэран. Семья Бэрана иммигрировала из Польши, когда ему было два года. Они поселились в Филадельфии, где отец Пола открыл небольшую бакалейную лавку. Окончив в 1949 году Дрексельский университет, Бэран поступил в компьютерную компанию Преспера Эккерта и Джона Мокли, где занимался тестированием программ для UNIVAC. Он перебрался в Лос-Анжелес, прослушал вечерние курсы в Калифорнийском университете, а затем получил работу в RAND Corporation.