Сеть 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.