Перейти к содержанию

Multicast VLAN Registration (MVR)

Multicast VLAN Registration — это технология, позволяющая передавать мультикаст-трафик через один выделенный VLAN, даже если пользователи находятся в разных VLAN.

MVR имеет три следующих типа ролей портов:

  • Source port — указывает, где находятся мультикаст-серверы;
  • Receiver port — указывает, где находятся мультикаст-слушатели (клиенты);
  • Inactive port — обозначают, что операции MVR на указанных портах отключены.

Каждый MVR vlan работает в одном из следующих режимов:

  • Динамический MVR (включен по умолчанию) - разрешает прохождение всех управляющих сообщений IPMC между исходными портами. Когда mvr-устройство получает запрос на получение определенного multicast-потока, оно не просто обрабатывает его локально, но и пересылает этот запрос вышестоящим маршрутизаторам через source-порт. В результате маршрутизатор видит, что есть хост, желающий получить поток и начинает отправлять multicast-трафик в сеть;
  • Совместимый MVR - коммутатор не отправляет вышестоящему маршрутизатору запрос на получение multicast-потока. Запрос от хоста остается внутри коммутатора и не уходит выше. Маршрутизаторы, подключенные к source портам должны быть настроены статически на отправку multicast трафика.

Если устройство не развернуто как оконечное сетевое оборудование, которое напрямую подключается к абонентам, то рекомендуется настроить активные порты MVR как source порты и включить тегирование для конкретного MVR VLAN.

Когда MVR и IGMP/MLD Snooping/Proxy включены одновременно, обрабатываются только те групповые адреса, которые не приняты MVR. Остальные адреса обрабатываются IGMP/MLD Snooping/Proxy.

Для развёртывания MVR необходимо выполнить следующие задачи:

  • Определить ожидаемые каналы для мультикаст-потока;
  • Создать профиль для разрешения ожидаемых групповых адресов;
  • Создать MVR VLAN с правильными ролями портов;
  • Связать соответствующий профиль с этой VLAN.

Особенность реализации

  • При использовании MVR не работает функция ip igmp snooping immediate-leave;
  • Нет возможности принудительно задать версию протокола IGMP/MLD.

Назначение применяемой команды/конфигурации

Команды в режиме глобальной конфигурации

mvr
mvr name <word16> channel <word16>
mvr name <word16> election
mvr name <word16> frame priority
mvr name <word16> frame tagged
mvr name <word16> igmp-address <ipv4_ucast>
mvr name <word16> last-member-query-interval <0-31744>
mvr name <word16> mode { compatible | dynamic }
mvr vlan <vlan_list> channel <word16>
mvr vlan <vlan_list> election
mvr vlan <vlan_list> frame { priority | tagged }
mvr vlan <vlan_list> igmp-address <ipv4_ucast>
mvr vlan <vlan_list> last-member-query-interval <0-31744>
mvr vlan <vlan_list> mode { compatible | dynamic }
mvr vlan <vlan_list> name <word16>
mvr vlan <vlan_list>

no mvr
no mvr name <word16> channel
no mvr name <word16> election
no mvr name <word16> frame { priority | tagged }
no mvr name <word16> igmp-address
no mvr name <word16> last-member-query-interval
no mvr name <word16> mode
no mvr vlan <vlan_list> { channel | election | frame | igmp-address| last-member-query-interval | mode }
no mvr vlan <vlan_list>

Команды в режиме настройки интерфейса

1
2
3
4
5
6
7
mvr immediate-leave
mvr name <word16> type { receiver | source }
mvr vlan <vlan_list> type { receiver | source }

no mvr immediate-leave
no mvr name <word16> type { receiver | source }
no mvr vlan {vlan_list} type { receiver | source }

Команды отображения информации

show mvr detail group-database [interface | name | sfm-information | vlan]
show mvr detail name <word16>
show mvr detail vlan <vlan_list>
show mvr group-database detail [name | vlan]
show mvr group-database interface { * | GigabitEthernet | 25GigabitEthernet }
show mvr group-database name <word16>
show mvr group-database sfm-information [detail | interface | name | vlan]
show mvr group-database vlan <vlan_list>
show mvr name <word16> [detail | group-database]
show mvr vlan <1-4094> [detail | group-database]

Команды очистки

1
2
3
clear mvr name <word16> statistics
clear mvr statistics
clear mvr vlan <vlan_list> statistics

Пример конфигурирования

Схема соединений

Схема соединений для примера нстройки MVR

Настройка

Шаг 1. Настройка диапазонов IP-адресов

1
2
3
4
# configure terminal
(config)# ipmc range IGMPv3 232.1.1.1 232.1.1.2
(config)# ipmc range IGMPv2 239.1.1.1 239.1.1.2
(config)# ipmc range IGMP 224.0.0.0 224.0.0.255

Шаг 2. Создание мультикаст профиля и привязка диапазонов

1
2
3
4
(config)# ipmc profile IGMP_PROFILE
(config-ipmc-profile)#range IGMP permit
(config-ipmc-profile)#range IGMPv3 permit
(config-ipmc-profile)#range IGMPv2 permit

Шаг 3. Включение MVR глобально

# configure terminal
(config)# mvr

Шаг 4. Указание транспортного VLAN, по которому будут идти все мультикаст-потоки от источника до получателей

(config)# mvr vlan 27
(config)# mvr vlan 27 election

Шаг 5. Указание IP-адреса, который будет использоваться для отправки IGMP-запросов

(config)# mvr vlan 27 igmp-address 10.50.52.10

Шаг 6. Привязка мультикаст профиля

(config)# mvr vlan 27 channel IGMP_PROFILE

Шаг 7. Включение управления рассылки незарегистрированного мультикаст трафика

(config)# no ip igmp unknown-flooding

Шаг 8. Настройка интерфейса GigabitEthernet 1/10 как источника

1
2
3
(config)# interface GigabitEthernet 1/10
(config-if)# switchport access vlan 27
(config-if)# mvr vlan 27 type source

Шаг 9. Настройка интерфейсов GigabitEthernet 1/20-21 как получателей

1
2
3
4
5
6
(config)# interface GigabitEthernet 1/20-21
(config-if)# switchport access vlan 20
(config-if)# mvr vlan 27 type receiver
(config-if)# ip igmp snooping immediate-leave
(config-if)# no spanning-tree
(config-if)# spanning-tree edge

Полный вывод выполненных конфигураций

ipmc range IGMPv3 232.1.1.1 232.1.1.2
ipmc range IGMPv2 239.1.1.1 239.1.1.2
ipmc range IGMP 224.0.0.0 224.0.0.255
!
ipmc profile IGMP_PROFILE
 range IGMP permit
 range IGMPv3 permit
 range IGMPv2 permit
!
mvr
mvr vlan 27
mvr vlan 27 election
mvr vlan 27 igmp-address 10.50.52.10
mvr vlan 27 channel IGMP_PROFILE
no ip igmp unknown-flooding
!

interface GigabitEthernet 1/10
 switchport access vlan 27
 mvr vlan 27 type source
!
interface GigabitEthernet 1/20
 switchport access vlan 20
 mvr vlan 27 type receiver
 ip igmp snooping immediate-leave
 no spanning-tree
 spanning-tree edge
!
interface GigabitEthernet 1/21
 switchport access vlan 20
 mvr vlan 27 type receiver
 ip igmp snooping immediate-leave
 no spanning-tree
 spanning-tree edge

Изучение состояния устройства

Просмотр конфигурации

# show mvr group-database

MVR is now enabled to start group registration.

MVR Group Database

Switch-1 MVR-IGMP Group Table

239.1.1.1 is registered on MVR 27
Port Members: Gi 1/21



# show mvr detail

MVR is now enabled to start group registration.

Switch-1 MVR-IGMP Interface Status

IGMP MVR VLAN 27 (Name is not set) interface is enabled.
Querier status is ACTIVE ( Join Querier-Election )
Querier Up time: 1437 seconds; Query Interval: 94 seconds
IGMP address is set to 10.50.52.10
Control frames will be sent as Tagged
PRI:0 / RV:2 / QI:125 / QRI:100 / LMQI:5 / URI:1
RX IGMP Query:0 V1Join:0 V2Join:4 V3Join:12 V2Leave:4
TX IGMP Query:32 / (Source) Specific Query:20
IGMP RX Errors:0; Group Registration Count:0
Port Role Setting:
Source Port  : Gi 1/10
Receiver Port: Gi 1/21
Inactive Port: Gi 1/1,Gi 1/2,Gi 1/3,Gi 1/4,Gi 1/5,Gi 1/6,Gi 1/7,Gi 1/8,Gi 1/9,Gi 1/11,Gi 1/12,Gi 1/13,Gi 1/14,Gi 1/15,Gi 1/16,Gi 1/17,Gi 1/18,Gi 1/19,Gi 1/20,Gi 1/22,Gi 1/23,Gi 1/24,Gi 1/25,Gi 1/26,Gi 1/27,Gi 1/28,Gi 1/29,Gi 1/30,Gi 1/31,Gi 1/32,Gi 1/33,Gi 1/34,Gi 1/35,Gi 1/36,Gi 1/37,Gi 1/38,Gi 1/39,Gi 1/40,Gi 1/41,Gi 1/42,Gi 1/43,Gi 1/44,Gi 1/45,Gi 1/46,Gi 1/47,Gi 1/48,Gi 1/49,25G 1/1,25G 1/2,25G 1/3,25G 1/4
Interface Channel Profile: IGMP_PROFILE (In IGMP Mode)
Description:
HEAD-> IGMP (Permit the following range)
Start Address: 224.0.0.0
End Address  : 224.0.0.255
NEXT-> IGMPv3 (Permit the following range)
Start Address: 232.1.1.1
End Address  : 232.1.1.2
NEXT-> IGMPv2 (Permit the following range)
Start Address: 239.1.1.1
End Address  : 239.1.1.2