Перейти к основному содержимому

12.5 Настройка IGMP Snooping

12.5.1 Обзор

Введение в функциональность

Коммутаторы уровня 2 могут использовать IGMP Snooping для ограничения распространения мультикастового трафика, динамически настраивая интерфейсы уровня 2 так, чтобы мультикастовый трафик передавался только на те интерфейсы, которые связаны с устройствами, использующими IP-мультикаст.

Как следует из названия, IGMP Snooping требует, чтобы LAN-коммутатор "прослушивал" передачи IGMP между хостами и маршрутизатором, отслеживая мультикастовые группы и порты участников.

  • При получении IGMP-отчета от хоста для конкретной мультикастовой группы коммутатор добавляет номер порта хоста в запись таблицы пересылки.
  • При получении сообщения IGMP Leave Group от хоста порт удаляется из записи таблицы.
  • Если коммутатор не получает отчеты IGMP о членстве от клиентов мультикастов, он удаляет соответствующие записи.

Мультикастовый маршрутизатор периодически отправляет общие запросы всем VLAN. Хосты, заинтересованные в данном мультикастовом трафике, отправляют отчеты IGMP, на основе которых они добавляются в таблицу пересылки.

Коммутатор пересылает только один отчет для каждой мультикастовой группы IP к маршрутизатору мультикастов. Для каждой MAC-группы, от которой был получен IGMP-отчет, создается одна запись на VLAN в таблице пересылки уровня 2.

Динамические и статические группы

Мультикастовые группы уровня 2, изученные с помощью IGMP Snooping, являются динамическими. Если для адреса мультикастовой группы задано статическое членство, оно имеет приоритет над динамическими настройками IGMP Snooping. Списки членства в мультикастовых группах могут включать как статически заданные пользователем, так и автоматически изученные через IGMP Snooping настройки.

Ограничения и замечания

Протоколы VRRP, RIP и OSPF используют мультикастовые IP-адреса, поэтому следует избегать конфликта MAC-адресов, связанных с этими IP-адресами:

  • VRRP использует мультикастовый IP-адрес 224.0.0.18. При одновременной работе IGMP Snooping и VRRP избегайте использования групп, чей MAC-адрес совпадает с этим IP-адресом.
  • OSPF использует мультикастовый IP-адрес 224.0.0.5. При одновременной работе IGMP Snooping и OSPF избегайте совпадения MAC-адресов.
  • RIP использует мультикастовый IP-адрес 224.0.0.9. Аналогично, избегайте конфликта MAC-адресов при одновременной работе IGMP Snooping и RIP.

12.5.2 Конфигурация

Включение IGMP Snooping

IGMP Snooping может быть включен как глобально, так и на уровне отдельных VLAN.

  • Если IGMP Snooping отключен глобально, он не может быть активен ни на одном VLAN, даже если он включен для конкретного VLAN.
  • Если IGMP Snooping включен глобально, его можно отключить на уровне отдельных VLAN.
  • Глобальная конфигурация имеет приоритет над настройками на уровне VLAN.

По умолчанию IGMP Snooping включен как глобально, так и на уровне VLAN.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Включение IGMP Snooping глобально и на VLAN

Switch(config)# ip igmp snooping
Switch(config)# ip igmp snooping vlan 1

Шаг 3: Выход из режима конфигурации

Switch(config)# end

Шаг 4: Проверка

Используйте следующую команду для отображения состояния IGMP Snooping на VLAN:

Switch # show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :
Igmp Snooping Mrouter Port Aging Interval(sec) :255

Настройка Fast Leave

Когда IGMP Snooping Fast Leave включен, группа IGMP Snooping будет удалена сразу после получения соответствующего IGMP-отчета.

Если Fast Leave не включен, коммутатор отправляет специальный запрос IGMP. Если в установленный период времени ответ не получен, группа будет удалена.

По умолчанию IGMP Snooping Fast Leave отключен как глобально, так и на уровне VLAN.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Включение Fast Leave глобально и на VLAN

Switch(config)# ip igmp snooping fast-leave
Switch(config)# ip igmp snooping vlan 1 fast-leave

Шаг 3: Выход из режима конфигурации

Switch(config)# end

Шаг 4: Проверка

Switch # show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Enabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :
Igmp Snooping Mrouter Port Aging Interval(sec) :255

Настройка параметров Querier

Для работы IGMP и, соответственно, IGMP Snooping, в сети должен быть мультикастовый маршрутизатор, который генерирует запросы IGMP.

Таблицы, создаваемые для IGMP Snooping (содержащие порты участников для каждой мультикастовой группы), ассоциируются с запрашивающим устройством (querier).

Если запрашивающее устройство отсутствует, таблицы не создаются, и IGMP Snooping не функционирует.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Установка глобальных параметров

Switch(config)# ip igmp snooping query-interval 100
Switch(config)# ip igmp snooping query-max-response-time 5
Switch(config)# ip igmp snooping last-member-query-interval 2000
Switch(config)# ip igmp snooping discard-unknown

Шаг 3: Установка параметров на VLAN

Switch(config)# ip igmp snooping vlan 1 querier address 10.10.10.1
Switch(config)# ip igmp snooping vlan 1 querier
Switch(config)# ip igmp snooping vlan 1 query-interval 200
Switch(config)# ip igmp snooping vlan 1 query-max-response-time 5
Switch(config)# ip igmp snooping vlan 1 querier-timeout 100
Switch(config)# ip igmp snooping vlan 1 last-member-query-interval 2000
Switch(config)# ip igmp snooping vlan 1 discard-unknown

Шаг 4: Выход из режима конфигурации

Switch(config)# end

Шаг 5: Проверка

Switch # show ip igmp snooping querier
Global Igmp Snooping Querier Configuration
-------------------------------------------------
Version :2
Last-Member-Query-Interval (msec) :2000
Last-Member-Query-Count :2
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :0.0.0.0
TCN Query Count :2
TCN Query Interval (sec) :10
TCN Query Max Respose Time (sec) :5
Vlan 1: IGMP snooping querier status
--------------------------------------------
Elected querier is : 0.0.0.0
--------------------------------------------
Admin state :Enabled
Admin version :2
Operational state :Non-Querier
Querier operational address :10.10.10.1
Querier configure address :10.10.10.1
Last-Member-Query-Interval (msec) :2000
Last-Member-Query-Count :2
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100

Настройка Mrouter Port

Порт IGMP Snooping Mrouter — это порт коммутатора, предполагающий подключение к мультикастовому маршрутизатору.

  • Настройка: Порт Mrouter может быть настроен вручную для конкретного VLAN или изучен динамически.
  • Определение порта Mrouter: Если на порт указанного VLAN поступает общий запрос IGMP или сообщение PIMv2 Hello, этот порт становится Mrouter-портом для данного VLAN.

Функции порта Mrouter:

  • Все запросы IGMP, полученные на этом порту, будут распространяться по указанному VLAN.
  • Все отчеты IGMP и сообщения Leave, полученные на этом VLAN, будут направляться на Mrouter-порт, либо напрямую, либо в агрегированном виде, в зависимости от конфигурации подавления отчетов (Report Suppression).
  • Весь мультикастовый трафик на этом VLAN будет перенаправляться на порт Mrouter.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Включение подавления отчетов IGMP Snooping

Switch(config)# ip igmp snooping report-suppression

Шаг 3: Настройка порта Mrouter, включение подавления отчетов IGMP Snooping и установка времени устаревания динамического порта Mrouter для VLAN

Switch(config)# ip igmp snooping vlan 1 mrouter interface eth-0-1
Switch(config)# ip igmp snooping vlan 1 report-suppression
Switch(config)# ip igmp snooping vlan 1 mrouter-aging-interval 200

Шаг 4: Выход из режима конфигурации

Switch(config)# end

Шаг 5: Проверка

Switch# show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :eth-0-1
Igmp Snooping Mrouter Port Aging Interval(sec) :200

Настройка Querier TCN

Система поддерживает адаптацию обучения и обновления мультикастовых маршрутизаторов после схождения STP (Spanning Tree Protocol) путем настройки количества запросов TCN (Topology Change Notification) и интервала между ними.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Настройка количества запросов TCN и интервала

Switch(config)# ip igmp snooping querier tcn query-count 5
Switch(config)# ip igmp snooping querier tcn query-interval 20

Шаг 3: Выход из режима конфигурации

Switch(config)# end

Шаг 4: Проверка конфигурации

Switch# show ip igmp snooping querier
Global IGMP Snooping Querier Configuration
-------------------------------------------------
Version :2
Last-Member-Query-Interval (msec) :1000
Max-Query-Response-Time (sec) :10
Query-Interval (sec) :125
Global Source-Address :0.0.0.0
TCN Query Count :5
TCN Query Interval (sec) :20

VLAN 1: IGMP snooping querier status
--------------------------------------------
Elected querier is : 0.0.0.0
--------------------------------------------
Admin state :Disabled
Admin version :2
Operational state :Non-Querier
Querier operational address :0.0.0.0
Querier configure address :N/A
Last-Member-Query-Interval (msec) :1000
Max-Query-Response-Time (sec) :10
Query-Interval (sec) :125
Querier-Timeout (sec) :255

Настройка Report Suppression

Коммутатор использует подавление отчетов IGMP для пересылки только одного IGMP-отчета от каждого запроса маршрутизатора мультикастов устройствам мультикаста.

При включенном подавлении отчетов (по умолчанию) коммутатор отправляет первый IGMP-отчет от всех хостов для группы всем мультикастовым маршрутизаторам.

Оставшиеся отчеты IGMP для группы не пересылаются, что предотвращает дублирование отчетов.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Включение подавления отчетов глобально и для VLAN

Switch(config)# ip igmp snooping report-suppression
Switch(config)# ip igmp snooping vlan 1 report-suppression

Шаг 3: Выход из режима конфигурации

Switch(config)# end

Шаг 4: Проверка

Switch# show ip igmp snooping
Global IGMP Snooping Configuration
-------------------------------------------------
IGMP Snooping :Enabled
IGMP Snooping Fast-Leave :Disabled
IGMP Snooping Version :2
IGMP Snooping Robustness Variable :2
IGMP Snooping Max-Member-Number :2048
IGMP Snooping Unknown Multicast Behavior :Flood
IGMP Snooping Report-Suppression :Enabled
VLAN 1
-----------
IGMP Snooping :Enabled
IGMP Snooping Fast-Leave :Disabled
IGMP Snooping Report-Suppression :Enabled
IGMP Snooping Version :2
IGMP Snooping Robustness Variable :2
IGMP Snooping Max-Member-Number :2048
IGMP Snooping Unknown Multicast Behavior :Flood
IGMP Snooping Group Access-list :N/A
IGMP Snooping Mrouter Port :
IGMP Snooping Mrouter Port Aging Interval(sec) :255

Настройка Static group

Коммутатор может создавать группы IGMP Snooping при получении пакета IGMP Report на порту уровня 2 для указанного VLAN.

Также поддерживается настройка статических групп IGMP Snooping путем указания IP-адреса IGMP-группы, порта уровня 2 и VLAN.

Шаг 1: Вход в режим конфигурации

Switch# configure terminal

Шаг 2: Создание статической группы

Switch(config)# ip igmp snooping vlan 1 static-group 229.1.1.1 interface eth-0-2

Шаг 3: Выход из режима конфигурации

Switch(config)# end

Шаг 4: Проверка

Switch# show ip igmp snooping groups 
VLAN Interface Group-Address Uptime Expires-time
1 eth-0-2 229.1.1.1 00:01:08 stopped