Введение
Слой в интернет-экосистеме, решающий проблемы пропускной способности
Сеть доставки контента или сеть распространения контента (CDN) — это географически распределенная сеть прокси-серверов и их центров обработки данных. Цель состоит в обеспечении высокой доступности и производительности за счет пространственного распределения сервиса относительно конечных пользователей. CDN появились в конце 1990-х годов как способ устранения узких мест в Интернете, поскольку Интернет становился критически важной средой для людей и предприятий. С тех пор CDN стали обслуживать значительную часть интернет-контента, включая веб-объекты (текст, графику и скрипты), загружаемые объекты (медиафайлы, программное обеспечение, документы), приложения (электронная коммерция, порталы), прямые трансляции, потоковое видео по запросу и социальные сети. CDN — это слой в экосистеме Интернета. Владельцы контента, такие как медиакомпании и поставщики электронной коммерции, платят операторам CDN за доставку их контента конечным пользователям. В свою очередь, CDN платит интернет-провайдерам (ISP), операторам связи и сетевым операторам за размещение своих серверов в их центрах обработки данных. CDN — это общий термин, охватывающий различные типы услуг доставки контента: потоковое видео, загрузку программного обеспечения, ускорение веб- и мобильного контента, лицензированный/управляемый CDN, прозрачное кэширование, а также сервисы для измерения производительности CDN, балансировки нагрузки, переключения между несколькими CDN, аналитики и облачной аналитики. Поставщики CDN могут расширять свою деятельность на другие отрасли, такие как безопасность, защита от DDoS-атак, межсетевые экраны веб-приложений (WAF) и оптимизация WAN.
Технология
Узлы CDN обычно развертываются в нескольких местах, часто через различные магистральные сети Интернет. Преимущества включают снижение затрат на пропускную способность, ускорение загрузки страниц и повышение глобальной доступности контента. Количество узлов и серверов, составляющих CDN, варьируется в зависимости от архитектуры: некоторые сети насчитывают тысячи узлов с десятками тысяч серверов в многочисленных удаленных точках присутствия (PoP). Другие создают глобальную сеть, используя небольшое количество географических PoP. Запросы на контент обычно направляются алгоритмически на узлы, оптимальные по тем или иным параметрам. При оптимизации производительности выбираются местоположения, наилучшим образом подходящие для обслуживания контента пользователю. Это может определяться минимальным количеством переходов, наименьшей задержкой в сетевых секундах до запрашивающего клиента или максимальной доступностью с точки зрения производительности сервера (как текущей, так и исторической) для оптимизации доставки через локальные сети. При оптимизации стоимости выбираются наиболее экономичные местоположения. В оптимальном сценарии эти две цели часто совпадают, поскольку граничные серверы, расположенные близко к конечному пользователю на периферии сети, могут иметь преимущество в производительности или стоимости. Большинство провайдеров CDN предоставляют свои услуги через определенный набор PoP, зависящий от необходимого охвата, например, США, международный, глобальный, Азиатско-Тихоокеанский регион и т.д. Эти наборы PoP могут называться «краями», «граничными узлами», «граничными серверами» или «граничными сетями», поскольку они представляют собой ближайшую к конечному пользователю часть ресурсов CDN.
Безопасность и конфиденциальность
Провайдеры CDN получают прибыль либо от прямых платежей поставщиков контента за использование их сети, либо от аналитики пользовательских данных и данных отслеживания, собираемых при загрузке их скриптов на веб-сайты клиентов в браузере пользователя. В связи с этим эти сервисы рассматриваются как потенциальные нарушения конфиденциальности в целях поведенческого таргетинга, и разрабатываются решения для восстановления обслуживания и кэширования ресурсов из единого источника. В частности, веб-сайт, использующий CDN, может нарушать Общий регламент ЕС о защите данных (GDPR). Например, в 2021 году немецкий суд запретил использование CDN на веб-сайте университета, поскольку это приводило к передаче IP-адреса пользователя в CDN, что являлось нарушением GDPR. CDN, доставляющие JavaScript, также стали целью для внедрения вредоносного контента на страницы, использующие их. Механизм проверки целостности подресурсов был создан для обеспечения загрузки скрипта с известным и ограниченным содержимым, соответствующим хэшу, указанному автором веб-сайта.
Методы сетевого контента
Интернет был разработан в соответствии с принципом «от конца до конца». Этот принцип позволяет сохранять основную сеть относительно простой и перемещать вычислительные возможности как можно ближе к конечным точкам сети: хостам и клиентам. В результате основная сеть специализируется, упрощается и оптимизируется исключительно для пересылки пакетов данных. Сети доставки контента (CDN) расширяют возможности транспортной сети, размещая на ней различные интеллектуальные приложения, использующие методы, предназначенные для оптимизации доставки контента. Получающаяся тесно интегрированная надстройка использует веб-кэширование, балансировку нагрузки сервера, маршрутизацию запросов и контент-сервисы. Веб-кэши хранят популярный контент на серверах, которые наиболее востребованы для запрошенного контента. Эти общие сетевые устройства снижают требования к полосе пропускания, уменьшают нагрузку на сервер и повышают скорость отклика для контента, хранящегося в кэше. Веб-кэши заполняются на основе запросов пользователей (pull caching) или предварительно загруженного контента, распространяемого с контент-серверов (push caching). Балансировка нагрузки сервера использует один или несколько методов, включая сервисную (глобальную балансировку нагрузки) или аппаратную (например, коммутаторы уровня 4–7, также известные как веб-коммутаторы, контент-коммутаторы или многоуровневые коммутаторы), для распределения трафика между несколькими серверами или веб-кэшами. Коммутатору присваивается один виртуальный IP-адрес. Трафик, поступающий на коммутатор, затем направляется на один из реальных веб-серверов, подключенных к нему. Это позволяет балансировать нагрузку, увеличивать общую производительность, повышать масштабируемость и обеспечивать повышенную надежность за счет перераспределения нагрузки с отказавшего веб-сервера и проверки его работоспособности. Кластер контента или узел обслуживания может быть сформирован с использованием коммутатора уровня 4–7 для балансировки нагрузки между несколькими серверами или веб-кэшами в сети. Маршрутизация запросов направляет запросы клиента к источнику контента, который наилучшим образом может их обработать. Это может включать направление запроса клиента к узлу обслуживания, ближайшему к клиенту, или к узлу с наибольшей пропускной способностью. Для маршрутизации запросов используются различные алгоритмы, включая глобальную балансировку нагрузки сервера, маршрутизацию запросов на основе DNS, динамическое создание метафайлов, переписывание HTML и anycast. Оценка близости – выбор ближайшего узла обслуживания – выполняется с использованием различных методов, включая реактивное зондирование, проактивное зондирование и мониторинг соединений. для обеспечения открытого стандарта подключения серверов приложений. Более современное и надежное решение предоставляет протокол Open Pluggable Edge Services (OPES). Эта архитектура определяет сервисные приложения OPES, которые могут размещаться непосредственно на процессоре OPES или выполняться удаленно на сервере Callout. Edge Side Includes (ESI) – это небольшой язык разметки для динамической сборки веб-контента на уровне сети. Часто веб-сайты генерируют контент, например, каталоги или форумы, или из-за персонализации. Это создает проблему для систем кэширования. Для решения этой проблемы группа компаний разработала ESI.
Пир-ту-пир CDN
В одноранговых сетях доставки контента (P2P) клиенты не только используют ресурсы, но и предоставляют их. Это означает, что, в отличие от клиент-серверных систем, контент-ориентированные сети могут работать эффективнее по мере увеличения числа пользователей, обращающихся к контенту (особенно при использовании протоколов, таких как Bittorrent, которые требуют от пользователей обмена данными). Это свойство – одно из ключевых преимуществ P2P-сетей, поскольку оно значительно снижает затраты на развертывание и эксплуатацию для первоначального распространителя контента.
Частные CDN
Если владельцы контента не удовлетворены возможностями или стоимостью коммерческой CDN-услуги, они могут создать свою собственную CDN. Это называется частной CDN. Частная CDN состоит из точек присутствия (PoP), которые обслуживают контент исключительно для своего владельца. Эти PoP могут быть кэширующими серверами, обратными прокси или контроллерами доставки приложений. Это может быть так же просто, как два кэширующих сервера.
Крупные сети доставки контента могут даже создавать и настраивать свою собственную частную сеть для распространения копий контента по местам кэширования. Такие частные сети обычно используются совместно с публичными сетями в качестве резервного варианта, если пропускной способности частной сети недостаточно или произошел сбой, приводящий к ее снижению. Поскольку один и тот же контент необходимо распространять по множеству мест, для снижения потребления полосы пропускания могут применяться различные методы многоадресной рассылки (мультикастинга). В частных сетях также предлагается выбирать деревья многоадресной рассылки в зависимости от текущей нагрузки на сеть, чтобы более эффективно использовать доступную сетевую пропускную способность.
Появление CDN для телекоммуникационных компаний
Быстрый рост трафика потокового видео требует значительных капитальных вложений от провайдеров широкополосного доступа для удовлетворения этого спроса и удержания подписчиков, обеспечивая достаточно высокое качество пользовательского опыта. Чтобы решить эту проблему, операторы телекоммуникационных услуг начали развертывать собственные сети доставки контента, чтобы снизить нагрузку на магистральную сеть и сократить инвестиции в инфраструктуру.
Преимущества CDN Telco
Поскольку они владеют сетями, по которым передается видеоконтент, CDN телекоммуникационных компаний обладают преимуществами перед традиционными CDN. Они владеют "последней милей" и могут доставлять контент ближе к конечному пользователю, так как он может быть кэширован глубоко в их сетях. Такое глубокое кэширование минимизирует расстояние, которое видеоданные проходят по общему Интернету, обеспечивая более быструю и надежную доставку. CDN телекоммуникационных компаний также имеют встроенное преимущество в стоимости, поскольку традиционным CDN необходимо арендовать пропускную способность у них, включая в свою модель ценообразования маржу оператора. Кроме того, за счет эксплуатации собственной инфраструктуры доставки контента, операторы связи получают лучший контроль над использованием своих ресурсов. Операции управления контентом, выполняемые CDN, обычно реализуются без (или с очень ограниченной) информации о сети (например, топологии, загруженности и т.д.) операторов связи, с которыми они взаимодействуют или поддерживают деловые отношения. Это создает ряд проблем для операторов связи, которые имеют ограниченные возможности для влияния на использование своих ресурсов в результате этих операций. В отличие от этого, развертывание CDN телекоммуникационными компаниями позволяет операторам самостоятельно реализовывать операции управления контентом, что обеспечивает лучший контроль над использованием ресурсов и, следовательно, более высокое качество обслуживания и пользовательский опыт.
Федеративные CDN и открытое кэширование
В июне 2011 года StreamingMedia.com сообщил, что группа операторов связи (TSP) основала Operator Carrier Exchange (OCX) для объединения своих сетей и более прямой конкуренции с крупными традиционными CDN, такими как Akamai и Limelight Networks, имеющими обширную сеть точек присутствия (PoP) по всему миру. Таким образом, операторы связи создают федеративную CDN, что более привлекательно для поставщика контента, желающего доставлять свой контент объединенной аудитории этой федерации. Вероятно, в ближайшем будущем будут созданы другие федерации CDN операторов связи. Они будут расширяться за счет присоединения новых операторов связи, добавляющих сетевое присутствие и свою базу интернет-подписчиков к существующим. Спецификация Open Caching от Streaming Media Alliance определяет набор API, позволяющий поставщику контента доставлять свой контент через несколько CDN единообразным способом, воспринимая каждого провайдера CDN одинаково через эти API.
Улучшение производительности CDN с использованием механизмов расширения для DNS
[[Файл:Влияние на ежедневное среднее время кругового обхода на карту конечного пользователя.pdf|thumb|Задержка (RTT), испытываемая клиентами с нелокальными резольверами ("высокая"), резко снизилась, когда CDN внедрила расширение EDNS0 в апреле 2014 года, в то время как задержка клиентов с локальными резольверами не изменилась ("низкая"). Исследования показали, что во многих странах, где широко используются публичные DNS-резольверы, медианное расстояние между клиентами и их рекурсивными DNS-резольверами может достигать тысячи миль. В августе 2011 года глобальный консорциум ведущих интернет-провайдеров во главе с Google объявил об официальной реализации черновика IETF Internet Draft edns client subnet, предназначенного для точной локализации ответов DNS. В инициативе участвует ограниченное число ведущих поставщиков DNS-услуг, таких как Google Public DNS, а также поставщики CDN-услуг. С помощью опции EDNS0 подсети клиента edns, CDN теперь могут использовать IP-адрес подсети запрашивающего клиента при разрешении DNS-запросов. Этот подход называется "картографированием конечных пользователей".