orca Опубликовано 23 декабря, 2019 · Жалоба Есть сервер 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, там она вела себя аналогично. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 23 декабря, 2019 · Жалоба Вы плохо себе представляете, как работает мультикаст влан. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 23 декабря, 2019 · Жалоба А почему вы думаете что мультикаст трафик не должен попадать на фрю? Поставьте msd_lite, там хотя бы понятно точно есть кто то на канале или нет, и вроде в явном виде шлётся запрос на покидание группы. И оно под нагрузки по более двух калек приспособлено. Кадры могут пропадать только если у вас входящий линк забит полностью. Дальше я бы смотрел дропы на интерфейсах и сетевом стёке. Но это всё после выпиливания udpxy. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orca Опубликовано 23 декабря, 2019 · Жалоба 35 минут назад, vlad11 сказал: Вы плохо себе представляете, как работает мультикаст влан. Это не мультикаст влан, это обычный влан с мультикастом. 17 минут назад, Ivan_83 сказал: А почему вы думаете что мультикаст трафик не должен попадать на фрю? Поставьте msd_lite, там хотя бы понятно точно есть кто то на канале или нет, и вроде в явном виде шлётся запрос на покидание группы. И оно под нагрузки по более двух калек приспособлено. Кадры могут пропадать только если у вас входящий линк забит полностью. Дальше я бы смотрел дропы на интерфейсах и сетевом стёке. Но это всё после выпиливания udpxy. С дропами я разобрался. Вопрос не в этом. Я разбирался почему на сервер приходит мультикаста в два раза больше чем уходит юникаста на клиентов. Непонятно почему фря продолжает слать igmp reportы после того как канал смотреть перестали. msd_lite попробую, может действительно поможет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 23 декабря, 2019 · Жалоба 1 минуту назад, orca сказал: Я разбирался почему на сервер приходит мультикаста в два раза больше чем уходит юникаста на клиентов. А у вас коммутатор перед фрёй вообще умеет igmp snooping? Оно там как сейчас в нём настроено? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orca Опубликовано 23 декабря, 2019 (изменено) · Жалоба 8 минут назад, Ivan_83 сказал: А у вас коммутатор перед фрёй вообще умеет igmp snooping? Оно там как сейчас в нём настроено? Да snooping умеет, если в ipfw на сервере режу igmp, мультикаст пропадает. В tcpdump вижу igmp reportы. Утилита ifmcstat показывает кучу групп. В описании утилиты написано: "The ifmcstat command dumps multicast group information from the kernel." Как убрать эти группы из ядра и почему они сами не убираются, неясно. Изменено 23 декабря, 2019 пользователем orca Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
z18 Опубликовано 27 декабря, 2019 · Жалоба https://svnweb.freebsd.org/changeset/base/355322 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orca Опубликовано 3 июля, 2020 · Жалоба В 27.12.2019 в 15:50, z18 сказал: https://svnweb.freebsd.org/changeset/base/355322 Спасибо помогло. Еще добавил это:https://reviews.freebsd.org/D22848 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 4 июля, 2020 · Жалоба В смысле? Это уже пол года как должно быть в 12.1 стабле - достаточно обновится. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...