«L», и парень за компьютером в СНИИ подтвердил, что сообщение получено. Затем он напечатал «О» и тоже получил подтверждение. Но когда он напечатал «G», произошло неожиданное повреждение памяти, связанное с особенностью автозаполнения, и система рухнула. Тем не менее по сети ARPANET было передано первое сообщение. Это сообщение не было столь выразительным, как фразы «Орел приземлился»[545] и «Вот что творит Бог!»[546], но оно подходило даже в таком неоконченном виде: «LO». Как в выражении «Lo and behold»[547]. В лабораторном журнале Клайн сделал короткую, простую, но запоминающуюся запись: «22:30. Говорил со СНИИ по связи между главными компьютерами. ЧК»[548].
Так сошлось, что во второй половине 1969 года, под аккомпанемент Вудстокского и Альтамонтского рок-фестивалей, разговоров об инциденте на острове Чаппакиддик[549], протестов против войны во Вьетнаме, осуждения Чарльза Мэнсона и суда над «чикагской восьмеркой»[550], были завершены три исторических проекта, каждый из которых занял почти десять лет. НАСА удалось отправить человека на Луну. Инженерам из Силиконовой долины удалось найти способ разместить программируемый компьютер на небольшой тонкой пластинке, названной микропроцессором. А в ARPA создали сеть, способную связать два удаленных компьютера. И только первое из них (возможно, наименее исторически значимое?) попало на первые полосы газет.
Интернет
ARPANET — это еще все же не интернет, а просто одна из сетей. В течение нескольких лет появились и другие сети с коммутацией пакетов, сходные с ARPANET, но не связанные друг с другом. Например, инженерам PARC, исследовательского центра компании Xerox в Пало-Альто, требовалась локальная сеть, которая связала бы рабочие станции центра, мощные компьютеры с большими мониторами, оборудованные ими в начале семидесятых. Боб Меткалф, недавно защитивший диссертацию в Гарварде, понял, как с помощью коаксиального кабеля (примерно так, как его используют в кабельных телевизионных сетях) создать систему с высокой пропускной способностью, которую он назвал Ethernet. Образцом для нее стала сделанная на Гавайях беспроводная сеть, известная как ALOHAnet. Эта сеть передавала пакеты данных в дециметровом диапазоне частот и через каналы спутниковой связи. Кроме того, в Сан-Франциско была пакетная радиосеть, известная как PRNET, а также спутниковая ее версия, известная как SATNET. Несмотря на сходство всех сетей с коммутацией пакетов, они не были совместимы и не могли обмениваться информацией.
В начале 1973 года Роберт Кан решил это исправить. Он считал, что должен быть способ, позволяющий всем сетям взаимодействовать друг с другом. И Кан намеревался этого добиться. Он оставил BBN, где помогал разрабатывать маршрутизаторы, чтобы стать в ARPA руководителем проекта в отделе методов обработки данных. До этого Кан занимался сетями ARPANET, а затем и PRNET. Он задался целью разработать метод, который позволил бы объединить эти и другие пакетные сети в единую систему, которую он с коллегами стал называть internetwork — «межсеть». Через какое-то время слово чуть сократили, и получилось internet — интернет.
К этому предприятию Кан подключил Винта Серфа, закадычного друга Стива Крокера, с которым они вместе составляли RFC и разрабатывали протоколы для ARPANET. Серф вырос в Лос-Анджелесе, где его отец работал в компании, производившей двигатели для космической программы Apollo. Как и Гордон Мур, мальчиком Серф любил играть с химическими наборами, бывшими в те дни притягательно опасными. «У нас были такие реагенты, как порошкообразные магний и алюминий, сера, глицерин и перманганат калия, — вспоминает Серф. — Если их все смешать, вспыхивало пламя». В пятом классе на уроках математики мальчику было скучно, поэтому преподаватель дал ему учебник алгебры для седьмого класса. «Целое лето я потратил на решение задач из этого учебника. Я хотел решить их все до одной. Само слово „задача“ мне нравилось. Задачи были небольшими загадочными историями. Надо было вычислить, кто такой x, и мне всегда было любопытно узнать, чем же x окажется». Еще он очень увлекся научной фантастикой, особенно ему нравились рассказы Роберта Хайнлайна. Тогда же началась длившаяся всю жизнь любовь к Джону Рональду Руэлу Толкину, трилогию которого «Властелин колец» он перечитывал почти каждый год[551].
Серф родился недоношенным. С этим были связаны его проблемы со слухом, и с тринадцати лет он был вынужден пользоваться слуховым аппаратом. Примерно в это же время он стал ходить в школу с портфелем, в пиджаке и галстуке. «Я хотел отличаться от всех, выглядеть по-другому, хотел, чтобы меня заметили. А это был очень действенный способ, лучше, чем носить в носу кольцо, с чем, как я понимал, в конце пятидесятых мой отец уж совсем не смирился бы»[552].
С Крокером они стали лучшими друзьями в последних классах школы. Выходные они проводили вместе, занимаясь всякими научными проектами и играя в трехмерные шахматы. Серф закончил Стэнфорд, два года провел в IBM, а затем перешел в Калифорнийский университет в Лос-Анджелесе, где работал над диссертацией в группе Клейнрока. Здесь он встретился с Бобом Каном. Они оставались близки и после того, как Кан перешел на работу в BBN, а затем в ARPA.
Весной 1973 года, приступив к работе над internetwork, Кан приехал к Серфу. Он описал ему все сети с коммутацией пакетов, появившиеся в дополнение к ARPANET. «Как бы нам прицепить друг к другу эти разнородные пакетные сети?» — спросил Кан. Задача была сложной, и Серф с Каном с энтузиазмом на три месяца погрузились в работу, которая привела к созданию интернета. «Мы немедленно этим занялись, — рассказывал Кан позднее. — Винт из тех ребят, кому нравится, закатав рукава, сказать: „Поехали“. Думаю, для него это как глоток чистого воздуха»[553].
Они начали с организации встречи в Стэнфорде в июне 1973 года, чтобы выяснить, есть ли у кого-нибудь интересные идеи. Результатом такой стратегии сотрудничества, заметил позднее Серф, стало «появление открытых протоколов, к которым каждый имеет возможность в любое время приложить руку»[554]. Но большую часть работы выполнили именно эти двое: Кан и Серф. Они, прячась ото всех, интенсивно работали в Rickeys Hyatt House в Пало-Альто или в отеле вблизи аэропорта Даллеса в Вашингтоне. Кан вспоминает: «Винту нравилось, встав утром, начинать день с изображения этих паукообразных деталей. Часто, когда у нас возникали словесные баталии, он говорил: „Позволь мне изобразить это на рисунке“»[555].
Однажды в октябре 1973 года в холле отеля в Сан-Франциско Серф схематично набросал их решение. Он изобразил разные сети, такие как ARPANET and PRNET, каждая из которых была связана с большим числом рабочих компьютеров, и сеть компьютеров-«шлюзов», которые должны были перенаправлять пакеты от одной сети к другой. Наконец, проведя вместе субботу и воскресенье в офисе ARPA вблизи Вашингтона, фактически бодрствуя две ночи, они закончили дело триумфальным завтраком в ближайшем отеле Marriott.
Они отказались от идеи сохранения за каждой из сетей своих собственных протоколов, хотя так было труднее убедить других согласиться с их предложениями. Им был нужен общий протокол. Это позволит новой «межсети», internetwork, быстро разрастаться, поскольку любой компьютер или сеть, где используют новый протокол, смогут встроиться в нее без дополнительной транслирующей системы. Трафик между ARPANET и любой другой сетью должен быть плавным, без перерывов. Поэтому Серф и Кан решили, что каждый компьютер должен применять один и тот же метод и шаблон для адресации пакетов. Представить себе это можно так: везде в мире каждая отправляемая по почте открытка обязана иметь четыре адресные строки, где с помощью латинского алфавита указывается номер дома, улица, город и страна.
Результатом стал межсетевой протокол (интернет-протокол — IP), указывающий, как в заголовке пакета отметить место его назначения и помочь ему попасть туда, двигаясь по сети. Затем следовал протокол более высокого уровня — протокол управления передачей (Transmission Control Protocol — TCP), инструктировавший, как собрать вместе пакеты в правильном порядке, проверить, не потерялось ли что-нибудь, и потребовать повторной пересылки информации, если что-то не сработало. Вместе это получило название TCP/IP-протокол. Кан и Серф опубликовали свои результаты в статье, называвшейся «Протокол для взаимосвязи пакетной сети». Родился интернет.
В 1989 году, в двадцатую годовщину появления ARPANET, Клейнрок, Серф и еще многие, с самого начала участвовавшие в построении сети, собрались в Калифорнийском университете в Лос-Анджелесе, в том месте, где был установлен первый ее узел. Были стихи, песни и эпиграммы, написанные в честь этого события. Серф исполнил пародию на Шекспира «Розенкранц и Ethernet», где гамлетовский вопрос был связан с выбором между коммутацией пакетов и выделенными каналами связи:
Весь мир есть сеть, все данные — пакеты,
У каждого свой выход и уход
В порядке очередности,
Затем забвенье…