Перейти к содержимому
Калькуляторы

Вопросы по мультикасту на SNR и не только

Друзья, всем привет!

Прошу помощи и советов по теме мультикаста.

 

В сети на агрегации используется SNR-S2990-FQ.

Далее от него свитчи D-Link DGS-3000-28SC линками 10г и далее гирляндой к абонентам.

 

На SNR-S2990-FQ настроен igmp-snooping таким образом:

ip multicast policy 0.0.0.0/0 224.0.0.0/24 cos 6
...
ip igmp snooping
ip igmp snooping vlan 99
ip igmp snooping vlan 99 limit group 1024 source 1024
ip igmp snooping vlan 99 l2-general-querier
ip igmp snooping vlan 99 l2-general-querier-version 2
ip igmp snooping vlan 99 l2-general-querier-source 10.1.100.31
ip igmp snooping vlan 99 mrouter-port interface Ethernet1/0/2
...

Получается так:

SNR-S2990X-24FQ#sh ip igmp snooping vlan 99
Igmp snooping information for vlan 99

Igmp snooping L2 general querier                  :Yes(COULD_QUERY)
Igmp snooping query-interval                      :125(s)
Igmp snooping max response time                   :10(s)
Igmp snooping specific-query max response time    :1(s)
Igmp snooping robustness                          :2
Igmp snooping mrouter port keep-alive time        :255(s)
Igmp snooping query-suppression time              :255(s)

Также используется ip multicast source-control на всех портах где ходит мультикаст

и igmp snooping drop query для всех портов, кроме mrouter-port e1/0/2.

Адрес 10.1.100.31 - это адрес самого SNR, который является querier'ом, остальные свитчи на сети его в этой роли "видят".

 

Вот типичный конфиг мультикаста с D-Link'а (в ядре оно в мультикаст-влане):

create igmp_snooping multicast_vlan mcast 99
config igmp_snooping multicast_vlan mcast state enable replace_source_ip none remap_priority 7 replace_priority
...
config igmp_snooping vlan_name mcast topology_changes_notification ignore fast_leave disable report_suppression disable suppression_time 10 proxy_reporting state disable source_ip 0.0.0.0
config igmp_snooping querier vlan_name mcast query_interval 125 max_response_time 10 robustness_variable 2 last_member_query_interval 1 state disable version 2
config igmp_snooping data_driven_learning vlan_name mcast state disable aged_out disable expiry_time 260
...
create access_profile profile_id 1 profile_name multicast ip destination_ip_mask 255.255.255.255
config access_profile profile_id 1 add access_id 1 ip destination_ip 224.0.0.0 mask 255.255.255.0 vlan_based vlan_id 4 permit priority 6 replace_priority replace_dscp 48

Т.е. все настройки практически дефолтные.

Проблема в том, что временами наблюдается неприятный "эффект". Картинка идет нормально, вдруг изображение пропадает (черный экран) на пару секунд, затем вещание восстанавливается.

 

Хочется понять что не так с вышеприведенными настройками.

Пока что мысли - попробовать "подкрутить" таймеры, но какие и на какие значения?

Также как я понимаю на SNR включен ip igmp snooping proxy, а нужен ли он включенный?

Ну и хотелось бы услышать о robustness value и включения report suppression...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На d-link'е покажите
 

show multicast port_filtering_mode

А зачем квериер на SNR? В сети нет своего PIM'а ?
Кроме того как мультикаст идет сквозь DGS-3000-28SC (снупинг? просто тэгированный влан транзитом?) ?
Косяки могут быть и в прошивке домовых свитчей (Это ж делинк, решается подбором только). В общем мало информации.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У нас так фастлив прикалывался.

 

В двух словах - после того как был получен лив от клиента, на SNR счетчик Exptime сбрасывался до дефолтного значения (забыл какое) и если свич не работал за это время со специфик-квэри то группа отваливалась.

 

Как воспроизвести:

Я подписывался по VLC на двух ноутах с разных портов одного и того же свича доступа к одной и той же группе, потом на одном отключал и смотрел что на агрегации и на квэриере с группой. По итогам вышло так, что тайминги пришлось крутить. Полагаю это может быть связано с нагрузкой коммутаторов агрегации и ядра, потому что в тайминги полез впервые, а нагрузка возросла за несколько лет.

 

Путем подбора таймингов получилось такое:

Агрегация (прокси нет):

ip igmp snooping
no ip igmp snooping proxy
ip igmp snooping vlan 100
ip igmp snooping vlan 100 limit group 1024 source 1024
ip igmp snooping vlan 100 l2-general-querier-source 10.0.11.1
ip igmp snooping vlan 100 query-robustness 3
ip igmp snooping vlan 100 query-interval 60
ip igmp snooping vlan 100 query-mrsp 1
ip igmp snooping vlan 100 specific-query-mrsp 25
ip igmp snooping vlan 100 mrpt 380
ip igmp snooping vlan 100 mrouter-port interface Port-Channel1
ip igmp snooping vlan 100 report source-address 10.0.11.1

Квэриер(прокси):

ip igmp snooping
ip igmp snooping vlan 100
ip igmp snooping vlan 100 limit group 1024 source 1024
ip igmp snooping vlan 100 l2-general-querier
ip igmp snooping vlan 100 l2-general-querier-version 2
ip igmp snooping vlan 100 l2-general-querier-source 10.253.0.1
ip igmp snooping vlan 100 query-robustness 3
ip igmp snooping vlan 100 specific-query-mrsp 25
ip igmp snooping vlan 100 mrouter-port interface Ethernet1/0/10
ip igmp snooping vlan 100 report source-address 10.253.0.1

++ с помощью саппорта НАГа отфильтровали IGMP V1, которую SNR слушал, несмотря что везде V2. И по итогам на агрегациях и квэриере некоторые группы работали по V1. После фильтрации SNR перестал отвечать на IGMP V1.

 

report suppression - везде выключен. С ним еще больше косяков потом вылезает.

robustness - изменил только на квэриере и агрегациях. Он пропорционально связан с таймингами, точнее этим множителем они и меняются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 часов назад, semop сказал:

++ с помощью саппорта НАГа отфильтровали IGMP V1, которую SNR слушал, несмотря что везде V2.

Замечу, что это не баг:)

@gard По теме - если советы с форума не помогут, то оставьте обращение на support.nag.ru. С полными файлами конфигураций, версиями и описанием проблемы. Вообще, в данном случае очень поможет дебаг IGMP Snooping (debug igmp snooping all) на сислог-сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, Aleksey Sonkin сказал:

Замечу, что это не баг:)

возможно, но если кто-то начинает посылать V1, то SNR тоже начинает работать на V1. И потом вся таблица групп постепенно превращается в V1.

Когда были агрегации другого вендора - этого не было. Это 100%.

В принципе неважно, главное что это можно отфильтровать несмотря на то, что на SNR'ах явно обозначена версия V2. А он слушает всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@semop опциональна версия для General Queries, а версию V1 он слушать обязан.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Aleksey Sonkin согласен, но полную "миграцию" на V1 я все равно не понял, поэтому очень рад, что ее можно выпилить способом №2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 23.06.2020 в 16:50, passer сказал:

На d-link'е покажите
 


show multicast port_filtering_mode

А зачем квериер на SNR? В сети нет своего PIM'а ?
Кроме того как мультикаст идет сквозь DGS-3000-28SC (снупинг? просто тэгированный влан транзитом?) ?
Косяки могут быть и в прошивке домовых свитчей (Это ж делинк, решается подбором только). В общем мало информации.

 

Через D-Link'и в ядре мультикаст идет в ISM-влане (мультикаст-влан), снупинг включен.

Multicast Filtering Mode - Filter Unregistered Groups. Кроме того фильтруется все, что не разрешено в настройках ISM-влана.

Насчет "зачем квериер" - не понял, разве он не нужен? Никаких PIM'ов нет, все чисто по L2.

 

23 часа назад, semop сказал:

У нас так фастлив прикалывался.

Фастлив на SNR выключен, в ядре выключен, и на доступе практически везде выключен, т.к. получили кучу проблем, когда давно пробовали везде включать.

 

23 часа назад, semop сказал:

Путем подбора таймингов получилось такое:

Агрегация (прокси нет):

До меня никак не дойдет что же обозначает эта "надежность" robustness. Ну, так сказать, своими словами.

23 часа назад, semop сказал:

++ с помощью саппорта НАГа отфильтровали IGMP V1, которую SNR слушал, несмотря что везде V2. И по итогам на агрегациях и квэриере некоторые группы работали по V1. После фильтрации SNR перестал отвечать на IGMP V1.

V1 в выводе групп на SNR не наблюдаю.

 

7 часов назад, Aleksey Sonkin сказал:

Вообще, в данном случае очень поможет дебаг IGMP Snooping (debug igmp snooping all) на сислог-сервер.

Я уже подумываю над этим, насчет дебага. Правда не думал, что есть возможность дебага на сислог-сервер. Думал делать через такие команды:

SNR-S2990X-24FQ#debug igmp snooping ?
  all             All
  authentication  Igmp authentication
  event           Event
  mfc             Mfc
  packet          Packet
  timer           Timer
SNR-S2990X-24FQ#debug driver receive interface all protocol igmp ?
  detail  Detail
  <cr>

Но это я так понимаю просто даст вывод в терминал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@gard это даст вывод в debug-level а дальше в зависимости от настроек, можете сливать на сервер, ну или копировать из терминала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Черная картинка это вроде как нет каста. Но она будет черной, если приставку только включили (ну на наших так). Если что-то с кастом не то, то картинка сначала должна стопориться. Просто я черный экран внутри потока ни разу не видел, даже если он прерывается.

Может не в мультикасте дело?

 

robustness, это опционально, я менял потому что экспериментальным путем выяснилось что не успевает SNR принять/обработать/отдать некоторые igmp сообщения за дефолтный таймер, поэтому и приподнял его.

 

 

robustness:

 

timeout interval = General group query interval x Robustness variable + Maximum response time for Query messages
Last member query time = Last member query interval x Robustness variable

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

15 часов назад, Aleksey Sonkin сказал:

это даст вывод в debug-level а дальше в зависимости от настроек, можете сливать на сервер, ну или копировать из терминала.

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

Надо еще раз перечитать матчасть перед этим делом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.