Что такое CDN: как устроена и кому нужна сеть доставки контента

Oscar Nord / UNSPLASH

Content Delivery Network (CDN) влияет на вашу жизнь в сети больше, чем вы подозреваете. Вы можете оценить ее влияние при загрузке любого контента на сайте и приложениях: аудио, видео, стриминг, изображения, тексты, графика. CDN помогает быстро доносить контент для пользователя, что важно во многих сферах. Например, из-за долгой загрузки страницы интернет-магазина клиент уйдет к конкурентам, а если сайт медиа долго загружается, то читатель выберет другое интернет-СМИ.

В материале вместе со специалистами ITGLOBAL.COM рассказываем про устройство CDN и его важность для бизнеса и пользователей.

Что такое CDN

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

Сеть доставки контента имеет свои серверы в максимальном количестве географических точек. За счет распределенной сети CDN-серверов расстояние между исходным сервером и пользователем не влияет на скорость передачи данных. 

История CDN 

Компания Akamai запустила первую CDN в 1998 году, методы которой служат основой для современных сетей доставки контента. CDN первого поколения были ориентированы на статический контент: ПО, изображения, архивы.

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

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

Принципы работы CDN

Архитектура CDN включает в себя:

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

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

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

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

Главная функция экранирующего сервера — разгрузить сервер-источник от всплесков трафика, он проксирует запросы, добавляя еще один уровень защиты.

Механизмы CDN

Существует несколько механизмов, благодаря которым работает CDN:

  • правило кэширования — определяет, как долго контент остается в кэше на пограничном уровне;
  • время жизни (Time to Live, TTL) — временной период кэширования на пограничном узле до нового извлечения данных из сервера-источника;
  • очистка — механизм и процесс очистки контента на точках присутствия;
  • ограничение — правило, регулирующее доступ к содержимому из кэша, например, разрешение запросов только из определенных географических или доменных зон.

Типы контента 

Контент, обрабатываемый CDN, делится на два типа.

Статический контент — файлы на сервере, которые не меняются во время загрузки: HTML-файлы, изображения, видео. 

Динамический контент — данные, которые меняются в зависимости от пользователя. На динамический контент влияет пол, история просмотра, время сеанса, местоположение, устройство пользователя и другие факторы.

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

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

Инструменты CDN 

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

GeoDNS — инструмент основан на алгоритме преобразования IP-адреса в геокоординаты. После поступившего запроса DNS-сервер определяет местоположение пользователя по IP-адресу и находит ближайшую точку присутствия. 

Anycast — инструмент работает с протоколом BGP, по которому передается информация о соседних сетях и расстоянии до них. По функциям Anycast аналогичен GeoDNS.

Какие задачи решает CDN 

На производительность веб-сайта или приложения влияет много факторов: DNS и настройки хост-сервера, качество и оптимизация кода, а также расстояние между веб-сервером и местоположением пользователей — эту проблему решает CDN.

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

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

Если в архитектуре функционирует несколько исходных серверов, CDN работает как инструмент балансировки нагрузки, распределяя входящие запросы. Балансировка помогает справиться с перегрузкой трафика и оптимизирует мощности серверов.

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

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

CDN обеспечивает шифрование трафика. Использование шифрования SSL/TLS повышает безопасность. CDN шифрует трафик, когда он проходит через пограничные серверы, что особенно важно, если у сайта нет собственного SSL-сертификата.

Кому нужен CDN 

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

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

Текущее положение CDN на рынке 

CDN — неотъемлемая часть современной интернет-архитектуры. Сети доставки контента родились из необходимости поддерживать эффективную работу веб-сайтов и служат этой цели по сей день.

С каждым годом набирает популярность «тяжелый» контент: соцсети обрастают дополнительными функциями, а стриминговые аудио- и видеосервисы приобретают все большую массовость.

Исследование, проведенное компанией Portent в 2022 году, показало, что даже небольшое увеличение скорости загрузки страниц оказывает значительное влияние на коэффициент конверсии:

  • время загрузки в 1 секунду приводит к повышению конверсии на 40%;
  • загрузка страницы за 1 секунду имеет в 3 раза более высокий коэффициент конверсии, чем загрузка за 5 секунд;
  • страница с загрузкой за 10 секунд имеет в 10 раз меньший коэффициент конверсии, чем та, которая загружается за 1 секунду.

Основные термины

В небольшом глоссарии напомним основные термины CDN.

Content Delivery Network (CDN) — сеть доставки контента, распределенная сетевая архитектура, созданная для ускорения доставки контента пользователям. 

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

Пограничный узел или точка присутствия — географически распределенный локальный сервер. Пограничные узлы доставляют кэшированный контент пользователям.

Статический контент — файлы на сервере, которые не меняются во время загрузки. Например, HTML-файлы, изображения, видео. 

Динамический контент — данные, которые меняются в зависимости от пользователя. На динамический контент влияет пол, история просмотра, время сеанса, местоположение, устройство пользователя и другие факторы.

Заключение

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

ITGLOBAL.COM размещает CDN-серверы в 5 странах в трех частях света: Казахстан, Россия, Нидерланды, США и Канада. При использовании CDN время отклика веб-сервера редко превышает 10 мс, что позволяет максимально быстро доставлять контент всем пользователям интернета. CDN — необходимая часть инфраструктуры для любого проекта с большой аудиторией.

Полный текст статьи читайте на Компьютерра