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

CDN (Content Delivery Network, сеть доставки контента) — это распределённая сеть серверов для передачи данных большому количеству пользователей через расположенные близко к ним точки присутствия. Она кэширует копии контента на собственных серверах, за счёт этого сокращает задержку и повышает доступность ресурсов.

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

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

Организовать доставку такого объёма данных сложно, но очень важно:

  • 40–57% пользователей уходят с сайта, если он грузится дольше 3-х секунд;
  • от 60% до 80% из них больше не вернутся на этот сайт;
  • задержка загрузки сайта всего в 1 секунду снижает посещаемость на 25–30%, а в 100 миллисекунд — конверсию на величину до 7%;
  • более 50% покупателей в интернет-магазинах говорят, что скорость загрузки сайта влияет на их лояльность;
  • Яндекс и Google учитывают её при ранжировании результатов поиска.

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

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

Коротко о главном

CDN (Content Delivery Network) — распределённая сеть кэширующих серверов, которые хранят копии контента и отдают их пользователям через ближайшую или оптимально расположенную точку присутствия. Благодаря этому мы почти не замечаем разницы в скорости отклика, даже если сам ресурс физически развёрнут в другой стране.

CDN — инфраструктура доставки, но не полноценная защита от DDoS. Он он не анализирует бизнес-логику, не отличает ботов от людей и уязвим к обходу через незакрытые DNS-записи. Для надёжной защиты требуется связка CDN + специализированный antiDDoS-сервис + WAF. 

Как работает CDN

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

В классической модели пользователь обращается напрямую к origin-серверу, который хранит и отдаёт ему запрашиваемый контент: тексты, изображения, музыку, видео и т. д. CDN представляет собой сеть кэширующих серверов, которые называются точками присутствия (point of presence, PoP) или пограничными серверами (edge). На них хранятся кэшированные копии объектов, полученных с origin-сервера. В первую очередь кэшируется статический контент, ведь, как правило, он самый «тяжёлый» и с его доставкой возникает больше всего проблем.

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

Схема работы CDN: запрос пользователя маршрутизируется к подходящей точке присутствия.

Однако на серверы CDN переносится не весь ресурс целиком. Чаще всего с ближайшего edge-сервера отдаются статические данные: изображения, видео, файлы, элементы кода CSS и JavaScript. При этом во время первого обращения пользователя из нового региона, когда копия на конкретном edge-сервере ещё не создана, происходит «промах кэша» (cache miss) — узел CDN запрашивает статику с origin-сервера, передает её пользователю и сохраняет копию у себя для последующих запросов. Сам же origin-сервер на постоянной основе обрабатывает только динамический контент, который генерируется под конкретные запросы: авторизацию, корзину, запросы к базе данных и динамическую бизнес-логику. 

Разберём на примере CDN для сайта, как это выглядит:

  1. Пользователь запрашивает сайт турагентства + туры в Анталью из Москвы. 
  2. При запросе пользователя CDN сначала определяет ближайший или сетевой оптимальный edge-сервер и отправляет запрос туда. Для этого могут использоваться два метода маршрутизации: GeoDNS, когда DNS-сервер возвращает разные IP-адреса в зависимости от географического расположения клиента, или Anycast, при котором несколько распределённых серверов используют один и тот же IP-адрес, а маршрут выбирается на основе BGP-протокола.
  3. Выбранный edge-сервер проверяет свой локальный кэш. Если нашёл нужные данные в кэшированном виде, то отдаёт пользователю. Если нет (например, сервер хранит контент только общей страницы с турами в Турцию без разбивки по городам), то обращается к origin-серверу.
  4. Сервер-источник отдаёт ресурс CDN.
  5. Тот сохраняет контент в кэше и при последующих запросах будет отдавать страницу с турами в Анталью уже непосредственно с edge-сервера. 
  6. Если же пользователь захочет оформить тур на сайте, при авторизации и оформлении заказа узел CDN распознает динамические HTTP-запросы (авторизация, покупка, POST-запросы) и беспрепятственно пропускает их через себя на origin-сервер. 

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

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

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

Для чего нужен CDN:

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

Кому нужен CDN

В первую очередь высоконагруженным ресурсам с широким охватом аудитории, включая:

  • интернет-магазины;
  • новостные и медиапорталы;
  • корпоративные сайты;
  • игровые сервисы;
  • стриминговые платформы;
  • международные сайты;
  • SaaS-сервисы (Software as a Service, модель предоставления программного обеспечения как услуги, когда приложения и данные хранятся на удалённых серверах, а пользователи получают к ним онлайн-доступ); 
  • веб-приложения;
  • библиотеки всевозможного контента, в том числе CDN нужен для видеосервисов; 
  • сайты с большим объёмом статического контента.

CDN имеет смысл рассматривать, если:

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

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

Почему CDN недостаточно для защиты от DDoS

Сеть доставки контента изначально создана для ускорения загрузки, но её архитектура попутно снижает и риски при DDoS-атаках. Работает это за счёт нескольких механизмов:

  • трафик сначала попадает на распределённую инфраструктуру CDN, а origin-сервер остаётся скрыт за этим промежуточным слоем; 
  • кэширование позволяет обслуживать часть запросов прямо с edge-серверов, не обращаясь к origin, то есть запросы к кэшированным объектам до него не доходят;
  • распределённая сеть способна «размазать» и погасить куда больший объём трафика, чем одиночный сервер, что особенно помогает против объёмных атак на уровнях L3-L4 сетевой модели OSI. 

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

Злоумышленники могут воспользоваться уязвимостями CDN:

  1. Динамический контент и API (программный интерфейс, который позволяет взаимодействовать разным сервисам и программам). CDN эффективно кэширует статические элементы (CSS, JS, изображения, HTML), но динамические запросы и API-эндпоинты кэшируются минимально или вовсе не кэшируются, а значит, весь трафик по ним идёт прямо на сервер — и именно эти точки становятся мишенью. 
  2. Неустойчивость к сложным L7-атакам, где боты имитируют поведение реальных пользователей. Само по себе кэширование CDN не позволяет отличать легитимные запросы от вредоносных на уровне бизнес-логики. Например, не определит, массовый запрос цены товара — это боты или живые покупатели? 
  3. IP сервера может остаться незащищённым из-за незакрытых DNS-записей или обходных путей. Тогда злоумышленники бьют напрямую, минуя CDN, и эффективность защиты падает до нуля. 
  4. Гарантии CDN по SLA обычно касаются доступности и отсутствия задержек при доставке, но не блокировки мощной атаки, детекции аномалий или времени включения защиты. Если атака превышает лимиты SLA, CDN может начать пропускать трафик к origin-серверу или физически выйти из строя.  
  5. Сложность настройки. Для отражения атак через CDN нужно грамотно прописать DNS-записи, фильтры и правила кэширования, а при нестандартных конфигурациях многое приходится настраивать вручную.

Подробнее: Защищает ли CDN от DDoS?

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

AntiDDoS-сервис анализирует поведенческие аномалии, обнаруживает и фильтрует атаки на всех уровнях модели OSI L3-L7, в том числе сложные и многовекторные. Он может взаимодействовать с CDN разными способами, включая BGP-маршрутизацию, GRE-туннели, обратные прокси, DNS, очищает трафик даже после его прохождения через сеть доставки контента. 

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

Удобнее всего, когда все сервисы предоставляет один провайдер, и StormWall предлагает именно такую связку. Трафик проходит через глобальную сеть фильтрации компании из 10 точек присутствия общей ёмкостью более 8 Тбит/с, где очищается на всех уровнях — от L3 до L7. 

IP origin-сервера остаётся скрытым, а вредоносный трафик отфильтровывается до того, как достигает инфраструктуры. То есть закрываются ровно те бреши, которые CDN оставляет открытыми.

Проверьте нашу защиту в действии

Организуем бесплатный тест или пилот по вашему запросу

Написать

Как выбрать провайдера и настроить CDN

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

На что обращать внимание при выборе:

  • соотнесите точки присутствия с географией аудитории вашего сайта. К примеру, если значительная доля ваших пользователей проживает в Сибири, а у провайдера нет узлов в этом регионе, лучше поискать другого;
  • оцените пропускную способность сети, а также наличие стыков с операторами связи. Как правило, у крупных компаний с охватом федерального уровня таких стыков больше, чем у небольших игроков;
  • проверьте настройки кэширования: можно ли задавать правила для разных типов файлов, URL-адресов или на основе HTTP-заголовков, какие механизмы очистки кэша используются, есть ли инструменты для предзагрузки востребованных файлов в кэш. Дополнительный бонус — кэширование не только статического, но и динамического контента. Возможно, сегодня вам это не требуется, но в дальнейшем такая услуга может оказаться очень полезной;
  • изучите отзывы клиентов. Лучше всего искать их не на официальных сайтах, а на сторонних площадках: в СМИ, на специализированных форумах и в независимых обзорах;
  • убедитесь, что провайдер поддерживает актуальные протоколы и стандарты: HTTP/2 и HTTP/3 (QUIC), IPv6, SSL-сертификаты;
  • уточните, какой механизм используется для направления пользователей на ближайший сервер. При GeoDNS выбор точки обычно основан на географической информации, связанной с IP-адресом DNS-резолвера, поэтому результат не всегда точно соответствует местоположению конечного пользователя. При AnyCast один IP-адрес анонсируется одновременно из всех точек присутствия, и сетевое оборудование автоматически направляет запрос на ближайший узел. Это обеспечивает высокую отказоустойчивость;
  • проверьте соответствие архитектуры законодательству, включая требования 152-ФЗ по обработке и трансграничной передаче персональных данных; 
  • уточните, как работает техподдержка: время реакции, доступные каналы связи (тикет-система, телефон, чат), входит ли она в стоимость тарифа или оплачивается отдельно;
  • выберите тарифный план. Распространённые модели оплаты — по факту потреблённого трафика (Pay-As-You-Go), ежемесячная подписка с включённым объёмом трафика или индивидуальный тариф;
  • узнайте условия SLA — уровня доступности с финансовыми гарантиями. Одни провайдеры публикуют показатели открыто, другие раскрывают только в договоре. 

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

Ответы на частые вопросы

Что такое CDN простыми словами?

CDN (Content Delivery Network, сеть доставки контента) — это сеть географически распределённых серверов, которые хранят копии контента и отдают их пользователям через ближайшую или оптимально расположенную точку присутствия. Благодаря этому мы почти не замечаем разницы в скорости отклика, даже если сам ресурс физически развёрнут в другой стране.

CDN создаёт промежуточный слой между пользователем и origin-сервером (основным сервером, где хранится исходный контент). На пограничных серверах (Edge, или PoP) кэшируется «тяжёлый» статический контент — изображения, видео, файлы, CSS и JavaScript, а пользователь автоматически перенаправляется на ближайший из них. Все пользователи, кроме первого в новом регионе, будут получать данные мгновенно, прямо из кэша пограничного сервера. 

Для чего нужен CDN?

Главная задача — ускорить доставку контента для удобства пользователей. 40–57% посетителей уходят с сайта, если он грузится дольше трёх секунд, а задержка всего в одну секунду снижает посещаемость на 25-30%. Яндекс и Google учитывают скорость загрузки при ранжировании. 

Ещё CDN:

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

Чем CDN отличается от хостинга?

Эти технологии решают разные задачи и дополняют, но не заменяют друг друга. Хостинг хранит сам сайт и всю его исходную информацию и генерирует динамический контент — авторизацию, корзину, запросы к базе данных. 

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

Нужен ли CDN небольшому сайту?

Не всегда. CDN стоит рассматривать, если пользователи находятся в разных регионах, сайт содержит много тяжёлого статического контента, origin-сервер расположен далеко от значительной части аудитории, случаются резкие пики трафика (распродажи, релизы, трансляции) или важны скорость и стабильность доставки. Если ничего такого нет, острой необходимости в CDN может и не быть. 

Защищает ли CDN от DDoS?

Частично. Архитектура CDN снижает риски атак: трафик сначала попадает на распределённую инфраструктуру, origin-сервер остаётся скрыт за промежуточным слоем, кэш обслуживает часть запросов без обращения к серверу, а распределённая сеть «размазывает» и гасит большие объёмы трафика, что помогает против объёмных атак уровней L3-L4. 

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

Поэтому надёжная защита — это связка CDN, WAF и специализированного antiDDoS-сервиса, которые дополняют друг друга. Такую комбинацию предлагает StormWall.

Автор: Юлия Ильина, технический эксперт StormWall  

StormWall для сайта:
защита от DDoS для веб-приложений

  • Подключение за 10 минут
  • Поддержка 24×7