Резервирование источника мультикаст-потока¶
При построении IPTV-сервиса на основе мультикаста возникает задача резервирования источника, когда основной источник становится недоступен и нужно переключиться на работающий источник. В зависимости от того, кто вы: поставщик контента или оператор, зависит то, какую задачу вы решаете:
- Резервирование источника при приёме мультикаст-потока.
- Резервирование источника при отправке мультикаст-потока.
Резервирование источника при приёме мультикаст-потока¶
Несколько поставщиков передают одинаковый контент мультикастом в точку обмена трафиком, где мультикаст получают десятки операторов. В такой системе возникают ошибки: дублирование данных, избыточный трафик на сервере-приёмнике и другие. Отсюда у владельцев точки обмена трафиком возникает задача — управлять мультикаст-группами так, чтобы оператор подключился только к нужному каналу.
Владельцы точек обмена трафиком могут управлять мультикаст-группами следующими способами:
-
Разделить поставщиков по мультикаст-группам: один поставщик — одна мультикаст-группа.
Выделить отдельную мультикаст-группу для каждого поставщика контента и вести единый реестр мультикаст-групп. Так поставщики будут вещать в независимые мультикаст-группы, не пересекаясь друг с другом. Чтобы принять один канал от поставщика, операторам нужно фильтровать весь входящий контент на сервере-приёмнике, принимая избыточный трафик. Чтобы операторам найти источники одного и того же контента и настроить резервирование источника, нужно искать дубликаты каналов в реестре мультикаст-групп.
-
Разделить каналы по мультикаст-группам: один канал — одна мультикаст-группа.
Выделить отдельную мультикаст-группу для каждого канала. Поставщики будут вещать один канал в одну и ту же мультикаст-группу, вызывая дублирование данных и путаницу в точке обмена трафиком. В таком случае у оператора есть два способа подключиться к каналу конкретного источника:
- Фильтровать трафик по IP-адресу источника на сервере-приёмнике. Так сервер-приемник будет получать избыточный трафик. - Настроить механизм SSM (Source-Specific Multicast) на основе IGMPv3 на сервере-приёмнике. При подключении к точке обмена трафиком оператор указывает мультикаст-группу и адрес источника, откуда хочет получать трафик. Если запрашиваемый источник недоступен или не работает, то сервер-приёмник автоматически переключится на другой работающий источник (см. [Как работает SSM](standby-mode-of-multicast-pusher.md#redundant-multicast-streaming-receive-ssm-work)). Для работы SSM (Source-Specific Multicast) оператор должен заранее знать адрес источника. Mеханизм SSM (Source-Specific Multicast) упрощает управление мультикаст-группами, не создавая дополнительных сложностей в точке обмена трафиком или на приёмнике.
SSM решает следующие задачи:
- Резервирование источника. SSM поддерживает одновременное вещание нескольких источников в одну мультикаст-группу. Так, если два поставщика отправляют контент в одну и ту же мультикаст-группу, то без SSM (Source-Specific Multicast) это приведёт к дублированию данных и путанице на приёме, а с SSM (Source-Specific Multicast) это штатная ситуация.
- Приём мультикаст-потока от поставщика, который требует соответствия стандарту доставки мультикаст-потоков. Некоторые поставщики требуют, чтобы оборудование оператора поддерживало SSM (Source-Specific Multicast) и IGMPv3 для того, чтобы принять мультикаст.
Как работает SSM¶
Note
SSM требует поддержки IGMPv3 сетевым коммутатором и приёмником.
SSM работает следующим образом:
- В каждом мультикаст-пакете в заголовке передается IP-адрес источника. Основной и резервный источники вещают одновременно в одну и ту же мультикаст-группу.
- Flussonic запрашивает у коммутатора по IGMPv3 пакеты от основного источника с указанием IP-адреса источника.
- Если Flussonic фиксирует потери от основного UDP-источника в течение source_timeout по умолчанию равному минуте, то он переключается на резервный. Flussonic запрашивает у коммутатора по IGMPv3 пакеты от резервного источника с указанием IP-адреса источника.
- Находясь на резервном источнике, Flussonic каждую минуту опрашивает основной UDP-источник на наличие мультикаст-пакетов.
- Когда основной источник возвращается в эфир и начинает передавать пакеты, то Flussonic переключается на него с резервного источника.
Схема 1. SSM с рабочим основным источником
Схема 2. SSM с выключенным основным источником и рабочим резервным источником
Чтобы настроить SSM (Source Specific Multicast) для мультикаст-потока в Flussonic Admin UI, выполните следующие шаги:
- Перейдите в вкладку Input в настройках потока.
-
Добавьте основной источник, если он не указан, или измените уже существующий, указав мультикаст-группу, порт и IP-адрес основного источника в следующем виде:
udp://239.1.1.1:1234?sources=10.10.10.1
, где:
239.1.1.1
— мультикаст-группа,1234
— порт, который Flussonic будет слушать,10.10.10.1
— IP-адрес источника.
-
Добавьте резервный источник, указав данные резервного источника, как в шаге 2.
- Примените настройки, нажав Save.
Резервирование источника при отправке мультикаст-потока¶
Допустим, вы поставщик и у вас есть сервер осуществляющий мультикаст-вещание. Вы хотите доставлять мультикаст-потоки с максимальной надежностью так, чтобы сервер автоматически переключался на рабочий источник без прерывания вещания. Вы можете зарезервировать этот сервер мультикаст-вещания с помощью потоков Flussonic, вещающих в standby-режиме.
Чтобы принимать мультикаст-поток, оператору нужно подключиться к мультикаст-группе.
Note
Такой подход работает с любым IGMP на приёмнике, так что вашим клиентам не нужно покупать специальное оборудование.
Как работает standby-режим¶
Standby-режим работает следующим образом:
- Основной и резервный серверы формируют идентичный набор программ. Основной сервер вещает поток в мультикаст-группу.
- Резервный сервер постоянно проверяет, ведется ли вещание в эту мультикаст-группу, но сам не вещает, находясь в standby-режиме (режиме ожидания).
- Если основной сервер прекращает вещание, то резервный сервер выходит из режима ожидания и начинает вещать.
- Как только в эфире появляется основной сервер, резервный прекращает вещание и возвращается в standby-режим.
Схема 3. Standby-режим с рабочим основным сервером
Схема 4. Standby-режим с выключенным основным сервером и рабочим резервным сервером
Чтобы включить standby-режим для мультикаст-потока в Flussonic Admin UI, выполните следующие действия:
- Зайдите в настройки потока и откройте вкладку Output.
-
В колонке URL раздела Push live video to certain URLs укажите мультикаст-группу, порт и IP-адрес основного источника следующим образом:
udp://239.1.1.1:1234
где:
239.1.1.1.1
— мультикаст-группа,1234
— порт, который Flussonic будет слушать.
-
Добавьте резервный источник, указав данные резервного источника, как в шаге 2.
- Откройте Options и включите standby-режим для резервного источника, установив флажок Standby.
- Примените изменения, нажав кнопку Save.