IGMP (Internet Group Management Protocol) — протокол управления групповой передачей данных в сетях, основанных на протоколе IP. 5 Он используется для динамической регистрации отдельных узлов в многоадресной группе локальной сети. 2
Работа IGMP основана на двух основных механизмах: 3
- IGMP Membership Querier. 3 Это сообщения, которые маршрутизаторы отправляют в сеть для определения, какие устройства являются членами определённой группы многоадресной рассылки. 3
- IGMP Membership Report. 3 Это сообщения, которые устройства отправляют маршрутизаторам, когда они присоединяются к группе или покидают её. 3
Процесс работы IGMP: 1
- При запуске клиента и задании на нём группы в сеть направляется запрос IGMP Membership Report, которым узел сообщает о желании получать мультикастовый трафик. 1 Такие запросы маршрутизаторами никуда не пересылаются и действуют только в пределах своего сегмента. 1
- После получения IGMP Membership Report маршрутизатор определяет наличие клиентов за соответствующим интерфейсом и заносит данные в таблицу. 1 Мультикастовый трафик передаётся клиенту. 1
- Чтобы не выполнять вещание впустую, маршрутизатор периодически проверяет наличие получателей. 1 Такая проверка выполняется путём отправки запроса IGMP Query во все нисходящие интерфейсы. 1
- После получения запроса IGMP Query, подключённый к группе хост отправляет в ответ сообщение IGMP Report. 1 Если в ответ на запрос Query поступает хотя бы один Report, значит, в группе ещё есть клиенты. 1 Поэтому маршрутизатор продолжает вещание мультикастового трафика в соответствующий интерфейс. 1
- Если же интерфейс не отвечает на запросы 3 раза подряд, он удаляется из таблицы многоадресной маршрутизации и перестаёт получать трафик. 1
IGMP используется только в сетях IPv4, так как в IPv6 групповая передача пакетов реализована по-другому. 5
IGMP применяется в различных сценариях, например, для потоковой передачи видео, онлайн-игр, организации видеоконференций на предприятиях. 34