Skip to content

Резервирование источника мультикаст-потока

При построении 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 работает следующим образом:

  1. В каждом мультикаст-пакете в заголовке передается IP-адрес источника. Основной и резервный источники вещают одновременно в одну и ту же мультикаст-группу.
  2. Flussonic запрашивает у коммутатора по IGMPv3 пакеты от основного источника с указанием IP-адреса источника.
  3. Если Flussonic фиксирует потери от основного UDP-источника в течение source_timeout по умолчанию равному минуте, то он переключается на резервный. Flussonic запрашивает у коммутатора по IGMPv3 пакеты от резервного источника с указанием IP-адреса источника.
  4. Находясь на резервном источнике, Flussonic каждую минуту опрашивает основной UDP-источник на наличие мультикаст-пакетов.
  5. Когда основной источник возвращается в эфир и начинает передавать пакеты, то Flussonic переключается на него с резервного источника.

Схема 1. SSM с рабочим основным источником Схема SSM c основным источником

Схема 2. SSM с выключенным основным источником и рабочим резервным источником Схема SSM c резервным источником

Чтобы настроить SSM (Source Specific Multicast) для мультикаст-потока в Flussonic Admin UI, выполните следующие шаги:

  1. Перейдите в вкладку Input в настройках потока.
  2. Добавьте основной источник, если он не указан, или измените уже существующий, указав мультикаст-группу, порт и IP-адрес основного источника в следующем виде:

    udp://239.1.1.1:1234?sources=10.10.10.1

    , где:

    • 239.1.1.1 — мультикаст-группа,
    • 1234 — порт, который Flussonic будет слушать,
    • 10.10.10.1 — IP-адрес источника.
  3. Добавьте резервный источник, указав данные резервного источника, как в шаге 2.

  4. Примените настройки, нажав Save.

Резервирование источника при отправке мультикаст-потока

Допустим, вы поставщик и у вас есть сервер осуществляющий мультикаст-вещание. Вы хотите доставлять мультикаст-потоки с максимальной надежностью так, чтобы сервер автоматически переключался на рабочий источник без прерывания вещания. Вы можете зарезервировать этот сервер мультикаст-вещания с помощью потоков Flussonic, вещающих в standby-режиме.

Чтобы принимать мультикаст-поток, оператору нужно подключиться к мультикаст-группе.

Note

Такой подход работает с любым IGMP на приёмнике, так что вашим клиентам не нужно покупать специальное оборудование.

Как работает standby-режим

Standby-режим работает следующим образом:

  1. Основной и резервный серверы формируют идентичный набор программ. Основной сервер вещает поток в мультикаст-группу.
  2. Резервный сервер постоянно проверяет, ведется ли вещание в эту мультикаст-группу, но сам не вещает, находясь в standby-режиме (режиме ожидания).
  3. Если основной сервер прекращает вещание, то резервный сервер выходит из режима ожидания и начинает вещать.
  4. Как только в эфире появляется основной сервер, резервный прекращает вещание и возвращается в standby-режим.

Схема 3. Standby-режим с рабочим основным сервером Схема multicast failover

Схема 4. Standby-режим с выключенным основным сервером и рабочим резервным сервером Схема multicast failover

Чтобы включить standby-режим для мультикаст-потока в Flussonic Admin UI, выполните следующие действия:

  1. Зайдите в настройки потока и откройте вкладку Output.
  2. В колонке URL раздела Push live video to certain URLs укажите мультикаст-группу, порт и IP-адрес основного источника следующим образом:

    udp://239.1.1.1:1234

    где:

    • 239.1.1.1.1 — мультикаст-группа,
    • 1234 — порт, который Flussonic будет слушать.
  3. Добавьте резервный источник, указав данные резервного источника, как в шаге 2.

  4. Откройте Options и включите standby-режим для резервного источника, установив флажок Standby.
  5. Примените изменения, нажав кнопку Save.