Общая информация
IGMP - протокол управления многоадресной рассылкой данных (multicast) в IPv4 сетях. Наибольшее распространение протокол IGMP получил для предоставления пользователям услуги IPTV. Механизм IGMP snooping, реализованный на OLT, позволяет выполнять контроль участников групп многоадресной рассылки и управление multicast потоком, поступающим из вышестоящей сети оператора в целях оптимизации полосы пропускания и ограничения отправки multicast потока пользователям, не заинтересованным в его получении. Приведенные ниже диаграммы демонстрируют принцип рассылки multicast трафика при выключенном и включенном IGMP snooping.
Кроме того, IGMP snooping позволяет использовать дополнительные функции, связанные с управлением пользовательскими IGMP запросами:
- Фильтрацию разрешенных multicast групп;
- Подмену MAC, IP адресов в пользовательских IGMP запросах для последующего перенаправления в вышестоящую сеть;
- Функционал Querier, описанный в статье Функционал IGMP Querier на OLT (Querier, настраиваемый на OLT Eltex, работает только в пределах OLT, без участия в querier election);
- Функционал IGMP Report Suppression;
- Указание статических подписок пользовательских интерфейсов на указанные адреса IGMP групп;
- Функционал проксирования (перенаправления) пользовательских запросов IGMP Report в различные VLAN.
Роли интерфейсов OLT
На OLT существует несколько ролей (режимов) для uplink интерфейсов front-port, port-channel и downlink интерфейсов pon-port по отношению к функционалу IGMP snooping. Выделяются следующие режимы:
- Режим «mrouter» означает, что за данным интерфейсом располагается multicast маршрутизатор. По умолчанию все uplink интерфейсы имеют данную роль. При получении на данный интерфейс IGMP report пакета, он будет отброшен. Query пакеты пропускаются.
- Интерфейсы в режиме «host» предназначены для подключения клиентов. По умолчанию все pon-port имеют данную роль. При получении на данный интерфейс Query пакета, он будет отброшен. IGMP report пакеты пропускаются.
- Режим «learning» позволяет автоматически определять режим порта «host» или «mrouter» на основе пакетов, поступающих на данный интерфейс.
Для некоторых целей режимы портов могут быть изменены в конфигурации, в разделе конфигурирования VLAN. При необходимости изменение режима портов целесообразно выполнять для multicast VLAN. Пример необходимости изменения рассмотрен в статье по настройке multicast в каскадной схеме подключения - Настройка прохождения IPTV multicast между uplink.
Вывод списка режимов активных портов доступен при помощи команд:
LTP-16N# show ip igmp snooping mrouters vlan 99
Multicast routers ports. VLAN 99.
front-port 1 static
LTP-16N# show ip igmp snooping hosts vlan 99
Hosts ports. VLAN 99.
pon-port 2 00:00:00
pon-port 3 00:00:00
pon-port 4 00:00:00
pon-port 7 00:00:00
pon-port 9 00:00:00
pon-port 10 00:00:00
pon-port 11 00:00:00
pon-port 15 00:00:00
Обратите внимание. В выводах данных команд будут представлены только активные интерфейсы / интерфейсы, на которые назначен VLAN по которому осуществляется просмотр состояния.
Настройка функционала
Включение IGMP snooping
Управление включением функционала осуществляется в нескольких разделах – глобально на OLT из корневого раздела конфигурации и индивидуально по VLAN. По умолчанию функционал отключен глобально, но включен во всех VLAN. Это означает что по умолчанию функционал на OLT отключен и будет работать для всех VLAN после глобального включения.
Для глобального включения используйте команды:
LTP-16N# configure terminal LTP-16N(configure)# ip igmp snooping enable LTP-16N(configure)# do commit LTP-16N(configure)# do save
Если требуется выключить функционал в отдельных VLAN (например, в VLAN 100), но оставить включенным для всех остальных VLAN, используйте команды:
LTP-16N(configure)# vlan 100 LTP-16N(config)(vlan-100)# no ip igmp snooping enable LTP-16N(config)(vlan-100)# do commit LTP-16N(config)(vlan-100)# do save
На MA5160 используется аналогичная логика. По умолчанию функционал отключен глобально на управляющих платах FC, отключен глобально по всем слотам (линейным платам LC), но включен во всех VLAN. Для включения IGMP snooping на MA5160 используйте команды:
MA5160# configure terminal MA5160(configure)# ip igmp snooping enable MA5160(configure)# slot 1-16 MA5160(config)(slot-1-16)# ip igmp snooping enable MA5160(config)(slot-1-16)# do commit confirm
IGMP proxy report
По умолчанию функционал отключен. Включение может потребоваться, если необходимо перенаправить пользовательские IGMP запросы, например, из сервисного VLAN в VLAN, в котором расположен источник multicast вещания. Некоторые примеры схем, в которых это может потребоваться, описаны в статьях:
[LTP-N, LTX, MA5K] Типовая настройка NTU-1
[LTX, LTX-C, LC16XG, LC16C] Типовая настройка NTX-1
Управление функционалом осуществляется глобально. Для перенаправления запросов необходимо сформировать правило, в котором будет указываться диапазон проксируемых групп, а так же source и destination VLAN (откуда и куда будет перенаправляться запрос). Например, для активации функционала и создания правила перенаправления пользовательских IGMP report, поступающих в VLAN 40, на адреса multicast групп 224.0.0.1 - 226.255.255.255 из VLAN 40 в VLAN 30, используйте команды:
LTP-16N(configure)# ip igmp proxy report enable LTP-16N(configure)# ip igmp proxy report range 224.0.0.1 226.255.255.255 from 40 to 30 LTP-16N(configure)# do commit LTP-16N(configure)# do save
При необходимости, может быть создано несколько правил перенаправления IGMP report с разными диапазонами групп и разными VLAN. Например:
LTP-16N(configure)# ip igmp proxy report enable LTP-16N(configure)# ip igmp proxy report range 224.0.0.1 224.0.0.255 from 40 to 30 LTP-16N(configure)# ip igmp proxy report range 224.0.1.1 224.0.255.255 from 40 to 99 LTP-16N(configure)# ip igmp proxy report range 225.1.1.1 225.255.255.255 from 60 to 99 LTP-16N(configure)# ip igmp proxy report range 226.0.0.1 226.255.255.255 from 70 to 30 LTP-16N(configure)# ip igmp proxy report range 226.0.0.1 226.255.255.255 from 80 to 30 LTP-16N(configure)# do commit LTP-16N(configure)# do save
Так же возможно указать правило без указания конкретных VLAN-источников. Например, правило вида "перенаправлять IGMP report из всех VLAN в VLAN 30"
LTP-16N(configure)# ip igmp proxy report enable LTP-16N(configure)# ip igmp proxy report range 224.0.0.1 226.255.255.255 from all to 30 LTP-16N(configure)# do commit LTP-16N(configure)# do save
Функционал может быть включен только при наличии правила перенаправления в конфигурации.
На MA5160 функционал IGMP proxy report настраивается только из view определенного слота (на линейных платах LC).
Для работы proxy report необходимо чтобы IGMP snooping был включен и в VLAN, из которого должны перенаправляться IGMP report и в VLAN, в который они должны быть перенаправлены.
Статические multicast группы
Для обеспечения непрерывного вещания multicast потока для конкретной группы на конкретный пользовательский pon-port, может быть настроена статическая подписка на multicast группу. Статическая группа фиксируется в конфигурации и закрепляется за определенным интерфейсом pon-port, в который при данной настройке multicast поток будет отправляться постоянно независимо от наличия активных получателей данной multicast групп на порту. Настройка выполняется для определенного VLAN.
LTP-16N(configure)# vlan 99 LTP-16N(config)(vlan-99)# ip igmp snooping static 239.1.1.1 interface pon-port 16 LTP-16N(config)(vlan-99)# exit LTP-16N(configure)# do commit LTP-16N(configure)# do save
Подмена IP/MAC в поступающих пользовательских IGMP report
Настройка перезаписи source IP или source MAC для полученных пользовательских IGMP report так же выполняется в разделе конфигурирования VLAN. Параметры replace source-ip и replace source-mac могут настраиваться как вместе, так и по отдельности.
LTP-16N(configure)# vlan 99 LTP-16N(config)(vlan-99)# ip igmp snooping replace source-ip 1.1.1.1 LTP-16N(config)(vlan-99)# ip igmp snooping replace source-mac 22:22:22:22:22:22 LTP-16N(config)(vlan-99)# exit LTP-16N(configure)# do commit LTP-16N(configure)# do save
Мониторинг
Просмотр список активных подписок пользователей на multicast группы для всех VLAN:
LTP-16N# show ip igmp snooping groups
VLAN 30: groups count - 1
1: 233.7.70.29
Filter mode EXCLUDE
Member pon-port 4, expires 00:05:31
Filter mode EXCLUDE
Group expires 00:05:31
VLAN 99: groups count - 1
1: 239.25.25.25
Filter mode EXCLUDE
Member pon-port 1, expires 00:05:26
Filter mode EXCLUDE
Group expires 00:05:26
Просмотр список активных подписок пользователей на multicast группы для определенного VLAN:
LTP-16N# show ip igmp snooping groups vlan 30
VLAN 30: groups count - 1
1: 233.7.70.29
Filter mode EXCLUDE
Member pon-port 4, expires 00:05:25
Filter mode EXCLUDE
Просмотр список активных подписок для определенного ONT (доступно начиная с версии ПО 1.12.0):
LTP-16N# show interface ont 2/1 igmp groups
Port Vlan Multicast address Expires
--------- ---- ----------------- --------
2/1 30 225.54.205.130 00:04:06
--------- ---- ----------------- --------
Просмотр состояния конфигурации IGMP snooping для определенного VLAN:
LTP-16N# show ip igmp snooping config vlan 99
---------------------
VLAN 99 IGMP settings
---------------------
snooping: enabled
fast leave: disabled
querier: disabled
learning: enabled
robustness variable: 2
query interval: 125
query response interval: 100
querier ip address: 0.0.0.0
source ip address: 0.0.0.0
dscp: 0
igmp version: V1_V2_V3
mc router ports: front-port 1, front-port 2, front-port 3, front-port 5, front-port 6, front-port 7, front-port 8, port-channel 1, port-channel 2, port-channel 3, port-channel 4, port-channel 5, port-channel 6, port-channel 7, port-channel 8, port-channel 9, port-channel 10
learning enabled ports: none

