Artem Kolpakov писал(а):
Serhio
Вы разобрались с ситуацией?
При верно настроенном querier в ШК проблему подтвердить не могут.
Поднимаю тему, которой вынужденно не касался довольно долго, ибо снова актуально.
Querier есть, настроен правильно. Испытуемый DGS включен не в него, и в общем случае не будет включен в него.
При более внимательном рассмотрении выяснилось следующее.
1. IGMP Snooping включен.
DGS-1100 зачем-то снимает с уходящих в аплинк IGMP-запросов от STB тэг dot1q, т.е. IGMP-пакет улетает нативом.
Код:
13:40:15.036057 00:07:67:98:ad:c0 > 01:00:5e:00:00:02, ethertype IPv4 (0x0800), length 60: IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 224.0.0.2: igmp leave 225.2.2.2
13:40:15.044028 00:07:67:98:ad:c0 > 01:00:5e:1a:c6:7e, ethertype IPv4 (0x0800), length 60: IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 225.2.2.3: igmp v2 report 225.2.2.3
13:40:23.862689 00:07:67:98:ad:c0 > 01:00:5e:1a:c6:7e, ethertype IPv4 (0x0800), length 60: IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 225.2.2.3: igmp v2 report 225.2.2.3
13:40:24.082657 00:07:67:98:ad:c0 > 01:00:5e:1a:c6:7e, ethertype IPv4 (0x0800), length 60: IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 225.2.2.3: igmp v2 report 225.2.2.3
При этом обычные IP-бродкасты/юникасты, как и положено конфигом, уходят с тэгами.
Если с той стороны влан принимается с тэгом (так сейчас реализовано по всей сети с другими CPE, и плодить сущности очень не хотелось бы), то есссно, ничего не работает, потому как IGMP до querier'а не доходят.
Если с той стороны линка принимать этот влан нативом, то пакеты долетят до querier'а, мультикаст вернется обратно, все хорошо, IPTV на STB работает.
2. IGMP Snooping выключен.
IGMP-пакеты улетают в аплинк с тэгами, в общей куче с остальным трафиком влана...
Код:
13:37:27.555380 00:07:67:98:ad:c0 > 01:00:5e:00:00:02, ethertype 802.1Q (0x8100), length 64: vlan 866, p 0, ethertype IPv4,IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 224.0.0.2: igmp leave 225.2.2.2
13:37:27.561031 00:07:67:98:ad:c0 > 01:00:5e:1a:c6:0c, ethertype 802.1Q (0x8100), length 64: vlan 866, p 0, ethertype IPv4,IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto 2, length: 32, optlength: 4 ( RA )) 172.30.251.41 > 225.2.2.3: igmp v2 report 225.2.2.3
... и поскольку с той стороны линка этот влан (866 в данном примере) настроен тэгом, то пакеты долетят до querier'а, мультикаст вернется обратно, IPTV на STB работает, но мультикаст флудится на весь влан 866 в пределах DGS-1100, ибо IGMP Snooping выключен.
Можно как-то исправить сценарий 1?
И еще хотелка, возникшая параллельно.
Если при загрузке свитч не получает IP-адрес по DHCP с 4 (или 6?) попыток в течение примерно 30 секунд, он бросает это дело навсегда. Ну то есть, до следующего ребута. Это очень неудобно в случае мониторинга/поддержки большого количества таких CPE. Можно реализовать бесконечный (ну или хотя бы очень большой - 1млн сек устроит

) цикл получения IP-адреса, как это сделано в более серьезных коммутаторах типа DES-3200?