Jump to content
Калькуляторы

FreeBSD не покидает мультикаст группы

Есть сервер FreeBSD 12.1-RELEASE-p1 GENERIC amd64, один физический интерфейс, в нем два vlan.
Один влан смотрит в Интернет, другой принимает мультикаст. Запущен udpxy.
Клиент из интернет подключается к udpxy, сервер шлет igmp запрос в vlan с мультиксат, в ответ получает мультикаст поток и передает его по http клиенту, сервер периодически шлет igmp report.
Все хорошо, все работает.

Начались жалобы на пропадания кадров.
Заметил очень большую разницу в объемах трафика между вланами.
Стал разбираться. Оказалось после того как клиент от канала отключился, либо переключил на другой канал, сервер все равно продолжает слать igmp reportы, и получает мультикаст. На сервер идут все потоки которые когда либо смотрели, не зависимо от того смотрят их сейчас или нет.
Даже если полностью убить udpxy, мультикаст продолжает идти на сервер.
Если запретить в фаерволе igmp, через пару минут мультикаст останавливается (на свиче igmp snooping работает правильно), после удаления правил все возвращается.
Утилита ifmcstat показывает все группы на которые подписан сервер. Как их оттуда убрать я не нашел.
Пробовал на стороне источника мультикаст переключать igmp v2 и v3, на сервере igmp тоже переключается вслед за источником, но группы он не покидает.
ОС обновил с 11.2, там она вела себя аналогично.

Share this post


Link to post
Share on other sites

Вы плохо себе представляете, как работает мультикаст влан.

Share this post


Link to post
Share on other sites

А почему вы думаете что мультикаст трафик не должен попадать на фрю?

 

Поставьте msd_lite, там хотя бы понятно точно есть кто то на канале или нет, и вроде в явном виде шлётся запрос на покидание группы.

И оно под нагрузки по более двух калек приспособлено.

 

Кадры могут пропадать только если у вас входящий линк забит полностью.

Дальше я бы смотрел дропы на интерфейсах и сетевом стёке.

Но это всё после выпиливания udpxy.

Share this post


Link to post
Share on other sites
35 минут назад, vlad11 сказал:

Вы плохо себе представляете, как работает мультикаст влан.

Это не мультикаст влан, это обычный влан с мультикастом.

 

17 минут назад, Ivan_83 сказал:

А почему вы думаете что мультикаст трафик не должен попадать на фрю?

 

Поставьте msd_lite, там хотя бы понятно точно есть кто то на канале или нет, и вроде в явном виде шлётся запрос на покидание группы.

И оно под нагрузки по более двух калек приспособлено.

 

Кадры могут пропадать только если у вас входящий линк забит полностью.

Дальше я бы смотрел дропы на интерфейсах и сетевом стёке.

Но это всё после выпиливания udpxy. 

С дропами я разобрался. Вопрос не в этом.
Я разбирался почему на сервер приходит мультикаста в два раза больше чем уходит юникаста на клиентов.

Непонятно почему фря продолжает слать igmp reportы после того как канал смотреть перестали.
msd_lite попробую, может действительно поможет.

Share this post


Link to post
Share on other sites
1 минуту назад, orca сказал:

Я разбирался почему на сервер приходит мультикаста в два раза больше чем уходит юникаста на клиентов.

А у вас коммутатор перед фрёй вообще умеет igmp snooping?

Оно там как сейчас в нём настроено?

Share this post


Link to post
Share on other sites
8 минут назад, Ivan_83 сказал:

А у вас коммутатор перед фрёй вообще умеет igmp snooping?

Оно там как сейчас в нём настроено?

Да snooping умеет, если в ipfw на сервере режу igmp, мультикаст пропадает.
В tcpdump вижу igmp reportы.
Утилита ifmcstat показывает кучу групп. В описании утилиты написано: "The ifmcstat command dumps multicast group information from the kernel."
Как убрать эти группы из ядра и почему они сами не убираются, неясно.

Edited by orca

Share this post


Link to post
Share on other sites

В смысле?

Это уже пол года как должно быть в 12.1 стабле - достаточно обновится.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now