Настройка MVR на Cisco ME3400
Начну с небольшого ликбеза. MVR (он же Multicast Vlan Registration) – технология, позволяющая инжектировать мультикаст во влан клиента непосредственно на свиче доступа. У D-Link такая технология называется ISM VLAN (IGMP Snooping Multicast VLAN). Таким образом до самого доступа влан с мультикаст-потоком у нас один, и только в самом конце он подмешивается к обычному пользовательскому влану. При этом Join/Leave сообщения также перехватываются и инжектируются в мультикаст-влан.
Для чего вообще это нужно? Можно, например, развести влан с мультикастом и клиентским трафиком по разным физическим трассам. Или не превращать каждый маршрутизатор еще и в PIM-роутер, уменьшая нагрузку на него. Вместе с IGMP Snooping использование MVR так же позволяет сэкономить на емкости каналов между сервером-источником и клиентами, например при использовании схемы vlan-на-пользователя.
В общем, если вы осознали, что вам нужна именно эта технология, добро пожаловать под кат.
Механизм управления MVR
Подключение (Join)
Подписчик отсылает сообщение IGMP Report на коммутатор для подключения к требуемому потоку мультикаста. Если коммутатор находит настроенный на нем MAC-адрес, соответствующий полученному запросу, процессор коммутатора меняет таблицу адресации, направляя мультикастовый VLAN (MVLAN) на этот порт в соответствующий VLAN.
Отключение (Leave)
Подписчик отправляет сообщение IGMP Leave на коммутатор для отключения от рассылки мультикаста. Коммутатор отсылает во VLAN этого порта групповой IGMP-запрос. Если во VLAN’е есть еще клиент, подписанный на эту рассылку, он должен ответить на запрос в течение установленного времени. В противном случае коммутатор исключает порт из списка рассылки.
Мгновенное отключение (Immediate Leave)
Подписчик отправляет сообщение IGMP Leave на коммутатор для отключения услуги, и коммутатор незамедлительно исключает соответствующий порт из списка рассылки.
Рассмотрим схему сети, с которой будем работать.
Имеем два аплинка – один с мультикаст-трафиком, приходит по L2. Другой – с клиентским трафиком от маршрутизатора. Т.к. MVR является технологией для свичей доступа, то имеет некоторые ограничения. Например, trunk-порт не может быть приемником мультикаст-потока, только источником. Порт-источник должен содержать mvr-vlan (по умолчанию это vlan 1). Предположим, что igmp snooping вы уже успешно настроили – невелика наука.
Для начала включим mvr глобально:
conf t mvr
Затем объявим vlan, в котором нам приходит multicast. Пусть это будет vlan 890. Mode dynamic означает, что mvr будет работать в “новом” режиме в противовес режиму Compatible (применялся для серий 3500XL и 2900XL).
mvr vlan 890 mvr mode dynamic
Теперь определяем multicast-группы, которые будем вещать, вот в таком формате:
mvr group 239.195.0.70 mvr group 239.195.1.19 mvr group 239.255.15.6
Можно так же указать диапазон групп:
mvr group 239.195.0.70 512
Всего можно вещать до 2000 MVR-групп (до 512 в режиме Compatible). Стоит отметить, что этот параметр очень важен – если его не указать, то работать ничего не будет – клиент просто не сможет подписаться на нужную ему группу.
Теперь займемся настройкой интерфейсов. На uplink-порту укажем тип-истоник, на порту, где сидит клиент, порт-премник.
interface GigabitEthernet0/1 description UPLINK port-type nni switchport trunk allowed vlan 103,890 switchport mode trunk mvr type source service-policy output max-queue end
interface FastEthernet0/24 description CLIENT switchport access vlan 103 mvr type receiver mvr immediate end
Если нам нужно передать мультикаст-поток дальше, то тип порта, куда поток уходит, тоже объявляется как source.
Проверяем:
cat-me3400#sh mvr interface
Port Type Mode VLAN Status Immediate Leave
------------------------------------------------------------------------------
Gi0/1 SOURCE Trunk 890 ACTIVE/UP DISABLED
Gi0/2 SOURCE Trunk 890 ACTIVE/UP DISABLED
Fa0/24 RECEIVER Access 103 ACTIVE/UP ENABLED
Здесь у нас два порта-источника (на самом деле, второй порт уходит дальше, к другим свичам), и один порт-приемник, в котором сидит клиент.
cat-me3400#sh mvr members
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------
239.195.0.70 ACTIVE Fa0/24 103 Dynamic
Если есть мемберы, значит кто-то сейчас смотрит ТВ. Если ничего нет – значит, либо сейчас нет никого, кто бы смотрел ТВ, либо, что вероятнее, не объявлена нужная mvr-группа.