Распределение контента и CDN
Сети доставки контента размещают копии контента на серверах, расположенных близко к пользователям, и направляют каждый запрос к подходящей реплике, сокращая задержки и нагрузку на исходный сервер, а также делая возможной крупномасштабную доставку веб-контента и видео.
Definition
Сеть доставки контента — это географически распределенная система серверов, которая хранит и предоставляет копии контента вблизи конечных пользователей, перенаправляя каждый запрос к соответствующей ближайшей реплике для уменьшения задержки, потерь и нагрузки на исходный сервер.
Scope
Эта тема охватывает вопросы доставки контента в масштабах Интернета: обоснование репликации контента вблизи пользователей, архитектуру сетей доставки контента (CDN) с их географически распределенными кэшами, механизмы направления пользователя к ближайшей реплике (часто через DNS), особые требования потокового видео, включая методы адаптивного битрейта, и взаимодействие CDN с базовой сетью. Она основывается на протоколах именования и прикладных протоколах и исключает детальное кодирование медиа и транспортные механизмы, лежащие в основе доставки.
Core questions
- Почему репликация контента вблизи пользователей улучшает производительность и масштабируемость?
- Как организована CDN и где размещаются ее серверы?
- Как запрос пользователя направляется к подходящей реплике, и какую роль играет DNS?
- Как адаптивное потоковое вещание с переменным битрейтом доставляет видео по сетям с переменными характеристиками?
- Как CDN взаимодействуют с базовой топологией Интернета и интернет-провайдерами?
Key concepts
- репликация контента
- сети доставки контента (CDN)
- граничные кэширующие серверы
- перенаправление запросов через DNS
- осведомленность о близости и нагрузке
- потоковое видео
- адаптивное потоковое вещание с переменным битрейтом (HTTP chunked)
- разгрузка исходного сервера
Key theories
- Репликация и близость
- Размещение контента на множестве серверов вблизи пользователей сокращает сетевые пути, уменьшая задержки и потери, а также распределяет нагрузку с исходного сервера и магистральной сети; центральной инженерной задачей становится выбор места размещения реплик и выбор той, которая будет обслуживать каждый запрос.
- Перенаправление запросов
- CDN направляют каждого клиента к ближайшей, работоспособной реплике, обычно возвращая адрес выбранного сервера в ответ на DNS-запрос, используя информацию о сетевой близости и текущей нагрузке.
- Адаптивное потоковое вещание с переменным битрейтом
- Потоковое видео кодируется на нескольких уровнях качества и разбивается на фрагменты, загружаемые по HTTP, при этом клиент адаптирует запрашиваемый битрейт к текущей пропускной способности, что соответствует доставке CDN на основе HTTP и справляется с переменными сетевыми условиями.
Clinical relevance
CDN передают большую долю интернет-трафика и необходимы для масштабной и высокопроизводительной доставки веб-страниц, обновлений программного обеспечения и особенно видео. Они сокращают задержки для пользователей по всему миру, защищают исходные серверы от перегрузки и лежат в основе потоковых сервисов, доминирующих в потребительском использовании Интернета, делая распределение контента центральным элементом работы современного веба.
History
По мере роста веб-трафика в конце 1990-х годов появились сети доставки контента для кэширования контента вблизи пользователей, причем Akamai является ранним и влиятельным примером. Рост онлайн-видео сделал CDN и адаптивное потоковое вещание на основе HTTP центральными элементами интернет-доставки, и CDN расширились до граничных платформ, которые также выполняют вычисления вблизи пользователей.
Key figures
- Ramesh K. Sitaraman
- Erik Nygren
- James F. Kurose
Related topics
Seminal works
- kurose2021
- nygren2010
Frequently asked questions
- Как CDN ускоряет работу веб-сайта?
- CDN хранит копии контента сайта на серверах, распределенных по всему миру, и обслуживает каждого пользователя с ближайшего из них. Это сокращает сетевой путь, снижая задержки и потери, а также разгружает исходный сервер. Результатом является более быстрая загрузка страниц и более плавное потоковое вещание, особенно для пользователей, находящихся далеко от исходного сервера.
- Как CDN решает, какой сервер должен меня обслуживать?
- CDN использует информацию о сетевой близости, нагрузке на сервер и его доступности для выбора подходящей реплики, а затем направляет ваш запрос к ней, обычно возвращая адрес этого сервера, когда ваше устройство ищет имя сайта в DNS. Цель состоит в том, чтобы найти ближайший, работоспособный сервер, который может быстро доставить контент.