Отслеживание IGMP не работает должным образом
Я настраиваю несколько многоадресных аудиопотоков в своей локальной сети. Я использую vlc в Linux для передачи потоков с помощью командной строки вида:
/usr/bin/vlc -I dummy --sout '#rtp{dst=224.0.0.0,port=5004,sap,name=test}' --no-sout-all --sout-keep --repeat -- тихий тест.mp3
Эта конфигурация будет отправлять аудиопоток в указанную группу многоадресной рассылки, а также объявления SAP в известную группу многоадресной рассылки SAP. На принимающей стороне у меня есть ПК с Windows 10, на котором я планирую запустить vlc в качестве клиента, чтобы «настроиться» на один из многоадресных потоков и воспроизвести его через динамики ПК. Приставки Linux и Windows подключены к коммутатору, который, в свою очередь, подключается к остальной части моей сети. Я, очевидно, хотел бы избежать забивания остальной части моей сети пакетами RTP из этих аудиопотоков; с этой целью я подключил эти две машины к коммутатору, поддерживающему отслеживание IGMP. Ожидаемое поведение заключается в том, что многоадресный трафик не будет пересылаться на порт коммутатора, если машина, подключенная к этому порту, не отправит запрос на присоединение к IGMP (который коммутатор распознает из трафика). Однако я вижу не такое поведение — вместо этого, используя Wireshark, я вижу ВЕСЬ многоадресный трафик, пересылаемый на ВСЕ порты коммутатора, даже если машина на этом порту не выдала никаких пакетов присоединения IGMP (т. е. я еще НЕ запустил клиент vlc). на машине с Windows). Насколько я понимаю, заполнение всех портов копиями всех многоадресных пакетов является поведением коммутатора по умолчанию.
Я пробовал несколько коммутаторов, которые утверждают, что поддерживают отслеживание IGMP, включая TP-Link TL-SG108, TP-Link TL-SG116, Cisco SF200-24P и Trendnet TPE-80WS. ВСЕ эти коммутаторы демонстрируют одинаковое поведение «наводнения», копируя все многоадресные пакеты на все порты коммутатора. В случае с Cisco я следовал инструкциям здесь (https://www.cisco.com/c/en/us/support/docs/smb/switches/cisco-small-business-200-series-smart-switches/smb94-configure-internet-group-management-protocol-igmp-snooping-o.html), чтобы настроить коммутатор для отслеживания IGMP, но безрезультатно. Коммутатор Trendnet имеет аналогичные настройки в веб-интерфейсе управления, тогда как коммутаторы TP-Link вообще не имеют веб-страниц управления.
Итак, мои вопросы таковы: может ли кто-нибудь подтвердить, что я правильно понимаю, как должно работать IGMP Snooping? И если да, то есть какие-нибудь предложения по правильной настройке одного из этих переключателей? Есть ли лучшая/более простая в настройке модель коммутатора, которую можно использовать для этой цели?