К книге
Критическое мышление. Как думать под давлениемИгры вероятного. Всеобщий язык Интернета
12%
Игры вероятного. Всеобщий язык Интернета
11

Разберем механику доставки потокового видео между Интернетом и его пользователями. Здесь нас особенно интересует полное отсутствие письменности в непосредственно необходимом пользователю контексте и процессе коммуникации. Раз уж мы можем не отвлекаться на пользовательскую письменность, попутно рассмотрим подробности того, что здесь должно быть написано и реализовано на языках программирования и с точки зрения прочих технических стандартов и спецификаций.

На уровне Network Access реализуется абстрактный интерфейс доступа к сети. Абстрактность здесь выражается в том, что подключение узла доступа к провайдеру Интернета с одной стороны и к пользовательскому устройству с другой определено стандартом, допускающим разнообразные фактические реализации. Как именно реализовано подключение, не важно, если соблюдается стандарт. Подключение будет работать до тех пор, пока верны стандартизованные форматы сигналов, проходящих через узел доступа в обоих направлениях.

К провайдеру мы можем подключаться по беспроводному спутниковому каналу или через мобильную сеть, с помощью оптоволоконного или любого другого подходящего кабеля. Даже если бы мы подключались через проводную телефонную сеть, это все бы работало примерно одинаково, разве что значительно медленнее. Сейчас, правда, найти проводную телефонную сеть, по которой можно подключиться к Интернету, пожалуй, почти невозможно, зато это так и остается удачным фрагментом иллюстрации принципа абстракции.

В мобильных телефонах узел доступа физически находится внутри устройства, поэтому использование мобильных телефонов в качестве Wi-Fi роутеров – распространенная практика. Также широко используются выделенные Wi-Fi роутеры, раздающие беспроводной доступ в сравнительно небольшом радиусе своего действия. В некоторых помещениях, впрочем, проводное подключение пользовательских устройств к роутерам может быть более целесообразным, если сложность и неудобство прокладки проводной сети компенсируется необходимым улучшением качества и скорости соединения.

Для протоколов уровня Network Access все эти различия одинаково приемлемы. При соблюдении требований протокола подключения к Сети мы можем пользоваться любыми техническими средствами любых видов, производителей и моделей. Унифицированные коммуникационные протоколы обеспечивают возможность гибкости фактических технических решений.

На уровне Internet фактическое местонахождение запрашиваемого сервера и физическая последовательность передачи и ретрансляции сигнала до него не имеет никакого значения. Есть только его IP-адрес (IP от Internet Protocol), с которого он может отправлять и на который он может получать пакеты данных, так называемые датаграммы (datagrams).

На транспортном уровне сначала устанавливается двухстороннее соединение между сервером и клиентом (так чаще всего называется пользовательское устройство). Затем вся передаваемая информация, независимо от объема, формата, содержания, темпа передачи и прочих, не относящихся к самому протоколу передачи свойств, будет сопровождена технической информацией для контроля корректности передачи и обработки ошибок. Затем целевая информация, дополненная техническими данными, будет упакована в подходящие установленному соединению датаграммы и передана с адреса отправителя на адрес получателя. Для установления безопасного соединения используется асимметричное шифрование, для передачи данных по уже установленному соединению – симметричное. Это обеспечивает криптографическую защиту передаваемых данных – далеко не абсолютную, но вполне достаточную для того, чтобы попытки взлома были нецелесообразно дорогими и долгими.

На уровне приложения сервер по запросу клиента генерирует веб-страницу на языке разметки гипертекста (HTML, HyperText Markup Language), к которому прикреплены каскадные стилевые таблицы (CSS, Cascade Style Sheets) и исполняемый в браузере клиента код на языке JavaScript. Сгенерированная веб-страница по протоколу передачи гипертекста (HTTP(S), HyperText Transfer Protocol (Secure)) передается на транспортный уровень, упаковывается в датаграммы, отправляется по IP-адресу на узел доступа клиента, который, в свою очередь, пересылает полученные данные непосредственно на пользовательское устройство. Оно, в свою очередь, по полученному описанию строит пользовательский интерфейс, настраивает дополнительное получение данных с сервера, буферизацию больших объемов данных и запускает запрошенное пользователем видео.

То есть, человек включил гаджет, ткнул в значок приложения, и уже через доли секунды может и смотреть, и транслировать видео со своего устройства. И там дальше – шортсы, рилсы, видеоинструкции, видеоуроки, видеогайды, песни, пляски, жесты, язык тела, все сразу понятно, в общем, и интересно очень. Или вовсе что-то про животных, собакенов, например, или котеечек, или видеосамодеятельность «лидеров мнений» каких, или еще что-нибудь. Как оказалось, видов человеческой деятельности, не связанных с письменностью, довольно много, вот прямо до обидного даже.

А вот с изнанки подытожим примерно: HTML, CSS, JavaScript – языки, понятные браузерам. Добавим сюда же модный, хотя и кривоватый пока WebAssembly. Еще здесь необходимо все многообразие языков программирования, на которых могут быть реализованы серверы приложений, возвращающие понятный браузерам код. Стек знакомых нам протоколов Интернета: HTTPS, TCP/IP, и далее еще с десяток более фрагментарных, которые здесь не упоминались. Разве что стоит выделить еще систему серверов доменных имен (DNS, Domain Name Server), позволяющую находить сайты в Интернете по человеко-понятным именам (помним, что технически IP-адреса состоят только из цифр, весьма человеко-неудобных).

Сочтем раскрытой идею кода – глубинной технической письменности, скрытой от массового пользователя, но критически необходимой для поддержания информационного и коммуникационного качества его жизни.

Предыдущая главаГлава 11 из 92Следующая глава