Благодаря простоте, универсальности и открытости электронная почта и Веб были приняты на ура. После создания этих протоколов программисты кодифицировали их в почтовые клиенты и браузеры, многие с открытым исходным кодом. В результате любой желающий мог загрузить такой клиент (сегодня большинство людей назвали бы это приложением) и присоединиться к сети. Клиенты базируются на протоколах и позволяют пользователям получать доступ к лежащим в их основе сетям и участвовать в их работе. Они похожи на порталы, или шлюзы, открывающие путь к сетям с протоколами.

Люди взаимодействуют с протоколами через клиенты. Например, Веб начал становиться массовым только после того, как в 1993 году дебютировал один из таких клиентов – удобный для пользователей браузер Mosaic[45]. Сегодня самыми популярными считаются проприетарные браузеры, такие как Google Chrome, Apple Safari и Microsoft Edge, а самыми популярными почтовыми клиентами – Gmail (проприетарный, размещенный на серверах Google) и Microsoft Outlook (загружаемый на локальные компьютеры). Широкий спектр ПО, как проприетарного, так и с открытым исходным кодом, также остается доступным для работы веб-серверов и серверов электронной почты.

Коммуникационная система, легшая в основу интернета, проектировалась как децентрализованная и благодаря этому достаточно устойчивая и надежная, чтобы пережить ядерный удар. Она трактовала все узлы как равноправные и в результате могла бы продолжать функционировать даже после уничтожения некоторых ее частей. Электронная почта и Веб унаследовали эту философию. Все узлы в них «одноранговые»; ни один не имеет никаких преимуществ перед остальными.

Протокольная сеть

Однако один компонент интернета спроектировали иначе. Он контролировал специальную функцию: присвоение имен.

Это обязательное требование для любой сети. Имена – базовые виды аватаров, важнейших компонентов для построения сообществ. В Twitter меня, например, зовут @cdixon, а мой сайт называется cdixon.org. Эти удобные и понятные имена облегчают другим людям задачу найти меня и связаться со мной. Если кто-то хочет на меня подписаться, добавить меня в друзья или прислать мне что-нибудь, он легко делает это по ссылке на одно из моих имен.

У машин тоже есть имена. В интернете компьютеры знают друг друга под так называемыми адресами интернет-протокола – наборами чисел, которые трудно запомнить человеку, но не машине. Представьте, что вам нужно набирать многозначное число для каждой веб-страницы, которую вы хотите посетить. Пролистываете «Википедию»? Вводите 198.35.26.96. Ищете видео на YouTube? Набирайте 208.65.153.238. Человеческой памяти не обойтись без каталогов, подобных спискам контактов в телефонах.

Одна организация на протяжении 1970–1980-х вела официальный интернет-каталог[46]. Сетевой информационный центр Стэнфордского исследовательского института собрал все адреса в один файл HOSTS.TXT, который постоянно обновлялся и распространялся по всей Сети. Каждый раз, когда менялся какой-то адрес или к Сети присоединялся очередной узел (что случалось часто), всем приходилось обновлять файл хостов. Сеть быстро росла, и со временем эта задача стала крайне сложной. Людям нужна была менее громоздкая система, способная служить единым источником истины.

Ею стала система доменных имен, или DNS (domain name system)[47]. Пол Мокапетрис, американский ученый-компьютерщик, предложил это решение в 1983 году[48]. Технически оно было сложным, но легшая в его основу идея отличалась удивительной простотой: преобразовать доменные имена, удобные для человеческого восприятия, в IP-адреса физического компьютера. Система эта была иерархической, но при этом распределенной. На верхнем уровне определенная совокупность международных институтов: правительственных организаций, университетов, компаний, некоммерческих организаций и т. д., – управляла набором из тринадцати корневых серверов, и по сей день являющихся высшими арбитрами системы.