«LO» вместо «LOGIN»: как Пентагон почти изобрел интернет и что было дальше
© «Теперь вы знаете» / создано при помощи нейросети
Пролог: «LO» вместо «LOGIN»
Вечер 29 октября 1969 года. Лос-Анджелес. Аспирант-программист Чарли Клайн сидит за компьютером SDS Sigma 7 в Калифорнийском университете (UCLA). Он набирает команду «LOGIN» — «войти в систему». Сообщение должно уйти на другой компьютер в Стэнфордском исследовательском институте* (SRI, признан нежелательной организацией и запрещен в РФ), который находится в 640 километрах от него.
То, что для нас сейчас — банальность из банальностей, тогда было настоящим прыжком в неизвестность, который буквально создавал будущее на глазах горстки людей.
Ввод. Отправка. Экран показывает «LO». И — система падает, передав всего две буквы из пяти.
Интернет сказал свое первое слово, и этим словом было «LO» — что, вероятно, изрядно удивило другого аспиранта Билла Дювалла, который принял отправленное сообщение. Как позже пошутит профессор Леонард Клейнрок, «lo and behold» — «вот это да!». Через час систему перезагрузили, и второе сообщение дошло целиком.
Вот так обыденно, с технического сбоя, без фанфар и шампанского началась история глобальной сети.
Но до появления интернета оставалось еще несколько лет. Так что же тогда это было?
Как в этой истории появился Пентагон
Есть множество исторических личностей, без вклада которых интернет, возможно, никогда бы не появился. От ученых и математиков вроде Алана Тьюринга, Хеди Ламарр и Клода Шеннона до изобретателей, инженеров, программистов и, наконец, Тима Бернеса-Ли, который придумал концепт Всемирной паутины (Web).
Но в конце 1950-х помимо всех этих выдающихся людей было кое-что еще, что может считаться если не «отцом интернета», то как минимум серьезным стимулом его создать. И это был страх.
4 октября 1957 года Советский Союз запустил первый искусственный спутник Земли. Для Америки это стало шоком. «США проснулись со спущенными штанами», — говорили тогда. Если русские могут запустить аппарат в космос, значит, они могут нанести ядерный удар оттуда, откуда его не ждут.
В разгаре была холодная война, и никто не хотел, чтобы она переросла в «горячую», то есть, по сути, последнюю, ядерную.
В Пентагоне резко зашевелились. В 1958 году президент Дуайт Эйзенхауэр подписал директиву о создании Управления перспективных исследований и разработок (DARPA) при Министерстве обороны. Агентству дали одно поручение: финансировать самые рискованные, самые перспективные технологии, которые могут дать США стратегическое преимущество в намечающейся гонке с СССР.
Спутник запустили русские. Агентство создали американцы. А через одиннадцать лет в недрах этого агентства родится сеть, которая изменит все.
Что на самом деле хотели построить
Разумеется, в те годы никто не планировал Всемирную паутину и вряд ли мог даже вообразить себе, как она могла бы выглядеть. Никто не думал о соцсетях и видеозвонках. Проект, позже получивший название ARPANET, задумывался как практичная, даже скучная вещь: Resource Sharing Computer Networks — сеть для разделения компьютерных ресурсов.
Да, в конце 1960-х компьютеры уже появились, но как и все новые технологии, стоили бешеных денег. Каждый научный центр считал своим долгом купить собственную электронно-вычислительную машину, это был вопрос престижа и актуальности, как сейчас — повсеместное внедрение ИИ. Но часто эти машины простаивали или использовались не на полную мощность.
Идея была простой: соединить компьютеры в разных городах, чтобы ученые из Калифорнии могли загрузить программу с компьютера в Юте или воспользоваться мощностями лаборатории в Санта-Барбаре. Это позволяло задействовать те ресурсы, которые уже были, но которые простаивали (а могли бы служить на благо родине!).
Пентагону такая система понадобилась как инструмент для объединения дорогих исследовательских компьютеров, находившихся в разных университетах и лабораториях, работавших по оборонным грантам. Холодная война была важнейшим фоном: после запуска советского спутника в 1957 году США резко усилили финансирование научно-технических проектов, а военные были заинтересованы в устойчивых, распределенных системах связи. Логика была такой: если сеть не зависит от одного центрального узла, она лучше переживает сбои, перегрузки и потенциальные удары.
В 1968 году ARPA объявила конкурс на создание сети. Победителем стала небольшая консалтинговая фирма Bolt, Beranek and Newman (BBN), которая до этого считала акустику театров. Но в BBN работали люди, которые уже думали о сетях, — и среди них был будущий архитектор интернета Роберт Кан.
Контракт подписали. Началась работа.
Кто придумал ARPANET
ARPANET не была озарением одного гения. Она стала точкой сборки нескольких идей, которые витали в воздухе.
Первый реально работающий прототип будущего интернета — ARPANET — действительно был создан в США при финансировании DARPA — агентства передовых исследовательских проектов Министерства обороны США. Но утверждение о том, что интернет был придуман военными, верно лишь отчасти.
Первым был Пол Бэран. В начале 1960-х в корпорации RAND он работал над проблемой: как сохранить связь в США после ядерной атаки СССР? Телефонная сеть была централизованной — один удар по главной станции, и все рухнет. Бэран предложил распределенную сеть, где сообщения разбиваются на маленькие куски и идут разными маршрутами. Он назвал это «распределенной адаптивной коммутацией блоков сообщений». Коллеги крутили у виска. «Этот парень сошел с ума», — говорили в AT&T.
Параллельно, через океан, работал Дональд Дэвис из британской Национальной физической лаборатории (NPL). Он пришел к той же идее независимо и придумал для нее более удачное название — «пакетная коммутация» (packet switching). В 1965 году он написал предложение о создании национальной сети. Но бюджет у британцев был маленький, и Дэвису пришлось ограничиться одним узлом связи.
Третьим был Джозеф Ликлайдер — человек, которого называют «духовным отцом интернета». В 1963 году, будучи главой ARPA, он написал меморандум под названием «Членам и отделениям межгалактической компьютерной сети».
Ликлайдер мечтал: компьютеры должны быть связаны так, чтобы люди в разных точках Земли, а потенциально и всего мира имели доступ к одним и тем же данным (его работа 1960 год «Симбиоз человека и компьютера»). Именно Ликлайдер создал атмосферу академической свободы при щедром военном финансировании, которая и позволила ARPANET родиться.
В 1966 году новый директор IPTO Роберт Тейлор решил: хватит разговоров, пора делать. У него в офисе стояли три терминала, подключенных к разным компьютерам. Каждый работал по-своему, и это бесило. «Разве нельзя соединить их в одну сеть?» — спросил он. И запустил проект.
Среди ключевых фигур для реализации и развития проекта «первого интернета» обычно называют также Лоуренса Робертса, который руководил его технической реализацией, и Леонарда Клейнрока из UCLA, чья группа приняла участие в первой передаче данных.
При этом США не были единственными, кто в 1960-е годы работал над такими идеями. Ключевая технология — коммутация пакетов, то есть разбиение информации на небольшие фрагменты и передача их разными маршрутами, разрабатывалась параллельно. В Великобритании был Дональд Дэвис, который фактически ввел термин packet switching. Позже во Франции Луи Пузен развивал проект CYCLADES, который повлиял на архитектуру сетей. В СССР в то же время тоже существовали проекты, которые иногда называют «советским интернетом», хотя по логике они отличались от ARPANET.
То есть американцы первыми запустили масштабный работающий прототип, но интеллектуальная история интернета была международной.
Как работала пакетная коммутация
Телефонный звонок работает как рельсы: между вами и собеседником прокладывается выделенная линия на все время разговора. Это надежно, но неэффективно. Когда вы молчите, линия простаивает.
ARPANET работала иначе. Сообщение резалось на маленькие куски — пакеты. Каждый пакет содержал адрес отправителя и получателя. Они отправлялись в сеть и путешествовали по отдельности, выбирая самый свободный маршрут в данный момент. Один пакет мог пойти через Чикаго, другой — через Денвер, третий — вообще в объезд. А на месте назначения пакеты собирались обратно в исходное сообщение.
Логическая карта ARPANET, март 1977 года
Зачем так сложно? Во-первых, так сеть становится более устойчивой. Если один путь разрушен — пакеты пойдут в обход. Во-вторых, никаких простоев линий. В-третьих, дешевле. Идеально для военных целей.
И для интернета, как оказалось.
Первые четыре узла: маленькая сеть для большой идеи
Первый узел сети установили в Калифорнийском технологическом университете (UCLA) 2 сентября 1969 года. Второй — в Стэнфордском исследовательском институте (SRI). Первый обмен данными между UCLA и SRI состоялся 29 октября 1969 года: попытались передать команду LOGIN, но система упала после первых двух букв.
Однако две буквы LO все же успели проскочить в это первое, приоткрывшееся на несколько секунд окно, соединившее два разделенных на сотни километров компьютера. И это была победа.
Уже к декабрю 1969 года сеть насчитывала четыре узла, каждый из которых отвечал за свою часть распределенных ресурсов:
- UCLA (Лос-Анджелес) — центр управления;
- SRI (Стэнфорд) — сетевой информационный центр;
- UC Santa Barbara (Санта-Барбара) — вычислительные задачи;
- University of Utah (Солт-Лейк-Сити) — компьютерная графика.
Обратите внимание: хотя проект изначально разрабатывался под покровительством Минобороны США, в изначальной сети не было ни одного военного штаба. Только университеты и исследовательские центры. Так что какие бы цели не ставили перед изобреталями, ARPANET на своей заре была сетью для ученых, а не для генералов.
К 1972 году ARPANET насчитывала уже 37 хост-компьютеров. Появилась и первая электронная почта: ученые из разных концов страны переписывались и обменивались файлами. Но глобальным интернетом это еще не было.
Здесь важно не запутаться. ARPANET — это конкретная сеть, созданная в 1969 году. Она была прародительницей, но не равна современному интернету.
Тут важно разделять три сущности:
- ARPANET — одна сеть, соединявшая компьютеры по всей Америке;
- Internet — сеть сетей, то есть система, которая соединяет разные сети друг с другом;
- World Wide Web — система документов, сайтов и ссылок, работающая поверх интернета; появилась в 1989–1991 годах и сейчас часто сливается для людей с понятием «интернет» до неразличения.
Поворотный момент: как TCP/IP сменил ARPANET
К середине 1970-х стало ясно: одной сети мало. Роберт Кан из DARPA хотел соединить ARPANET с другими сетями — радиосетями (PRNet) и спутниковыми (SATNET).
Но тут возникала проблема технического характера: у каждой из выстроенных систем связи был свой язык, свои протоколы, свои размеры пакетов. Нужен был универсальный переводчик. ARPANET использовала протокол NCP (Network Control Program). Но NCP не справлялся с соединением разных типов сетей.
В 1974 году Кан и Винтон Серф опубликовали работу «A Protocol for Packet Network Interconnection». Они предложили протокол, который позволял разным сетям разговаривать друг с другом. Назвали его Transmission Control Program (TCP). Позже разделили на два протокола: TCP отвечает за надежную доставку, IP — за маршрутизацию пакетов.
Так родился TCP/IP — язык, на котором говорит современный интернет.
1 января 1983 года, когда ARPANET перешла на TCP/IP, можно считать днем, когда интернет как идея «сети сетей» стал реальностью.
В том же году военный сегмент ARPANET выделили в отдельную сеть MILNET . Исследовательская сеть и военная сеть разошлись. Но протокол остался общим.
Что ARPANET оставила современному интернету
ARPANET формально просуществовала до 1990 года. К тому моменту у нее появился более быстрый и масштабный конкурент — сеть NSFNet, созданная Национальным научным фондом США. ARPANET отключили.
Но ее наследство никуда не делось. Вот что досталось от Arpanet современному интернету:
- Пакетная передача данных — сообщения режутся на куски, передаются отдельно, собираются на месте. Поэтому, кстати, вам до сих пор может дойти оборванное на середине письмо или «битый» файл.
- Распределенная архитектура — у интернета нет центра. Если один узел падает, трафик идет в обход.
- Идея открытых протоколов — любой может создать свой сервис, не спрашивая разрешения у «владельца» интернета. Потому что владельца нет.
- Культура RFC (Request for Comments) — инженеры прототипа интернета обсуждали стандарты открыто, публикуя черновики и принимая правки. Эта традиция живет до сих пор.
- Модель «сеть для ресурсов» — интернет проектировался как среда для обмена данными между компьютерами. Потом уже эту среду приспособили для людей.
ARPANET не была задумана как глобальная сеть для всего человечества. Она была скромным экспериментом по обмену данными между четырьмя университетскими компьютерами. Ее не проектировали идеальной, но сделали достаточно гибкой, чтобы из этой открытой архитектуры в дальнейшем родилось нечто большее, объединившее миллиарды компьютеров по всему миру.
Холодная война, военные бюджеты, университетская свобода, инженерная прагматика и простое желание не тратить миллионы на дублирование компьютеров — вот из какого коктейля родился интернет.
А начиналось все с двух букв: «LO». И советского спутника, еле заметной звездой тревожно мерцающего на орбите Земли.