Как мы строим CDN в России Ярослав Городецкий, CDNvideo
Что такое CDN? CDN – Content Delivery Network (англ.) CDN – территориально-распределенная сеть серверов В трехзвенной Highload-архитектуре CDN соответствует уровню frontend-серверов CDN бывают частные (принадлежат крупным контент- провайдерам) и операторские (предоставляют услуги на платной основе контент-провайдерам)
Принцип работы CDN
Для чего нужна CDN? CDN – инструмент для раздачи потокового видео/аудио (RTMP/RTSP/HTTP Live Streaming) или статического контента по HTTP. Услуги операторов CDN позволяют облегчить создание высоконагруженных и отказоустойчивых сервисов, предполагающих раздачу «тяжелого» контента (видео, аудио, фото, flash, CSS/JS, клиенты игр и пр.).
Классификация CDN по способу расположения серверов по способу распределения нагрузки; по способу распространения контента; по способу нахождения кратчайшего пути до пользователя; по предоставляемым услугам
Расположение серверов CDN на сетях интернет-провайдеров с большой абонентской базой; Akamai, CDNvideo на точках обмена трафиком (IX); LimeLight, NGENIX в сети магистрального оператора Level3, Synterra
Распределение нагрузки в CDN DNS (перенаправление в момент DNS-запроса) используют большинство CDN HTTP Redirect (выдается ошибка 304) используют некоторые частные CDN URL Rewriting (подстановка URL при генерации HTML) Anycast (ответ присылает ближайший сервер)
Распространения контента внутри CDN Иерархическое дерево используют крупные CDN Точка-многоточка используют большинство CDN P2P Использует Coral CDN и стриминг-провайдеры Octoshape и Lavina.TV
Нахождение кратчайшего пути до пользователя По географии На основании данных о сетевой топологии BGP-маршруты в режиме реального времени База данных RIPE Таблицы локальных адресов региональных провайдеров По интегральным метрикам сетевая задержка, количество хопов и AS на пути
Особенности Интернет в России Централизация значительной части трафика: пропускная способность московского узла должна быть примерно такой же, как и суммарная пропускная способность остальной сети («и помни о Москве») «Размазанность» трафика по провайдерам: в каждом городе – лидеры и много небольших игроков со значительным суммарным трафиком Пиринговые войны между провайдерами: если в городе есть узел CDN, то далеко не факт, что все его жители будут загружать трафик с него Не везде безлимитные тарифы: надо договариваться с региональными операторами о бесплатности трафика с CDN
Как мы строим CDN для Рунета способ расположения серверов: на сетях интернет- провайдеров с большой абонентской базой способу распределения нагрузки: DNS; по способу распространения контента: точка-многоточка; по способу нахождения кратчайшего пути до пользователя: данные о сетевой топологии + интегральные метрики;
Услуги сетей CDN Кэширование HTTP-контента статические файлы динамический долгоживущий контент Потоковое вещание (стриминг) видео/аудио прямые трансляции стриминг видеороликов перекодирование потоков и файлов
Дополнительные сервисы CDN Защита контента при распостранении через CDN одноразовые ссылки на контент (ссылка кодируется зависит ) доступ только через авторизованный flash-плеер авторизация каждого запроса к контенту на стороне контент- провайдера API для управления услугами очистка кэша просмотр статуса услуги
Как подключиться к CDN 1.Сообщить CDN-провайдеру данные о том, где находится контент, который необходимо распространить через CDN 2.Получить от CDN-провайдера ссылку для доступа к своему контенту, размещенному на CDN 3.(опционально) Замаскировать использование CDN, установив в настройках своего домена CNAME-запись для одного из поддоменов, ссылающуюся на домен CDN-провайдера 4.Сослаться на контент, размещенный на CDN, на своем сайте или в своем приложении (для мобильных/для социальных сетей)
Спасибо за внимание! Ярослав Городецкий, CDNvideo