Собрал тестовый стенд как показано на рисунке.
Источник мультикаста наливает его до коммутаторов DGS-3620-28SC - 1 и DGS-3620-28SC - 2 по адресу 239.1.1.1. DGS-3620-28SC - 1 и DGS-3620-28SC - 2 объявлены как crp для 239.1.1.0/24 (приоритет значения не имеет) и cbsr с разными приоритетами в другом влане, по которому мультикаст доходит до DGS-3627. Обмен маршрутами происходит по OSPF. В коммутаторе DGS-3627 включен получатель мультикаста в своем маленьком уютном влане. Конфигурации примерно следующие:
DGS-3620-28SC - 1:
Код:
create ipif OSPF 192.168.20.3/24 OSPF state enable
create ipif MStream 192.168.30.3/24 MStream state enable
create route redistribute dst ospf src local mettype 2 metric 15
enable ospf
config ospf ipif OSPF state enable
enable pim
config pim cbsr hash_masklen 0
config pim crp holdtime 150 priority 2
config pim cbsr ipif OSPF priority 1
config pim ipif OSPF state enable mode sm dr_priority 100
config pim ipif MStream state enable mode sm
create pim crp group 239.1.1.0/24 rp MStream
DGS-3620-28SC - 2:
Код:
create ipif OSPF 192.168.20.4/24 OSPF state enable
create ipif MStream 192.168.30.4/24 MStream state enable
create route redistribute dst ospf src local mettype 2 metric 20
enable ospf
config ospf ipif OSPF state enable
enable pim
config pim cbsr hash_masklen 0
config pim crp holdtime 150 priority 5
config pim cbsr ipif OSPF priority 2
config pim ipif OSPF state enable mode sm dr_priority 50
config pim ipif MStream state enable mode sm
create pim crp group 239.1.1.0/24 rp MStream
DGS-3627:
Код:
create ipif Abon 10.100.100.1/24 Abon state enable
create ipif OSPF 192.168.20.7/24 OSPF state enable
create route redistribute dst ospf src local mettype 2 metric 20
enable ospf
config ospf ipif OSPF state enable
enable pim
config pim ipif Abon state enable
config pim ipif OSPF state enable
В итоге роут на подсеть с источником мультикаста на коммутаторе DGS-3627 ведет через DGS-3620-28SC - 1. Если подписаться с тестового клиента на группу 239.1.1.1, то мультикаст в VLAN OSPF будет форвардится через DGS-3620-28SC - 1. Если не выключая подписки на клиенте на коммутаторе DGS-3620-28SC - 1 поменять метрику редистрибуции маршрутов:
Код:
config route redistribute dst ospf src local metric 25
То практически мгновенно DGS-3620-28SC - 1 перестает форвардить мультикаст в VLAN OSPF, а DGS-3620-28SC - 2 начинает. Если же выполнить обратное действие на DGS-3620-28SC:
Код:
config route redistribute dst ospf src local metric 15
то мгновенного переключения не происходит. Ситуация развивается следующим образом. Примерно 3 минуты и 39-40 секунд продолжает форвардится мультикаст коммутаторов DGS-3620-28SC - 2. Затем примерно 3 минуты и 26-27 секунд никто вообще не форвардит трафик в VLAN OSPF. И спустя это время начинает форвардить трафик DGS-3620-28SC. Дополнительно обратил внимание на то, что проблема переключения мультикаста возникает при переключении с устройства с более высоким ip-адресом (в данном случае с 192.168.20.4 на 192.168.20.3). Не могу найти объяснения подобному поведению и понять является ли это нормальным поведением или нет?
PS: Версии прошивок - DGS-3627 (3.00.B38), DGS-3620-28SC (2.61.B005).
PPS: При этом не играет роли - если поменять один из 3620 с 3627 местами - ситуация выглядит анаологично.