Сеть доставки контента - Content delivery network

(Слева) Распределение на один сервер
(Справа) Схема распределения CDN

Сеть доставки контента , или содержание распределительной сеть ( CDN ), является географически распределенной сетью прокси - серверов и их центров обработки данных . Цель состоит в том, чтобы обеспечить высокую доступность и производительность за счет пространственного распределения службы по отношению к конечным пользователям . Сети CDN появились в конце 1990-х как средство устранения узких мест в производительности Интернета, поскольку Интернет начинал становиться критически важной средой для людей и предприятий. С тех пор сети CDN выросли и сегодня обслуживают большую часть интернет-контента, включая веб-объекты (текст, графику и сценарии), загружаемые объекты (мультимедийные файлы, программное обеспечение, документы), приложения ( электронная коммерция , порталы ), потоковая передача в реальном времени. медиа, потоковые медиа по запросу и сайты социальных сетей .

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

CDN - это общий термин, охватывающий различные типы услуг доставки контента: потоковая передача видео , загрузка программного обеспечения, ускорение веб- и мобильного контента, лицензируемая / управляемая CDN, прозрачное кэширование и услуги для измерения производительности CDN, балансировки нагрузки , коммутации Multi CDN, аналитики и облака. интеллект. Поставщики CDN могут перейти в другие отрасли, такие как безопасность, с защитой от DDoS и межсетевыми экранами веб-приложений (WAF) и оптимизацией WAN.

Технология

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

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

Большинство провайдеров CDN будут предоставлять свои услуги через изменяющийся, определенный набор точек присутствия, в зависимости от желаемого покрытия, например США, международный или глобальный, Азиатско-Тихоокеанский регион и т. Д. Эти наборы точек присутствия можно назвать «границами», граничные узлы »,« пограничные серверы »или« пограничные сети », поскольку они будут ближайшей границей активов CDN для конечного пользователя.

Безопасность и конфиденциальность

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

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

Методы сетевого контента

Интернет был разработан по принципу end-to-end . Этот принцип сохраняет базовую сеть относительно простой и перемещает интеллект в максимально возможной степени к конечным точкам сети: хостам и клиентам. В результате базовая сеть специализирована, упрощена и оптимизирована только для пересылки пакетов данных.

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

Веб-кеши хранят популярный контент на серверах, которые имеют наибольший спрос на запрашиваемый контент. Эти совместно используемые сетевые устройства снижают требования к пропускной способности, уменьшают нагрузку на сервер и улучшают время отклика клиента на контент, хранящийся в кэше. Веб-кеши заполняются на основе запросов от пользователей (опрашивающее кэширование) или на основе предварительно загруженного контента, распространяемого с серверов контента (push-кеширование).

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

Кластер контента или сервисный узел может быть сформирован с использованием переключателя уровня 4–7 для балансировки нагрузки между несколькими серверами или несколькими веб-кэшами в сети.

Маршрутизация запросов направляет клиентские запросы к источнику контента, который лучше всего может их обслужить. Это может включать направление клиентского запроса на сервисный узел, ближайший к клиенту, или на тот, который имеет наибольшую пропускную способность. Для маршрутизации запроса используются различные алгоритмы. К ним относятся глобальная балансировка нагрузки на сервер, маршрутизация запросов на основе DNS, создание динамических метафайлов, перезапись HTML и anycasting . Близость - выбор ближайшего обслуживающего узла - оценивается с помощью различных методов, включая реактивное зондирование, упреждающее зондирование и мониторинг соединения.

Сети CDN используют различные методы доставки контента, включая, помимо прочего, ручное копирование ресурсов, активные веб-кеши и глобальные аппаратные балансировщики нагрузки.

Протоколы обслуживания контента

Несколько наборов протоколов предназначены для обеспечения доступа к широкому спектру служб содержимого, распределенных по сети содержимого. Протокол адаптации интернет-контента (ICAP) был разработан в конце 1990-х годов для обеспечения открытого стандарта для подключения серверов приложений. Недавно определенное и надежное решение предоставляется протоколом Open Pluggable Edge Services (OPES). Эта архитектура определяет служебные приложения OPES, которые могут находиться на самом процессоре OPES или выполняться удаленно на сервере вызовов. Edge Side Includes или ESI - это небольшой язык разметки для сборки динамического веб-контента на уровне края. Веб-сайты довольно часто создают контент. Это может быть из-за изменения контента, такого как каталоги или форумы, или из-за персонализации. Это создает проблему для систем кэширования. Чтобы преодолеть эту проблему, группа компаний создала ESI.

Одноранговые CDN

В одноранговых (P2P) сетях доставки контента клиенты предоставляют ресурсы, а также используют их. Это означает, что в отличие от систем клиент-сервер , сети, ориентированные на контент, могут работать лучше, поскольку все больше пользователей начинают получать доступ к контенту (особенно с такими протоколами, как Bittorrent, которые требуют от пользователей совместного использования). Это свойство является одним из основных преимуществ использования сетей P2P, поскольку оно снижает затраты на установку и эксплуатацию для исходного распространителя контента.

Частные CDN

Если владельцев контента не устраивают варианты или стоимость коммерческой услуги CDN, они могут создать свой собственный CDN. Это называется частным CDN. Частный CDN состоит из PoP (точек присутствия), которые обслуживают контент только своего владельца. Эти PoP могут быть кэширующими серверами, обратными прокси-серверами или контроллерами доставки приложений. Это может быть как два кэширующих сервера, так и достаточно большой, чтобы обслуживать петабайты контента.

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

CDN тенденции

Появление телекоммуникационных сетей CDN

Быстрый рост потокового видеотрафика требует больших капитальных затрат со стороны провайдеров широкополосной связи, чтобы удовлетворить этот спрос и удержать подписчиков за счет предоставления достаточно хорошего качества обслуживания .

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

Преимущества Telco CDN

Поскольку они владеют сетями, по которым передается видеоконтент, телекоммуникационные CDN имеют преимущества перед традиционными CDN.

Им принадлежит последняя миля, и они могут доставлять контент ближе к конечному пользователю, поскольку его можно кэшировать глубоко в их сетях. Такое глубокое кэширование сводит к минимуму расстояние, на которое видеоданные проходят через Интернет, и доставляет их быстрее и надежнее.

Телекоммуникационные сети CDN также имеют встроенное ценовое преимущество, поскольку традиционные сети CDN должны арендовать у них полосу пропускания и встраивать маржу оператора в свою собственную модель затрат.

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

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

Федеративные CDN

В июне 2011 года StreamingMedia.com сообщил, что группа TSP основала Operator Carrier Exchange (OCX) для объединения своих сетей и более прямой конкуренции с крупными традиционными CDN, такими как Akamai и Limelight Networks , которые имеют обширные точки присутствия по всему миру. Таким образом, телекоммуникационные компании создают предложение Федеративной CDN, которое более интересно для поставщика контента, желающего доставлять свой контент агрегированной аудитории этой федерации.

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

Повышение производительности CDN с помощью опции EDNS0

Задержка (RTT), испытываемая клиентами с нелокальными преобразователями («высокая»), резко сократилась, когда CDN развернула расширение EDNS0 в апреле 2014 года, в то время как задержка клиентов с локальными преобразователями не повлияла на изменение («низкая» ).

Традиционно сети CDN использовали IP-адрес рекурсивного DNS-преобразователя клиента для определения местоположения клиента. Хотя это разумный подход во многих ситуациях, это приводит к снижению производительности клиента, если клиент использует нелокальный рекурсивный преобразователь DNS, который находится далеко. Например, CDN может направлять запросы от клиента в Индии на свой пограничный сервер в Сингапуре, если этот клиент использует общедоступный преобразователь DNS в Сингапуре, что приводит к снижению производительности этого клиента. Действительно, недавнее исследование показало, что во многих странах, где широко используются общедоступные преобразователи DNS, среднее расстояние между клиентами и их рекурсивными преобразователями DNS может достигать тысячи миль. В августе 2011 года глобальный консорциум ведущих интернет-провайдеров во главе с Google объявил об официальной реализации проекта edns-client-subnet IETF Internet-Draft, который предназначен для точной локализации ответов на разрешение DNS. В инициативе участвует ограниченное количество ведущих поставщиков услуг DNS, таких как Google Public DNS , а также поставщики услуг CDN. С EDNS-клиент-подсеть EDNS0 вариантом , CDNs теперь может использовать IP - адрес подсети запрашивающего клиента при решении запросов DNS. Этот подход, называемый сопоставлением конечного пользователя, был принят сетями CDN, и было показано, что он значительно сокращает задержки двустороннего обращения и повышает производительность для клиентов, которые используют общедоступные DNS или другие нелокальные преобразователи. Однако использование EDNS0 также имеет недостатки, так как снижает эффективность разрешений кэширования в рекурсивных преобразователях, увеличивает общий трафик разрешения DNS и вызывает проблему конфиденциальности при раскрытии подсети клиента.

Виртуальный CDN (vCDN)

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

Оптимизация и доставка изображений (CDN изображений)

В 2017 году Адди Османи из Google начала называть программные решения, которые могут естественным образом интегрироваться с парадигмой адаптивного веб-дизайна (с особым упором на элемент <picture>), как Image CDN . Выражение относится к способности веб-архитектуры обслуживать несколько версий одного и того же изображения через HTTP, в зависимости от свойств запрашивающего его браузера, что определяется либо браузером, либо логикой на стороне сервера. По мнению Google, цель CDN изображений заключалась в том, чтобы предоставлять высококачественные изображения (или, что лучше, изображения, воспринимаемые человеческим глазом как высококачественные), сохраняя при этом скорость загрузки, тем самым способствуя удобству взаимодействия с пользователем (UX).

Возможно, термин Image CDN изначально был неправильным, поскольку ни Cloudinary, ни Imgix (примеры, приведенные Google в руководстве Адди Османи за 2017 год) не были в то время CDN в классическом смысле этого слова. Однако вскоре после этого несколько компаний предложили решения, которые позволили разработчикам обслуживать разные версии своих графических ресурсов в соответствии с несколькими стратегиями. Многие из этих решений были созданы на основе традиционных сетей CDN, таких как Akamai , CloudFront , Fastly , Verizon Digital Media Services и Cloudflare . В то же время другие решения, которые уже предоставляли услугу множественного обслуживания изображений, присоединились к определению Image CDN, либо предлагая функциональность CDN изначально (ImageEngine), либо интегрируя с одной из существующих CDN (Cloudinary / Akamai, Imgix / Fastly).

Хотя предоставление универсально согласованного определения того, что такое Image CDN, может оказаться невозможным, в целом, Image CDN поддерживает следующие три компонента:

  • Сеть доставки контента (CDN) для быстрого обслуживания изображений.
  • Манипулирование изображениями и их оптимизация, либо «на лету» с помощью директив URL , либо в пакетном режиме (путем загрузки изображений вручную), либо в полностью автоматическом режиме (или их комбинации).
  • Обнаружение устройства (также известное как Device Intelligence), то есть способность определять свойства запрашивающего браузера и / или устройства посредством анализа строки User-Agent , заголовков HTTP Accept, Client-Hints или JavaScript .

В следующей таблице обобщена текущая ситуация с основными программными CDN в этом пространстве:

Основные изображения CDN на рынке
Имя CDN Оптимизация изображения Обнаружение устройства
Akamai ImageManager Y Пакетный режим на основе заголовка HTTP Accept
Cloudflare Польский Y полностью автоматический на основе заголовка HTTP Accept
Cloudinary Через Акамай Пакетные, URL-директивы Заголовок принятия, подсказки клиента
Быстрый ввод-вывод Y Директивы URL на основе заголовка HTTP Accept
ImageEngine Y полностью автоматический WURFL , Client-Hints, Accept заголовок
Imgix Быстро полностью автоматический Принять заголовок / подсказки клиента
PageCDN Y Директивы URL на основе заголовка HTTP Accept

Известные поставщики услуг доставки контента

Бесплатные CDN

Традиционные коммерческие CDN

Telco CDN

Коммерческие CDN, использующие P2P для доставки

Мульти CDN

Собственный CDN

Смотрите также

использованная литература

дальнейшее чтение