1.-igmp-snooping.md
1 # IGMP Snooping 2 3 Идея очень простая — коммутатор «слушает» проходящие через него IGMP-пакеты. 4 Для каждой группы отдельно он ведёт таблицу восходящих и нисходящих портов. 5 6 Если с порта пришёл IGMP Report для группы, значит там клиент, коммутатор добавляет его в список нисходящих для этой группы. 7 Если с порта пришёл IGMP Query для группы, значит там маршрутизатор, коммутатор добавляет его в список восходящих. 8 9 Таким образом формируется таблица передачи мультикастового трафика на канальном уровне. 10 В итоге, когда сверху приходит мультикастовый поток, он копируется только в нисходящие интерфейсы. Если на 16-портовом коммутаторе только два клиента, только им и будет доставлен трафик. 11 12  13 14 Гениальность этой идеи заканчивается тогда, когда мы задумываемся о её природе. Механизм предполагает, что коммутатор должен прослушивать трафик на 3-м уровне. 15 16 Впрочем, IGMP Snooping ни в какое сравнение не идёт с NAT по степени игнорирования принципов сетевого взаимодействия. Тем более, кроме экономии в ресурсах, он несёт в себе массу менее очевидных возможностей. Да и в общем-то в современном мире, коммутатор, который умеет заглядывать внутрь IP — явление не исключительное. 17