Краткая история протокольных сетей
Осенью 1969 года американские военные запустили первую версию интернета – ARPANET, названную в честь Агентства перспективных исследовательских проектов Министерства обороны США (ARPA – Department of Defense’s Advanced Research Projects Agency)[38].
В последующие несколько десятилетий развитие интернета происходило под руководством широкого сообщества исследователей и разработчиков. Эти теоретики и практики принесли с собой традицию открытого доступа. Они верили в свободный обмен идеями, равные возможности и меритократию. По их мнению, контроль должен принадлежать людям, которые пользуются услугами интернета (их так и назвали – пользователями). Структура и управление первых исследовательских сообществ, консультативных и оперативных групп воплощали в себе эти ранние демократические идеалы.
И в начале 1990-х, когда интернет вышел из-под крыла правительственных и научных кругов к мейнстримным пользователям, он взял с собой эту культуру. К Сети присоединялось все больше людей, и они наследовали этот эгалитарный дух. Киберпространство было действительно открытым. Как писал в 1996 году в своей «Декларации независимости киберпространства» Джон Перри Барлоу, поэт-активист, а иногда и автор текстов группы Grateful Dead, «мы создаем мир, в который каждый может войти без каких-либо привилегий или предубеждений, обусловленных расой, экономическим положением, военной силой или местом рождения»[39]. Словом, интернет олицетворял свободу и новое начало.
Тот же дух пропитывал и саму технологию. интернет зиждился на публичных протоколах, которые представляли собой набор правил для компьютеров – участников сетей. В древности «протоколами» (от греч. prōtokollon) называли «первый лист тома», часто с оглавлением. Со временем это слово стало означать перечень «дипломатических условностей», а позже, уже в ХХ веке, – «технические стандарты для программного обеспечения». Этот последний, высокотехнологический, контекст широко распространился с появлением ARPANET, ведь протоколы – доступные и открытые для всех – легли в основу развития интернета.
Воспринимайте их как аналоги естественных языков, скажем, английского или суахили. Они позволяют компьютерам взаимодействовать друг c другом. Если вы станете говорить как-то иначе, есть шанс, что другие люди вас не поймут. Выражаясь техническим языком, вы прекратите взаимодействие с ними. А еще, имея достаточное влияние, вы можете изменить то, как говорят другие, ведь диалекты способны превращаться в новые языки, но только если к вашему сообществу присоединятся новые участники. Словом, для нормального функционирования и протоколов, и языков требуется консенсус.
Протоколы лежат слоями друг на друге и в итоге – на вычислительных устройствах, образуя так называемый стек[40]. Компьютерщику полезно знать все слои стека, как и нюансы между ними. Известная модель OSI (Open Systems Interconnection – модель взаимодействия открытых систем) идентифицирует семь слоев. Для нашего обсуждения достаточно представить себе три слоя. Самый нижний состоит из аппаратного обеспечения: серверов, ПК, смартфонов, подключенных к интернету устройств, таких как телевизоры и видеокамеры, а также сетевого оборудования, которое все это объединяет. Другие слои строятся на этом фундаменте.
Сразу поверх физического уровня идет сетевой, известный как интернет-протокол, или IP (internet protocol)[41]. Он определяет форматирование, адресацию и маршрутизацию пакетов информации между узлами первого уровня. Данный стандарт был разработан в 1970-х Винтоном Серфом и Робертом Каном, исследователями той же лаборатории, в которой создали ARPANET. (Позже ее переименовали в DARPA; она также участвовала в изобретении таких футуристических технологий, как транспорт-невидимка и GPS.)[42]. Сеть официально завершила внедрение интернет-протокола 1 января 1983 года; большинство людей считают эту дату днем рождения интернета.
![Читай, пиши, управляй: блокчейн как новая эра интернета - i_001.jpg](/BookBinary/920407/1729017245/i_001.jpg/0)
Далее, над интернет-уровнем, находится уровень приложений, названный так потому, что именно здесь к сети подключаются пользовательские приложения. В основном он определяется двумя протоколами, первый из них – электронная почта. Протокол, управляющий ею, называется Simple Mail Transfer Protocol, или SMTP[43]. Джон Постел, исследователь из Университета Южной Калифорнии, создал его для стандартизации электронной почты в 1981 году, мощно поспособствовав ее широкому распространению. Как рассказывают Кэти Хафнер и Мэтью Лайон в своей истории интернета, книге «Там, где волшебники не спят допоздна» (Where Wizards Stay Up Late): «Точно так же, как пластинку первоначально изобрели для меломанов и аудиофилов, но потом она породила целую индустрию, электронная почта до поры до времени росла и крепла в ARPANET в среде элитного сообщества ученых-компьютерщиков, а потом расцвела, заполонив собой, словно планктон, весь интернет»[44].
Второй протокол, на почве которого тоже расцвели многие приложения, – Веб, или протокол передачи гипертекста, он же HTTP (hypertext transfer protocol). Британский ученый Тим Бернерс-Ли изобрел его – а также язык разметки гипертекста, или HTML (hypertext markup language), – для форматирования и рендеринга сайтов в 1989 году, когда работал в швейцарской физической лаборатории CERN. (Обратите внимание: люди часто используют понятия «интернет» и «Веб» как взаимозаменяемые, но это разные сети: первая соединяет устройства, а вторая связывает страницы.)
Благодаря простоте, универсальности и открытости электронная почта и Веб были приняты на ура. После создания этих протоколов программисты кодифицировали их в почтовые клиенты и браузеры, многие с открытым исходным кодом. В результате любой желающий мог загрузить такой клиент (сегодня большинство людей назвали бы это приложением) и присоединиться к сети. Клиенты базируются на протоколах и позволяют пользователям получать доступ к лежащим в их основе сетям и участвовать в их работе. Они похожи на порталы, или шлюзы, открывающие путь к сетям с протоколами.
Люди взаимодействуют с протоколами через клиенты. Например, Веб начал становиться массовым только после того, как в 1993 году дебютировал один из таких клиентов – удобный для пользователей браузер Mosaic[45]. Сегодня самыми популярными считаются проприетарные браузеры, такие как Google Chrome, Apple Safari и Microsoft Edge, а самыми популярными почтовыми клиентами – Gmail (проприетарный, размещенный на серверах Google) и Microsoft Outlook (загружаемый на локальные компьютеры). Широкий спектр ПО, как проприетарного, так и с открытым исходным кодом, также остается доступным для работы веб-серверов и серверов электронной почты.
Коммуникационная система, легшая в основу интернета, проектировалась как децентрализованная и благодаря этому достаточно устойчивая и надежная, чтобы пережить ядерный удар. Она трактовала все узлы как равноправные и в результате могла бы продолжать функционировать даже после уничтожения некоторых ее частей. Электронная почта и Веб унаследовали эту философию. Все узлы в них «одноранговые»; ни один не имеет никаких преимуществ перед остальными.
Протокольная сеть
Однако один компонент интернета спроектировали иначе. Он контролировал специальную функцию: присвоение имен.