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