Интернету 50 лет: очевидцы рассказали о запуске его первого прообраза
Когда в прошлую среду я был в Калифорнийском университете в Лос-Анджелесе, я поднялся на третий этаж в поисках комнаты 3420. И я прошел мимо, из коридора она не выглядит сколько-нибудь примечательно.
Тем не менее, именно здесь 50 лет назад произошло кое-что грандиозное. Молодой исследователь Чарли Клайн осуществил первую цифровую передачу данных, которую зафиксировал Билл Дювалль, сидевший за компьютером на другом конце Калифорнии в Стэнфордском исследовательском институте. Так родилась ARPANET, небольшая сеть компьютеров, которая считается предшественницей интернета.
В то время небольшой сеанс передачи данных не прогремел на весь мир. Даже сами исследователи не оценили значения того, что сделали. «Я не запомнил чего-либо особенного в тот вечер, и уж точно я не осознал, что то, что мы сделали, было чем-то особенным», — вспоминает Клайн. Однако установленная связь между компьютерами доказывала жизнеспособность концепции, которая позволила распространять любую информацию на компьютеры по всему миру.
Сегодня наши смартфоны и ключи от гаражей представляют собой узлы сети, которая произошла от той, что Клайн и Дювалль испытали в тот день. Эти и другие люди рассказали, как разбирались в закономерностях перемещения байтов по всему миру.
Это не должно повториться
Своим прорывом 29 октября 1969 года Клайн и Дювалль обязаны многим людям, которые готовили для него почву. Один из этих людей — профессор Калифорнийского университета в Лос-Анджелесе Леонард Клейнрок. Сегодня он по-прежнему работает в университете. По его словам, ARPANET представляет собой, в каком-то смысле, детище Холодной войны. Когда в октябре 1957 года над США пролетел советский Спутник-1, научное и политическое сообщество было в шоке.
Запуск спутника застиг США врасплох со спущенными штанами, и президент Эйзенхауэр сказал, что это не должно повториться, вспоминает Клейнрок во время разговора в комнате 3420, которая теперь известна как Центр истории интернета (Kleinrock Internet History Center). «Так что в январе 1958-го он запустил в системе Минобороны Агентство перспективных научных разработок (ARPA) для поддержки науки, технологии, инженерного дела и математики в университетах и лабораториях США».
Ключевой кадр из Минобороны
К середине 1960-х созданное агентство финансировало работу
больших компьютеров в исследовательских лабораториях по всей стране. За финансы
в ARPA отвечал Боб Тейлор, ключевая фигура в истории компьютерной науки,
который впоследствии руководил научно-исследовательским центром Xerox PARC в Пало-Альто. Работая в ARPA, он понял, что
все эти компьютеры «разговаривают» на разных языках и не могут
взаимодействовать между собой. Тейлора бесило, что для связи с каждым
компьютером ему нужен отдельный телетайп-терминал.
Решением этой проблемы и стала ARPANET.
$1 млн из программы разработки баллистических ракет
У Тейлора была и другая причина стремиться объединить компьютеры в сеть. Он регулярно получал со всей страны запросы на финансирование для покупки более мощных компьютеров. При этом он знал, что значительная часть существующих мощностей простаивает. Когда в Калифорнии исследователю не хватало системных ресурсов, на восточном побережье США была ночь, и другой компьютер мог стоять без дела, объясняет Клейнрок.
Или, например, на одном компьютере было установлено ПО, которое пригодилось бы и на других. Вроде графической программы, которую разработали в Университете Юты: без сети приходилось просить ARPA, чтобы тебе тоже купили такую программу, говорит Клейнрок. Все хотели всё, и к середине 1960-х в ARPA устали от таких запросов.
Проблема заключалась в том, что все компьютеры говорили на разных языках. В Пентагоне Тэйлору объяснили, что устройства в исследовательских центрах работают с разными кодами. Не было единого сетевого языка — или протокола, с помощью которого расположенные в разных местах устройства могли устанавливать между собой соединение и делиться контентом или ресурсами.
Вскоре это изменилось. Тэйлор уговорил главу ARPA Чарльза Герцфельда выделить $1 млн на разработку сети, которая бы объединила компьютеры Массачусетского, Калифорнийского и Стэнфордского и многих других исследовательских центров . Деньги взяли из программы разработки баллистических ракет, оправдав это тем, что создаваемая сеть сможет уцелеть, если какая-то ее часть будет уничтожена — например, в ходе ядерной атаки.
Теория очередей
В проект пригласили старого знакомого Клейнрока по Массачусетскому технологическому институту (MIT) Ларри Робертса. Тот, в свою очередь, обратился к работам британского ученого Дональда Дэвиса и американца Пола Бэрана в сфере информатики.
Вскоре теоретическими аспектами проблемы пригласили
заниматься и самого Клейнрока. Он занимался этой темой с 1962 года, когда еще
учился в MIT.
В итоге главной его заслугой в создании ARPANET стало создание так называемой теории массового обслуживания или теории очередей. Тогда связь осуществлялась по аналоговым линиям, которые можно было арендовать у AT&T. Соединение между посылающим и принимающим устанавливалось на центральной станции. В результате было множество простоев в те моменты, когда по линии не передавались ни слова, ни биты.
Клейнфельд рассудил, что для установки соединения между компьютерами этот способ неэффективен. И предложил пакетную систему передачи данных. Пока один поток пакетов данных приостанавливается, другой, не связанный с ним, может использовать тот же канал связи. Например, электронное письмо может попасть к получателю четырьмя разными путями: если один из них отключен, сеть маршрутизирует пакеты через другой.
Во время нашего разговора в комнате 3420 Клейнрок показывает мне свою диссертацию, в которой все это также описано. Ее он издал книжкой еще в 1964 году.
Новый тип сети предполагал, что данные направляются не центральным коммутатором, а специальными устройствами в узлах. В 1969-м эти устройства называли процессорами интернет-сообщений (IMP). Каждое устройство представляло собой модифицированную версию компьютера Honeywell DDP-516. Тот самый IMP, который использовался для первой передачи данных, Клейнрок получил в Калифорнийском университете в первый понедельник сентября 1969 года. Теперь его восстановили, и он красуется в углу комнаты 3420.
Успеть до Хэллоуина
Осенью 1969 года Чарли Клайн пытался получить научную степень инженера. Он был одним из нескольких студентов, которые стали работать над проектом ARPANET, когда Клейнрок получил госфинансирование. В августе Клайн и остальные готовили университетский компьютер Sigma 7 к соединению с IMP. Никакого стандартного интерфейса для соединения еще не было, так что ребята сами сделали кабель длиной около 4,5 метров. Не хватало только второго компьютера, с которым можно было бы установить связь.
Вторым IMP-процессор получили в Стэнфорде в начале октября. Тогда Биллу Дюваллю пришлось быстро готовить оборудование к эксперименту. Команды двух университетов договорились установить связь не позже 31 октября. Чтобы успеть, Дювалль каждый день работал по 15 часов.
С приближением срока темпы работы выросли, и в итоге к эксперименту были готовы раньше дедлайна. «У нас было два узла, и мы арендовали линию связи со скоростью 50 тыс. бит в секунду у AT&T», — вспоминает Клейнрок.
Первый тест провели 29 октября. Вечером Клайн и Дювалль остались в своих университетах допоздна. Первое испытание ARPANET решили провести ночью, чтобы не помешать ничьей работе в случае неудачи.
Вот как они сами описывают события той ночи
Клайн:
"Я вошел в операционную систему и запустил свою программу, которая позволяла мне давать системе указание об отсылке пакетов данных в Стэнфордский исследовательский институт. Параллельно Билл Дювалль в Стэнфорде запустил свою программу для приема входящих соединений. К тому же мы были на связи по телефону.
Сначала у нас была пара проблем. У меня была сложность с переводом кода, потому что в нашей системе использовался расширенный двоично-десятичный код обмена информацией, принятый в IBM и Sigma 7. А в Стэнфорде компьютер использовал Американский стандартный код для обмена информацией, который в итоге стал стандартом для ARPANET и для всего мира.
Так вот, когда мы разобрались с этой проблемой, мы попробовали установить соединение, дав команду login. Система распознавала команды. Так что достаточно было ввести L, O и G, чтобы она добавила IN.
Я ввел первую букву. Мы были на телефоне [с Дюваллем], и я спросил, получил ли он L. Он подтвердил, и тогда я увидел L на своем терминале. Тогда я ввел O, и он подтвердил получение. Но когда я ввел G, он сказал, что у него полетела система".
Дювалль:
«После ввода пары букв у меня переполнился буфер. Это легко исправить, так что все скоро вернулось к норме и заработало».
Клайн:
«У него был небольшой баг, на исправление ушло около 20 минут, а потом мы попробовали еще раз. Ему пришлось внести какие-то изменения в программу. Я проверил все на своей стороне. Он перезвонил, и мы попробовали снова. Я опять ввел L, O и G, но на этот раз система добавила IN».
Первое соединение было установлено в полодиннадцатого вечера. После этого Клайну удалось удаленно зайти в свою учетную запись на компьютере Стэнфордского университета и запускать программы на устройстве, расположенном в полутысяче километров к северу от него. В каком-то смысле, для этого и создавалась ARPANET.
«Было уже поздно, так что я пошел домой», — вспоминает Клайн.
Вскоре успешный эксперимент распространился на другие университеты, а впоследствии стал прообразом современного интернета.