Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии коммутации современных сетей Etherne...docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
13.5 Mб
Скачать

8.3 Подписка и обслуживание групп

Сам по себе многоадресный трафик не знает ничего о том, где находятся его адресаты. Как и для любого приложения для этого нужны протоколы.

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

В общем случае протокол IGMP определяет следующие типы сообщений:

· запрос о принадлежности к группе (Membership Query);

· ответ о принадлежности к группе (Membership Report);

· сообщение о выходе из группы (Leave Group Message).

В настоящее время существуют три версии протокола IGMP:

· IGMP версии 1 (IGMP v 1,описан в RFC 1112);

· IGMP версии 2 (IGMP v 2,описан в RFC 2236);

· IGMP версии 3 (IGMP v 3,описан в RFC 3376).

Протокол IGMP используется только в сетях с адресацией IPv4, так как в сетях с адресацией IPv6 групповая передача пакетов реализована по-другому.

8.4 Управление многоадресной рассылкой на 2-м уровне модели osi (igmp Snooping)

Когда коммутатор 2-го уровня получает многоадресный трафик он начинает передавать кадры через все порты,т.к. не находит записи о МАС-адресе в своей таблице коммутации. Это противоречит основному назначению коммутатора, которое заключается в ограничении трафика и передаче его только тем портам, к которым подключены получатели.

Рис. 8.3. Передача многоадресного трафика без поддержки управления им на коммутаторе

Управление многоадресной рассылкой на коммутаторе 2-го уровня может быть выполнено двумя способами.

Первый способ заключается в создании статических таблиц коммутации для портов, к которым не подключены подписчики многоадресных групп. Это позволяет ограничить многоадресный трафик и передавать его только через те порты, к которым подключены узлы-подписчики. Однако этот способ не позволяет динамически отслеживать добавление или исключение членов из многоадресной группы.

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

IGMP Snooping – это функция второго уровня модели OSI, которая позволяет коммутаторам изучать членов многоадресных групп, подключенных к его портам, прослушивая IGMP-сообщения (запросы и ответы), передаваемые между узлами-подписчиками и маршрутизаторами (коммутаторами уровня 3) сети.

Рис. 8.4. Передача многоадресного трафика с поддержкой IGMP Snooping 

Когда узел, подключенный к коммутатору, хочет вступить в многоадресную группу или отвечает на IGMP-запрос, полученный от маршрутизатора (коммутатора уровня 3) многоадресной рассылки, он отправляет IGMP-ответ, в котором указан адрес многоадресной группы. Коммутатор просматривает информацию в IGMP-ответе и создает в своей ассоциативной таблице коммутации IGMP Snooping запись для этой группы (если она не существует). Эта запись связывает порт, к которому подключен узел-подписчик, порт, к которому подключен маршрутизатор (коммутатор уровня 3) многоадресной рассылки, и МАС-адрес многоадресной группы.

Если коммутатор получает IGMP-ответ для этой же группы от другого узла данной VLAN, то он добавляет номер порта в уже существующую запись ассоциативной таблицы коммутации IGMP Snooping .

Формируя таблицу коммутации многоадресной рассылки, коммутатор осуществляет передачу многоадресного трафика только тем узлам, которые в нем заинтересованы. 

Рассмотрим пример работы функции IGMP Snooping для сети, показанной на рис.8.5.

Рис. 8.5. Процесс создания таблицы коммутации IGMP Snooping

Коммутатор уровня 3 отправляет IGMP-запрос коммутатору уровня 2, который рассылает его на порты 1-10, являющиеся членами одной VLAN. ПК 1 хочет вступить в многоадресную группу 239.192.1.10 и отправляет IGMP-ответ на адрес группы, указывая в качестве многоадресного МАС-адреса назначения 0х01-00-5E-40-01-0A. Процессор коммутатора 2-го уровня анализирует IGMP-ответ и создает в ассоциативной таблице коммутации IGMPSnooping (в первоначальный момент времени она пуста) запись для МАС-адреса 0х01-00-5Е-40-01-0A, эквивалентного групповому адресу 239.192.1.10. Также в эту запись заносится информация о портах, к которым подключены ПК 1 и коммутатор 3-го уровня.

ПК 2 также хочет вступить в многоадресную группу 239.192.1.10 и отправляет IGMP-ответ на адрес группы. Коммутатор анализирует IGMP-ответ и добавляет порт 10, к которому подключен ПК 2, в уже существующую запись для МАС- адреса 0х01-00-5E-40-01-0A. В результате порты 1, 10 и 25 ассоциированы с многоадресным МАС-адресом 0х01-00-5E-40-01-0A. Когда коммутатор получает IGMP-сообщение о выходе узла из группы, он удаляет номер порта, к которому подключен этот узел, из соответствующей записи таблицы коммутации IGMP Snooping. Функция IGMP Snooping сильно загружает центральный процессор и может снизить производительность коммутатора. Поэтому в коммутаторах обычно используются специализированные микросхемы ASIC, которые проверяют IGMP-сообщения на аппаратном уровне.