Сеть по доставке контента (Content Delivery Network) RuCDN

Сеть по доставке контента (Content Delivery Network) RuCDN

Сеть по доставке контента, или Content Delivery Network (CDN) – это географически распределенная сетевая инфраструктура, предназначенная для доставки конечному пользователю высоко нагруженного по трафику цифрового контента на высоких скоростях: большие файлы (несколько гигабайт), видео, аудио, live вещания и т.п.
CDN сеть решает свою задачу за счет установки серверов-распространителей (оконечные сервера, или EDGE сервера) в непосредственной близости от пользователей, например в локальных сетях провайдеров, на узлах обмена трафиком. Это позволяет скачивать контент на больших скоростях и очень дешево, т.к. фактически производится распространение по локальным сетям, на локальных скоростях.
Разница между классическим подходом и CDN проиллюстрирована ниже:


Пояснения к схеме:
При классическом подходе вся информация скачивается из одного центрального источника (один сервер или кластер из нескольких серверов). Таким образом – скачиваемый трафик является глобальным Internet трафиком и имеет ряд ограничений по скорости и пропускной способности канала.
При CDN подходе загрузка производится с локального сервера, наиболее близкого к пользователю. Например, пользователь из Москвы загружает данные с московского сервера, а пользователь из Санкт-Петербурга – с петербужского. При этом для обоих пользователь трафик локальный – данные передаются из их локальной сети, а значит бесплатный и быстрый.
Данные на EDGE сервера попадают либо путем раскопирования, либо путем единичных потоков (при Live вещании например). Другими словами, на несколько сотен исходящих потоков с EDGE сервера будет всего несколько входящих извне, т.е. из глобальной сети Internet.
Более детальное техническое описание и возможности предоставлены ниже.

Текущий статус проекта

На текущий момент RUCDN тестируется на основе проектов по раздаче видеоконтента, преимущественно High Definition видео и Live вещания высокого качества. Оконечные сервера (EDGE servers) проекта установлены в Санкт-Петербурге, монтируются в Москве и в ближайшем будущем планируются в городах-миллионниках.

Инвесторам

RUCDN готов рассмотреть предложения по инвестициям для ускорения создания инфраструктуры в России в обмен на долю в проекте(прибыль и канальные мощности). Для получения дополнительной информации свяжитесь с нами.

Сфера деятельности проекта

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

Основные технически характеристики

Операционная система: Linux.
Язык программирования: C++, PHP.
СУБД: MySQL 5+.
Стриминговый сервер, RTMP Reverse Proxy: собственное решение БизнесМедиа.
Протокол передачи on demand видео: HTTP псевдо-стриминг.
Протокол передачи Live вещаний: RTMP.

Детали технической реализации

CDN состоит из следующих основных компонентов:
Хранилища данных.
Source сервера.
EDGE сервера.
Live стриминг сервера.
Хранилища данных предназначены для хранения стратического контента (файлы, видео). CDN содержит в себе несколько таких хранилищ, информация между которыми синхронизируется. Целесообразность создания еще одного хранилища в CDN определяется связанностью сегмента сети, в котором размещается хранилище с основной частью CDN.
Например, хранилища размещаются в городах, каналы в которые из Москвы и Санкт-Петербурга стоят либо очень дорого, либо просто не обладают нужными мощностями. В этом случае данные закачиваются в хранилища один раз и скачиваются уже в рамках конкретной географической области.
Source сервера предназначены для перераспределения трафика в рамках одной географической зоны с одним хранилищем данных. Хранилище данных отвечает за хранение информации, Source сервер логически распределяет информацию и контролирует доступ к ней.
EDGE сервер является конечным звеном в цепочке, непосредственно выдающим контент пользователю. В рамках большой локальной сети может располагаться несколько таких сервером, объединенных в кластер для распределения нагрузки.
Live стриминг сервер выполняет узкоспециализированную задачу: получает входной поток Live вещания и распределяет этот поток по CDN с помощью reverse проксирования.
Вся картина целиком проиллюстрирована ниже:
Условные обозначения на схеме:
R 1 - Пользователь на центральном веб сервере запрашивает необходимый видео файл.
R 2 - Перед началом просмотра производится авторизация.
R 3 - Resolver сервер по IP адресу пользователя определяет ближайший локальный EDGE сервер.
R 4 - Пользователь отправляется на ближайший EDGE сервер.
R 5 - При раздаче контента возможны дополнительные авторизационные и биллинговые процедуры.
R 6 - После всех проверок начинается выдача информации.

S 1 - Пользователь, инициирующий Live поток, отправляет его через Live Stream Incoming Cluster
S 2 - Балансировщик нагрузки распределяет потоки по серверам.
S 3 - С Live Streaming Server идет распределение по всем Origin серверам. Один поток на один Origin сервер.
S 4 - Origin сервер перенаправляет поток на локальную сеть. Один поток на каждую сеть.
S 5 - Конечный пользователь получает поток с наиболее близкого сервера.