13.5 Настройка MLD Snooping
13.5.1 Введение в функцию
Коммутаторы уровня 2 могут использовать MLD snooping для ограничения флудирование multicast-трафика, динамически настраивая интерфейсы уровня 2 так, чтобы multicast-трафик передавался только на те интерфейсы, которые связаны с устройствами, использующими IPv6 multicast. Как следует из названия, MLD snooping требует, чтобы коммутатор не прослушивал передачи MLD между хостом и маршрутизатором и отслеживал multicast-группы и порты-участники. Когда коммутатор получает MLD-отчет от хоста для конкретной multicast-группы, он добавляет номер порта хоста в запись таблицы пересылки; когда он получает сообщение MLD Leave Group от хоста, он удаляет порт хоста из записи таблицы. Он также удаляет записи, если не получает MLD-отчеты от мультимедийных клиентов. Мультимедийный маршрутизатор периодически отправляет общие запросы всем VLAN. Все хосты, заинтересованные в этом multicast-трафике, отправляют отчеты и добавляются в запись таблицы пересылки. Коммутатор пересылает только один отчет для каждой IPv6 multicast-группы к мультимедийному маршрутизатору. Он создает одну запись на каждый VLAN в таблице пересылки уровня 2 для каждой MAC-группы, от которой он получает MLD-отчет.
Multicast-группы уровня 2, полученные через MLD snooping, являются динамическими. Если вы задаете членство в группе для multicast-адреса статически, ваше значение будет иметь приоритет перед любой автоматической обработкой MLD snooping. Списки членства в multicast-группах могут состоять как из заданных пользователем, так и из настроек, полученных с помощью MLD snooping.
Ограничения и рекомендации по конфигурации:
VRRP, RIPng и OSPFv3 используют multicast-IPv6-адреса, поэтому необходимо избегать использования таких multicast-IPv6-адресов, которые имеют тот же MAC-адрес, что и адреса multicast-IPv6, зарезервированные для VRRP, RIPng и OSPFv3:
- VRRP использует multicast-адрес группы ff02::12, поэтому, когда MLD snooping и VRRP работают вместе, необходимо избегать использования multicast-адреса группы, который совпадает с MAC-адресом группы ff02::12.
- OSPFv3 использует multicast-адрес группы ff02::5, поэтому, когда MLD snooping и OSPFv3 работают вместе, необходимо избегать использования multicast-адреса группы, который совпадает с MAC-адресом группы ff02::5.
- RIPng использует multicast-адрес группы ff02::9, поэтому, когда MLD snooping и RIPng работают вместе, необходимо избегать использования multicast-адреса группы, который совпадает с MAC-адресом группы ff02::9.
13.5.2 Конфигурация
Включение MLD Snooping
Шаг 1: Вход в режим настройки
Switch# configure terminal
Шаг 2: Включение MLD snooping глобально
Switch(config)# ipv6 mld snooping
Шаг 3: Включение MLD snooping для VLAN
Switch(config)# ipv6 mld snooping vlan 1
Шаг 4: Выход из режима настройки
Switch(config)# end
Шаг 5: Проверка
Switch# show ipv6 mld snooping vlan 1
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
Настройка Fast Leave
Когда функция MLD Snooping Fast Leave включена, группа MLD будет удалена сразу после получения соответствующего MLD отчета. В противном случае, коммутатор отправит соответствующий MLD-запрос. Если в течение установленного времени не будет получен ответ, группа будет удалена. По умолчанию MLD Snooping Fast Leave отключен глобально и для каждой VLAN.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Включите Fast Leave глобально
Switch(config)# ipv6 mld snooping fast-leave
Шаг 3: Включите Fast Leave для конкретной VLAN
Switch(config)# ipv6 mld snooping vlan 1 fast-leave
Шаг 4: Выйдите из режима конфигурации
Switch(config)# end
Шаг 5: Проверка
Switch# show ipv6 mld snooping vlan 1
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
Настройка параметров Querier (по желанию)
Для работы MLD, а значит и MLD Snooping, в сети должен быть присутствовать multicast маршрутизатор, который генерирует MLD-запросы. Таблицы, создаваемые для snooping (содержащие порты-участники для каждой multicast группы), связаны с querier. Без querier таблицы не будут созданы, и функция snooping не будет работать.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Настройка параметров Querier для MLD Snooping
Установите интервал запросов MLD и максимальное время отклика на запросы:
Switch(config)# ipv6 mld snooping query-interval 100
Switch(config)# ipv6 mld snooping query-max-response-time 5
Установите интервал запроса последнего члена:
Switch(config)# ipv6 mld snooping last-member-query-interval 2000
Установите параметры запроса для VLAN 1:
Switch(config)# ipv6 mld snooping vlan 1 querier address fe80::1
Switch(config)# ipv6 mld snooping vlan 1 querier
Switch(config)# ipv6 mld snooping vlan 1 query-interval 200
Switch(config)# ipv6 mld snooping vlan 1 query-max-response-time 5
Switch(config)# ipv6 mld snooping vlan 1 querier-timeout 100
Switch(config)# ipv6 mld snooping vlan 1 last-member-query-interval 2000
Отключите неизвестные мультикастовые пакеты глобально:
Switch(config)# ipv6 mld snooping discard-unknown
Шаг 3: Выйдите из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch # show ipv6 mld snooping querier
Global Mld Snooping Querier Configuration
-------------------------------------------------
Version :1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :::
TCN Query Count :2
TCN Query Interval (sec) :10
Vlan 1: MLD snooping querier status
--------------------------------------------
Elected querier is : fe80::1
--------------------------------------------
Admin state :Enabled
Admin version :1
Operational state :Querier
Querier operational address :fe80::1
Querier configure address :fe80::1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100
Настройка порта Mrouter
Порт mrouter в MLD Snooping — это порт коммутатора, который предполагается как подключение к multicast маршрутизатору. Порт mrouter настраивается для VLAN или определяется динамически. Когда на порт указанного VLAN приходит пакет MLD general query или PIMv6 hello, этот порт становится mrouter портом для данного VLAN. Все MLD-запросы, полученные на этом порту, будут распространяться по соответствующему VLAN. Все MLD-отчеты и сообщения об уходе, полученные в этом VLAN, будут перенаправляться на mrouter порт, непосредственно или агрегированно, в зависимости от конфигурации подавления отчетов. Кроме того, весь multicast трафик в этом VLAN будет перенаправляться на этот mrouter порт.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Включите подавление MLD-отчетов глобально
Switch(config)# ipv6 mld snooping report-suppression
Шаг 3: Настройте порт mrouter
Switch(config)# ipv6 mld snooping vlan 1 mrouter interface eth-0-1
Шаг 4: Настройте параметры MLD Snooping для VLAN
Включите подавление MLD-отчетов и установите интервал старения динамического порта mrouter:
Switch(config)# ipv6 mld snooping vlan 1 report-suppression
Switch(config)# ipv6 mld snooping vlan 1 mrouter-aging-interval 200
Шаг 5: Выйдите из режима конфигурации
Switch(config)# end
Шаг 6: Проверка
Switch# show ipv6 mld snooping vlan 1
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Discard
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Discard
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :eth-0-1(static)
Mld Snooping Mrouter Port Aging Interval(sec) :200
Настройка Querier TCN
Пользователь может настроить интервал TCN и количество запросов для адаптации процесса multicast обучения и обновления после завершения конвергенции STP.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Настройте параметры TCN для MLD Snooping querier
Установите количество запросов TCN и интервал запроса:
Switch(config)# ipv6 mld snooping querier tcn query-count 5
Switch(config)# ipv6 mld snooping querier tcn query-interval 20
Шаг 3: Выйдите из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch # show ipv6 mld snooping querier
Global Mld Snooping Querier Configuration
-------------------------------------------------
Version :1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :::
TCN Query Count :5
TCN Query Interval (sec) :20
Vlan 1: MLD snooping querier status
--------------------------------------------
Elected querier is : fe80::1
--------------------------------------------
Admin state :Enabled
Admin version :1
Operational state :Querier
Querier operational address :fe80::1
Querier configure address :fe80::1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100
Настройка Report Suppression
Коммутатор использует подавление отчетов MLD для того, чтобы пересылать только один MLD отчет на каждый запрос от multicast маршрутизатора для multicast устройств. Когда подавление отчетов MLD маршрутизатора включено (по умолчанию), коммутатор отправляет первый MLD отчет от всех хостов для группы ко всем multicast маршрутизаторам. Коммутатор не отправляет остальные MLD отчеты для группы на multicast маршрутизаторы. Эта функция предотвращает отправку дублирующихся отчетов multicast устройствам.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Включите подавление отчетов MLD глобально
Switch(config)# ipv6 mld snooping report-suppression
Шаг 3: Включите подавление отчетов MLD для VLAN
Switch(config)# ipv6 mld snooping vlan 1 report-suppression
Шаг 4: Выйдите из режима конфигурации
Switch(config)# end
Шаг 5: Проверка
Switch # show ipv6 mld snooping
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Version :2
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :2
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
Настройка статической группы
Коммутатор может строить группу MLD Snooping при получении пакета MLD отчета на порту Layer 2 указанного VLAN. Также поддерживается настройка статической группы MLD Snooping путем указания MLD группы, порта Layer 2 и VLAN.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Настройте статическую группу
Switch(config)# ipv6 mld snooping vlan 1 static-group ff0e::1234 interface eth-0-2
Шаг 3: Выйдите из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch# show ipv6 mld snooping groups
VLAN Interface Group Address Uptime Expire-time
1 eth-0-2 ff0e::1234 00:00:02 stopped