Общая информация

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


  • Нет меток