13.2. Настройка MLD

Назначение

MLD (Mulitcast Listener Discovery) используется в локальной сети между сетевыми узлами и маршрутизаторами (или L3-коммутаторами) для отслеживания многоадресных групп, членами которых являются эти сетевые узлы.

Описание

Протокол MLD определяет роли «Query» и «Host»:

  • Query - это сетевое устройство, отправляющее запросы на получение информации о том, какие сетевые устройства являются членами определенной многоадресной группы.

  • Host - это приемник отправляющий отчеты (сообщения MLD Report) о своей принадлежности в ответ на запросы.

Набор объектов «Query» и «Host», получающих потоки мультикаст IPv6-данных из одного источника, называется многоадресной группой IPv6. Объекты «Query» и «Host», используют MLD-сообщения для присоединения к многоадресным группам IPv6 (MLD Report) и выхода из них (MLD Leave). Любой сетевой узел, независимо от того, является ли он членом группы, может отправлять сообщения в группу. Однако, получают сообщения только члены группы. Членство в многоадресной группе является динамическим – сетевые узлы могут присоединяться и покидать ее в любое время. Нет никаких ограничений на местоположение или количество членов многоадресной группы.

Host может быть членом более чем одной многоадресной группы одновременно. Активность многоадресной группы и количество ее членов может варьироваться. Многоадресная группа может быть активной в течение длительного времени, а может быть очень недолговечной. Членство в группе может постоянно меняться. Группа, в которой есть члены, может не проявлять никакой активности.


MLD-пакеты отправляются с использованием следующих адресов многоадресных групп IPv6:

  • Общие MLD-запросы направляются по адресу ff02::1 (все системы в подсети).

  • MLD-запросы для конкретной группы направляются на групповой IPv6-адрес.

  • Отчеты о членстве в MLD-группе направляются на групповой IPv6-адрес.

  • MLD-сообщения MLD Leave версии 1 (MLDv1) направляются на адрес ff02::2 (все многоадресные маршрутизаторы в подсети). В некоторых старых стеках IPv6 сообщения MLD Leave могут быть направлены на групповой IPv6-адрес, а не на адрес ff02::2.


Для получения более подробной информации о работе протокола MLD см. документацию RFC 2710 и RFC 3810.

Настройка

Не существует команды для включения MLD. Работа MLD всегда происходит совместно с PIMv6-SM. Когда на интерфейсе включен PIMv6-SM, MLD на этом интерфейсе будет включен автоматически, и наоборот.

Примечание

  • Для работы MLD необходимо, чтобы многоадресная IPv6-маршрутизация была включена на коммутаторе.

  • Коммутатор поддерживает создание записей MLD-групп путем изучения MLD-пакетов или путем настройки статических MLD-групп администратором.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Включение IPv6 и многоадресной IPv6-маршрутизации на коммутаторе

Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing

Шаг 3: Настройка порта

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport 
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim sparse-mode

Шаг 4: Настройка MLD-интерфейса

Switch(config-if)# ipv6 mld version 2 
Switch(config-if)# ipv6 mld query-interval 120
Switch(config-if)# ipv6 mld query-max-response-time 12
Switch(config-if)# ipv6 mld robustness-variable 3
Switch(config-if)# ipv6 mld last-member-query-count 3
Switch(config-if)# ipv6 mld last-member-query-interval 2000

Шаг 5: Ограничение максимального количества MLD-групп

Установка максимального количества для порта:

Switch(config-if)# ipv6 mld limit 1000
Switch(config-if)# exit

Установка максимального количества MLD-групп для коммутатора:

Switch(config)# ipv6 mld limit 2000

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

Switch(config)# interface eth-0-1
Switch(config-if)# ipv6 mld static-group ff0e::1234
Switch(config-if)# exit

Шаг 7: Установка прокси-сервера IPv6 MLD (необязательно)

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode 
Switch(config-if)# ipv6 mld proxy-service
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode 
Switch(config-if)# ipv6 mld mroute-proxy eth-0-1
Switch(config-if)# exit

Шаг 8: Выход из режима “Global config”

Switch(config)# end

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

Вывод MLD-интерфейса:

Switch# show ipv6 mld interface 
Interface eth-0-2 (Index 2)
 MLD Inactive, Version 1 (default)
 MLD mroute-proxy interface is eth-0-1
 MLD global limit is 2000
 MLD global limit states count is currently 0
 MLD interface limit is 4096
 MLD interface has 0 group-record states
 MLD activity: 0 joins, 0 leaves
 MLD query interval is 125 seconds
 MLD querier timeout is 255 seconds
 MLD max query response time is 10 seconds
 Last member query response interval is 1000 milliseconds
 Group Membership interval is 260 seconds
 Last memeber query count is 2
 Robustness Variable is 2
Interface eth-0-1 (Index 1)
 MLD Inactive, Configured for Version 2 proxy-service
 MLD host version 2
 MLD global limit is 2000
 MLD global limit states count is currently 0
 MLD interface limit is 1000
 MLD interface has 0 group-record states
 MLD activity: 0 joins, 0 leaves
 MLD query interval is 120 seconds
 MLD querier timeout is 366 seconds
 MLD max query response time is 12 seconds
 Last member query response interval is 2000 milliseconds
 Group Membership interval is 372 seconds
 Last memeber query count is 3
 Robustness Variable is 3

Вывод MLD-групп:

Switch# show ipv6 mld groups 
MLD Connected Group Membership
Group Address                           Interface            Expires
ff0e::1234                              eth-0-1              stopped