Будущее №13, июнь 2020

Новые коммуникационные технологии

Фото аватара
Джефф Хьюстон

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

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

Но изменения – дело трудное, и мы несколько десятилетий пытались вернуться к старой модели сетевого сервиса. Мы изо всех сил старались сохранить ответ на запрос услуги в сети, увязав его с обработкой пакетов. Авторы некоторых подходов к качеству обслуживания (Quality of Service, QoS) пытались реализовать различное сетевое поведение для разных классов пакетных потоков в рамках одной и той же сетевой платформы. До сих пор некоторые технологии, такие как MPLS или варианты маршрутизации от источника, внешне эмулируют виртуальные. Прошлое не отпускает, и попытки возродить принципы коммутации каналов в пакетной сети до сих пор не прекращаются. Однако я бы не стал считать эти технологии новыми: мне они кажутся скорее шагом назад.

В то же время мы достигли невероятного прогресса в других аспектах сетевых технологий. Мы строим географически распределенные отказоустойчивые системы, которые обходятся без централизованного управления и контроля. Любой, кто изучает протокол междоменной маршрутизации BGP, который уже три десятилетия незаметно поддерживает Интернет, не может не изумиться дизайном, созданным с очевидным даром предвидения, распределенной системы, управляющей сетью на девять порядков величины больше сети начала 1990-х годов, для которой она была изначально разработана. Мы создали сеть нового типа: открытую и доступную. Создание новых приложений в телефонной сети было практически невозможно, а в Интернете именно это происходит все время. Весь мир сетевых технологий, от многообразия приложений
до самых основ цифровой передачи данных, находится в непрерывном движении, а новые технологии появляются с ошеломляющей скоростью.

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

Оптическая когерентность

Оптика долго не могла шагнуть дальше уровня обыкновенного электрического фонарика: либо в кабеле горит свет, либо он там не горит. Такой примитивный подход к оптическому кодированию, получивший название OOK (англ. on-off keying – включение-выключение), непрерывно дорабатывался и улучшался, пока не дорос до поддержки скоростей до 10 Гбит/с в оптике – но дальше инженеры уперлись в, казалось бы, непреодолимые ограничения применимости наших цифровых сигнальных процессов. Теперь мы обратились к принципам оптической когерентности, и здесь нас ждала вторая волна инноваций. Использование оптической когерентности само по себе далеко не ново – и уже сослужило нам отличную службу в других областях. Мы настроили аналоговые модемы для основной полосы частот голосовой связи так, что они стали выдавать 56 кбит/с на несущей частоте 3 кГц. А в мире радио аналогичный подход позволил
системам 4G поддерживать скорости передачи данных вплоть до 200 Мбит/с.

В основе этого подхода лежит использование фазово-амплитудной модуляции для того, чтобы выжать из оптики максимум, вплотную приблизившись к теоретическому пределу Шеннона. Сейчас на рынке обычным делом стали оптические системы с пропускной способностью 100 Гбит на длину волны, уже появляются и 400-гигабитные. Очень вероятно, что в ближайшие годы мы увидим и терабитные системы, использующие фазово-амплитудную модуляцию высокой плотности в сочетании с индивидуально настроенной цифровой обработкой сигналов. И, как было и с другими оптическими системами, цены на единицу пропускной способности войдут в глубокое пике по мере наращивания объемов. Нынешний мир богат ресурсами связи, и через призму этого богатства открывается новый, зачастую неожиданный взгляд на сетевые архитектуры.

5G

А что можно сказать о радиосвязи? 5G, например, новая технология или нет? Лично я придерживаюсь мнения, что 5G не так уж и сильно отличается от 4G. Та действительно была новаторской, потому что потребовала перехода от PPP-туннелей к собственной, непосредственной пересылке пакетов IP. А 5G – это та же самая 4G,только на более высоких частотах. В первых системах 5G используются несущие частоты 3,8 ГГц, но планируется охватить и миллиметровый диапазон с частотами до 24 ГГц, до 84 ГГц. Это неоднозначная перспектива, так как, с одной стороны, увеличение несущей частоты позволит выделять большие блоки частот (а следовательно, повысить пропускную способность радиосети), но, с другой стороны, высокая частота означает малую длину волны, а миллиметровый диапазон по своим характеристикам ближе к свету, чем к радио. На высоких частотах радиосигнал все время блокируется зданиями, стенами, деревьями и другими крупными предметами, создающими тень. В результате для достижения такого же качества покрытия требуется гораздо больше базовых станций. Если отвлечься от рекламных обещаний, неясно, есть ли для 5G-миллиметрового диапазона выгодная экономическая модель.

Поэтому я не стану включать 5G в свой список. Радио и мобильные сервисы были и останутся чрезвычайно важным аспектом Интернета, но 5G не представляет собой какого-то радикального прогресса в плане использования этих систем за пределами того, на что способна уже укоренившаяся технология 4G.

IPv6

Как-то даже неловко причислять IPv6 к «новым технологиям» в 2020 году. Первая спецификация IPv6 – RFC1883 – датируется 1995 годом, то есть самой технологии уже 25 лет. Но похоже, что спустя много лет нерешительности и даже отрицания проблем возможности IPv4 практически исчерпаны, а потому на сегодняшний момент IPv6 используется в четверти Интернета. Эта доля неизбежно будет увеличиваться. Трудно сказать, сколько времени это займет, но конечный результат, по сути, однозначен. Поэтому если говорить о «новом» в том плане, какие технологии будут широко внедряться в последующие годы, IPv6 точно следует отнести к этой категории, несмотря на почтенный возраст!

BBR

Разработанный Google алгоритм BBR (Bottleneck Bandwidth and Round-trip time) для TCP представляет собой революционный алгоритм управления. Он переосмысливает взаимосвязь между оконечными устройствами, сетевыми буферами и скоростью, позволяя оконечным системам эффективно использовать доступную пропускную способность сети, не испытывая негативного влияния внутренней буферизации в активных сетевых элементах. Алгоритмы контроля перегрузки на базе потерь сослужили нам хорошую службу в прошлом, но теперь, когда скорости передачи данных из конца в конец приближаются к сотням гигабит в секунду, консервативные алгоритмы контроля на основе потерь перестали быть практичными. BBR представляет собой совершенно новый подход и к управлению потоком, и к управлению скоростью: он пытается стабилизировать скорость потока на одном и том же уровне для большей части доступной пропускной способности сети. Это совершенно потрясающая технология.

QUIC

Сети и приложения с давних пор находятся в состоянии своеобразной холодной войны между собой. В мире, где повсеместно применяется сквозной контроль перегрузки TCP, сетевые ресурсы совместно используются несколькими активными клиентами, причем способ такого использования определяют сами клиенты. Для сетевых операторов это всегда было настоящим проклятием: они бы предпочли активно управлять ресурсами своих сетей и предоставлять клиентам четко определенный сервис. Для этой цели в сетях имеются разнообразные ограничители скорости на основе политик. Работают они так: по «сигнатуре» заголовка пакета определяется создавшее его приложение, и дальше политика определяет, как с пакетом поступить. Для этого требуется прозрачность содержимого каждого пакета IP, которая как раз предусмотрена в TCP.

QUIC – это форма инкапсуляции, в которой используется видимая внешняя оболочка пакета UDP, а внутренняя полезная нагрузка – TCP и контент – шифруется. При таком подходе параметры управления потоком TCP оказываются скрыты от сети и сетевых ограничителей, работающих на основе политик, но это еще не все: управление алгоритмом потока данных отбирается у общей операционной системы хоста и передается каждому отдельному приложению. Приложение получает больший контроль, а потому может независимо развиваться и корректировать свое поведение независимо от платформы.

Кроме того, устраняется необходимость в единообразной и равно неудобной для всех модели управления потоком данных, которая используется в платформенных TCP-приложениях операционных систем. При использовании QUIC приложение само может настраивать свои способы управления потоком так, чтобы оптимизировать поведение приложения в рамках текущего состояния сетевого пути.

DNS без резолверов

Я хотел было написать «DNS поверх HTTPS» (DoH), но не уверен, что DoH является такой уж новой технологией, поэтому сомневаюсь, что ее можно сюда отнести. Мы использовали HTTPS в качестве технологии для туннелирования брандмауэров и обеспечения приватности коммуникации практически с тех пор, когда появились брандмауэры и опасения слежки. Программные инструменты для туннелирования пакетов IP в сеансы HTTPS широко распространены и используются уже пару десятилетий, так что здесь ничего особенно нового нет. Инкапсуляция DNS внутри HTTPs – лишь незначительное развитие модели, в которой HTTPS используется для туннелирования всего.

В то же время сам HTTPS дает нам ряд дополнительных возможностей, которые недоступны старому доброму DNS поверх TLS (части HTTPS, которая отвечает за создание безопасного канала). Я говорю о технологиях отправки данных по инициативе сервера (англ. server push) в веб. Например, веб-страница может ссылаться на кастомную страницу стиля, чтобы определить, как должно выглядеть ее визуальное оформление. Вместо того чтобы заставить клиента запросить страницу стиля отдельно, т.е. выполнить еще одно преобразование DNS и установить еще одно соединение, сервер может просто отправить этот ресурс клиенту вместе с использующей его страницей. Для HTTP запросы и ответы DNS выглядят точно так же, как любые другие транзакции с объектами данных, так что с точки зрения HTTP отправка ответа DNS без предваряющего его запроса DNS по тому же принципу мало чем отличается, скажем, от отправки таблицы стилей.

Однако для архитектуры имен в Интернете такое новшество значит очень, очень много. Дело вот в чем: вдруг имена, которые так пересылаются по HTTPS, были доступны только в контексте данной конкретной веб-среды и недоступны для любых других инструментов, включая обычные запросы DNS? Интернет можно определить как единое, взаимосвязанное и внутренне непротиворечивое пространство имен. При общении мы отправляем друг другу ссылки на ресурсы, например, их имена, и это возможно только в случае, если данное конкретное имя для меня и для вас означает один и тот же ресурс. Результат преобразования DNS остается тем же самым, независимо от того, какое приложение его запрашивает, в каком контексте и зачем. Но когда контент отправляет преобразованные имена клиентам, это делается просто для создания собственного контекста и среды, которые будут уникальными, т.е. отличаться от любого другого контекста имен. Вместо одного непротиворечивого пространства имен возникает множество фрагментированных и, возможно, перекрывающихся пространств, и нет никакого четкого способа разрулить потенциальные конфликты имен.

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

Квантовые сети

В 1936 году, задолго до появления первых программируемых компьютеров современного типа, один британский математик (Алан Тьюринг, Alan Turing – прим. ред.) описал в качестве мысленного эксперимента универсальную вычислительную машину – и, что еще важнее, подразделил задачи на вычислимые (для которых решения можно достичь за конечное время) и невычислимые (при решении которых машина никогда не остановится). Так что можно сказать, что еще до появления первого физического компьютера было известно о существовании целого класса задач, решить которые на компьютере невозможно. В 1994 году аналогичный прорыв совершил Питер Шор (Peter Shor), разработав алгоритм разложения числа на простые множители за конечное время для квантового компьютера, который тогда был еще теоретической абстракцией. Возможности (и ограничения) этой новой машины для обработки данных были описаны задолго до того, как ее удалось построить. Сейчас квантовые компьютеры стали реальностью – новой и потенциально революционной технологией в компьютерном мире.

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

Эволюция архитектуры

Почему техническая эволюция все никак не остановится? Почему мы все никак не можем сказать: «Все, ребята, дело сделано, пошли выпьем!» Мне кажется, что постоянное стремление модифицировать технические платформы Интернета происходит от эволюции архитектуры самого Интернета.

Первоначальная модель Интернета, по сути, была предназначена для того, чтобы соединять клиентов с сервисами. Теперь же можно построить архитектуру, в которой любой сервис может поддерживать выделенную сеть доступа, и клиенту потребуется подключиться к нужной сети, чтобы получить доступ к нужной услуге. Правда, мы уже попробовали эту модель в небольшом масштабе в 80-е годы прошлого века, и она повергла всех в ужас! Поэтому мы стали использовать Интернет как универсальную сеть для соединения всех клиентов со всеми сервисами. До тех пор, пока все сервисы и все серверы подключены к этой общей сети, клиент, подключившись к ней, получает доступ к ним ко всем. В 90-х годах это был революционный шаг, но с тех пор число пользователей непрерывно росло и в конце концов переросло возможности серверной модели. Ситуация стала нестабильной. Популярные сервисы стали в каком-то смысле похожи на черные дыры в сети. Нам остро требовалось другое решение, и мы изобрели сети доставки контента (англ. content distribution networks, CDN). CDN использует выделенные сети для того, чтобы развернуть несколько равноправных точек доставки своих услуг по всему Интернету. Вместо того чтобы обращаться к любому сервису по единой глобальной сети, клиенту требуется всего лишь подключиться к сети доступа, которая «доведет» его до локальной агрегированной точки доступа CDN. Чем больше мы пользуемся локально доступными сервисами, тем меньше мы используем глобальную сеть.

Что это означает для технологий?

В результате ослабевает мотивация поддерживать Интернет единым и связным. Если большая часть цифровых сервисов для пользователей доступна в чисто локальной структуре, то кто же будет платить огромные деньги за глобальный транзит для доступа к крошечному рудименту оставшихся сервисов, доступных только удаленно? Нужен ли локальным сервисам доступ к уникальным инфраструктурным элементам глобальной сети? NAT – экстремальный пример того, что чисто локальные сервисы вполне функциональны при работе с чисто локальными адресами, и широкое использование локальных имен – еще одно этому доказательство. Я бы не стал прямо делать вывод, что рост популярности сетей доставки контента приведет к фрагментации Интернета, но фрагментация по самой своей сути подобна такому физическому явлению, как энтропия. А значит, нужны постоянные усилия, чтобы противостоять фрагментации. Если ослабить бдительность, если не прикладывать постоянные усилия к поддержанию единой глобальной системы уникальных идентификаторов, мы начнем двигаться в сторону сетей, которые смогут работать лишь локально.

Здесь проявляется еще одна тенденция: рост масштаба изоляции сервисов в приложениях. Примером может служить первый сценарий применения QUIC. QUIC использовался исключительно браузером Google Chrome при доступе к веб-серверам Google. Функции транспортного протокола, обычно являющиеся частью общего сервиса для приложений операционной системы, были перемещены в приложение. Старые концепции проектирования, которые предусматривают использование общего набора функций операционной системы вместо спроектированных на заказ функциональных возможностей приложений, больше не применяются. Развертывая более мощные оконечные системы и более быстрые сети, мы можем создавать приложения с высокой степенью кастомизации. Уже сейчас браузеры реализуют множество функций, которые раньше были доступны лишь операционным системам, а теперь по тому же пути пошли многие приложения. Дело не просто в желании более тонкого контроля над взаимодействием с конечным пользователем, хотя это тоже важное обстоятельство – дело еще и в том, что каждое приложение закрывает свое поведение и взаимодействие с пользователем от других приложений, от операционной системы хоста и от сети. Если теперь предположить, что деньги, которые вкладываются в развитие Интернета, – это деньги, получаемые из знания привычек и желаний конечного пользователя (а в случае Google, Amazon, Facebook, Netflix и многих других это чистая правда), то какой смысл этим приложениям раскрывать свою информацию третьим сторонам? На смену приложениям, опирающимся на богатый набор сервисов операционной системы и сети, приходит новая технологическая модель, которую можно характеризовать как «приложения-параноики». Такие приложения-параноики не только стремятся свести к минимуму зависимость от внешних ресурсов – они стараются как можно лучше замаскировать свое собственное поведение.

Источник: The ISP Column – www.potaroo.net

Жизнь – это непрерывное изменение

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