IGMP snoopingIGMP snooping — процесс отслеживания сетевого трафика IGMP, который позволяет сетевым устройствам канального уровня (свитчам) отслеживать IGMP-обмен между потребителями и поставщиками (маршрутизаторами) многоадресного (multicast) IP-трафика, формально происходящий на более высоком (сетевом) уровне. Эта функциональность доступна во многих управляемых коммутаторах для сети Ethernet (по крайней мере среднего и верхнего ценовых уровней), но всегда требует отдельного включения и настройки. После включения IGMP snooping коммутатор начинает анализировать все IGMP-пакеты между подключенными к нему компьютерами-потребителями и маршрутизаторами-поставщиками multicast трафика. Обнаружив IGMP-запрос потребителя на подключение к multicast группе, коммутатор включает порт, к которому тот подключён, в список её членов (для ретрансляции группового трафика). И наоборот: услышав запрос 'IGMP Leave' (покинуть), удаляет соответствующий порт из списка группы. НазначениеIGMP snooping разработан для предотвращения широковещательной (broadcast) ретрансляции multicast трафика компьютерам-потребителям, которые явно не заявили о своей заинтересованности в нём. Это позволяет коммутаторам исключать такой трафик из потоков, направляемых через порты, к которым не подключены его потребители, тем самым существенно снижая нагрузку на сеть. Однако при этом нагрузка на сам коммутатор не снижается, а повышается, поскольку такая фильтрация требует затрат памяти, NPU и CPU, в то время как простая ретрансляция по всем портам — операция «дешёвая». По умолчанию, без функции IGMP snooping коммутатор ретранслирует multicast трафик по всем своим портам, принадлежащим к тому же широковещательному домену или VLAN, что не только бесполезно, но и способно вызвать проблемы на некоторых конечных сетевых устройствах, вынужденных обрабатывать неожиданный для них поток данных. Использование такого «поведения по умолчанию» злоумышленником может привести к успешной DoS-атаке на всю сеть или некоторые устройства в ней. IGMP snooping способен существенно улучшить работу сети, в которой активно используются приложения, основанные на multicast вещании. По существу IGMP snooping есть оптимизация реалий канального уровня с учётом фактических потребностей сетевого уровня и не является функциональностью самого IGMP. РеализацииСуществуют две реализации IGMP snooping: активный и пассивный.
Например: есть два активных подписчика, и первый из них покидает группу, коммутатор определяет, что маршрутизатору эта информация не нужна, поскольку не влияет на состояние группы с точки зрения последнего. Однако, когда в следующий раз поступит обычный запрос от маршрутизатора, коммутатор пропустит ответ от оставшегося потребителя, чтобы маршрутизатор не счёл, что подписчиков больше нет. См. такжеСсылки на RFC
|