IGMP — Internet Group Management Protocol — это сетевой протокол взаимодействия клиентов мультикастового (multicast) трафика и ближайшего к ним маршрутизатора (роутера).
Роль IGMP очень проста: если клиентов нет — передавать multicast-трафик в сеть не надо. Если появился клиент (например, УРМ видеонаблюдения), он уведомляет маршрутизаторы с помощью IGMP о том, что хочет получать multicast-трафик.
Функция протокола IGMP заключается в создании и поддержании работы групп рассылки multicast-трафика. Если появляется клиент (например, УРМ видеонаблюдения), который хочет получать multicast-трафик, то он уведомляет об этом маршрутизаторы с помощью протокола IGMP. При отсутствии клиентов передача multicast-трафика в соответствующий сегмент сети не производится.
Часто IP видеосистема и другие службы офиса используют единую компьютерную сеть. По умолчанию коммутатор передаёт multicast-трафик как широковещательный, т.е. на все порты без исключения, независимо от того, нужен ли он подключённым к ним получателям или нет. Так видеотрафик будет транслироваться не только на ПК с УРМ, но и всем другим устройствам сети. Это перегружает сеть и снижает безопасность за счёт общедоступности к информации от системы охраны. Использование такого "поведения по умолчанию" злоумышленником может привести к успешной DoS-атаке на всю сеть или некоторые устройства в ней.
Существует несколько версий IGMP:
- IGMP v1 (RFC1112) устаревшая версия, она практике уже не используется.
- IGMP v2 (RFC2236) улучшен механизм работы с группами передачи multicast-трафика.
- IGMP v3 (RFC3376) поддерживает фильтрацию источника многоадресной multicast рассылки. В случае наличия нескольких источников одинакового multicast-вещания (например, различные сервисы IP-телевиденья) позволяет настроить получение из выбранного источника.
Версии IGMP является обратно совместимыми.
Функция IGMP snooping сокращает трансляцию multicast-трафика потребителям, которым он не нужен. Коммутатор с IGMP snooping анализирует информацию протокола IGMP от маршрутизатора (роутера) и блокирует передачу через порты, к которым не подключены потребители multicast-трафика (например, УРМ), тем самым существенно снижая нагрузку на сеть.
IGMP snooping существенно улучшает работу сети, в которой активно используются приложения, основанные на multicast-вещании (IP-видеонаблюдение, видеоконференции, онлайн-игры и др.).
Функция IGMP snooping реализуются во многих управляемых коммутаторах.
Если в сети есть несколько маршрутизаторов, то возможно дублирование multicast-трафика, что существенно загружает сеть. Во избежание этого существует механизм выбора IGMP querier.