Сеть multicast в гостинице

Каналы на телевизоры номеров идут UDP multicast: узел отправляет каждый канал один раз в свою группу, а сеть доставляет его только тем телевизорам, которые подписались на группу по протоколу IGMP. Большинство проблем гостиничного ТВ — неверно настроенный multicast в коммутаторах, а не сам поток.

Отдельная сеть IPTV

  • Выделите для телевидения отдельный VLAN: телевизоры и приставки номеров, а также сетевой интерфейс узла, с которого он отправляет каналы. Гостевой Wi-Fi, офисная сеть и камеры — в других VLAN.

  • Не пускайте multicast каналов в гостевой Wi-Fi: беспроводная сеть передаёт multicast на низкой скорости и перегружается. Телефоны и планшеты гостей получают каналы по HLS (Одна гостиница).

  • У каждого выхода задайте «Multicast egress interface» — интерфейс в VLAN IPTV (Выход). На узле с несколькими сетями без этого поля интерфейс выбирает система по таблице маршрутизации, и каналы могут уйти не в ту сеть.

IGMP snooping и querier

  • IGMP snooping включите на всех коммутаторах VLAN IPTV. Без него коммутатор рассылает каждый канал на все порты: при десятках каналов порт телевизора переполняется, и картинка рассыпается на всех телевизорах сразу.

  • IGMP querier — ровно один в VLAN IPTV: на маршрутизаторе или на одном из коммутаторов. Querier периодически опрашивает подписки, и snooping по ответам поддерживает таблицу групп. Если querier нет, snooping через несколько минут перестаёт пересылать группу: канал пропадает без видимой причины, а после переключения ненадолго появляется. Это самая частая ошибка в гостиничных сетях.

  • Fast leave (немедленный выход из группы) включите на портах, к которым подключён один телевизор или приставка: переключение каналов станет быстрее, а порт не будет какое-то время нести оба канала.

  • Отключите рассылку неизвестного multicast на все порты (flooding of unknown multicast), если коммутатор это позволяет.

Если коммутатор со временем забывает подписку самого узла на входной канал multicast, задайте у входа «Multicast rejoin (s)» — период повторного вступления в группу (Вход).

ASM и SSM

  • ASM (Any-Source Multicast, IGMPv2) — телевизор подписывается на группу и принимает её от любого отправителя. Это режим по умолчанию у большинства телевизоров и приставок, и для одной гостиницы с одним узлом его достаточно.

  • SSM (Source-Specific Multicast, IGMPv3) — телевизор подписывается на группу от определённого отправителя, и второй отправитель на той же группе поток не испортит. SSM требует IGMPv3 у телевизоров или приставок и у коммутаторов.

На входе узел принимает SSM полем «SSM source address» (Вход). Выходу ничего настраивать не нужно: отправителем для SSM служит адрес интерфейса, с которого узел отправляет группу.

Адреса и TTL

  • Выберите диапазон групп, который принимают ваши телевизоры и приставки: у производителей бывают свои правила. Например, руководство Samsung для гостиничных телевизоров запрещает для потоков multicast адреса 224.x.x.x и 239.x.x.x и рекомендует 234.0.0.0–238.255.255.255 (Samsung Developers, Multicast address rules). Сверьтесь с документацией производителя и проверьте выбранный диапазон на образце.

  • Берите по одной группе на канал, порт — одинаковый у всех, например 1234.

  • Не используйте служебные группы 224.0.0.x, а также группы вида N.0.0.x и N.128.0.x при любом первом числе: на уровне Ethernet они совпадают с адресами служебных групп, и коммутаторы рассылают их на все порты.

  • Запишите план адресов: группа, порт, канал. В сети Meshwork занятые адреса и порты всех узлов видны в общем каталоге (Общий каталог ресурсов).

  • «IP multicast TTL» выхода по умолчанию равен 4. В пределах одного VLAN хватает и единицы; если каналы проходят через маршрутизаторы (PIM), TTL должен быть больше числа маршрутизаторов на пути (Выход).

Полоса на канал

Узел передаёт канал с тем битрейтом, с которым принимает его, без перекодирования. Ориентиры для расчёта сети:

Канал

Кодек

Битрейт, Мбит/с

SD

H.264

2–4

HD (1080i/1080p)

H.264

6–10

HD (1080p)

HEVC

3–6

UHD (2160p)

HEVC

15–25

Каналы со спутника часто идут с переменным битрейтом, и пики заметно выше среднего. Настоящий битрейт каждого канала покажет статистика потока (Статистика потока).

  • Порт телевизора несёт только канал, который смотрят: 10–25 Мбит/с с запасом.

  • Порт узла и магистраль между коммутаторами несут все каналы, которые смотрят хотя бы в одном номере. Закладывайте сумму битрейтов всех каналов с запасом 20–30 %: 60 каналов HD по 8 Мбит/с — около 500 Мбит/с, и это уже половина порта 1 Гбит/с (Расчёт сервера).

Что проверить на коммутаторах

  • IGMP snooping включён в VLAN IPTV на каждом коммутаторе по пути.

  • В VLAN IPTV ровно один IGMP querier, и он работает.

  • Fast leave включён на портах телевизоров.

  • Неизвестный multicast не рассылается на все порты.

  • Таблица групп коммутатора вмещает все каналы с запасом.

  • Магистральные порты и порт узла рассчитаны на сумму битрейтов всех каналов.

  • Multicast IPTV не попадает в гостевой Wi-Fi и другие VLAN.

Проверка с телевизора: переключите несколько каналов и оставьте один включённым на 10 минут. Если канал пропал через несколько минут — проверьте querier; если картинка рассыпается на всех телевизорах — проверьте snooping.