Что такое igmp snooping в роутере
Перейти к содержимому

Что такое igmp snooping в роутере

  • автор:

IGMP snooping: что это в роутере и для чего нужно?

IGMP snooping что это в роутере и зачем нужна такая настройка? IGMP — процесс отслеживания сетевого трафика, который является одним из протоколов на канальном уровне.

Немного подробнее о проблемах, из-за которых вы могли заинтересоваться IGMP snooping:

  • вы играете в сетевые игры;
  • пользуетесь функцией интернет-телевидения IPTV Ростелеком или любого другого провайдера;
  • подписаны на какую-либо сетевую систему: видео-конференций, онлайн-обучения или даже почтовых рассылок.

И при этом у вас значительно снижается скорость на всех устройствах, которые подключены к роутеру. Например, вы смотрите IPTV на телевизоре, но у вас начинает «тупить» ПК или хуже работать интернет на телефоне. Возможна и другая проблема – IPTV, сетевые игры или службы, перечисленные выше, вовсе не запускаются и не работают. Во всех этих случаях решению поможет настройка IGMP snooping.

Что такое IGMP и зачем он нужен

Когда данные передаются по сети – по глобальному интернету, или от провайдера, или между вашими устройствами – это происходит по чётким правилам: протоколам. Каждый протокол определяет, как распознавать нули и единицы, как собирать их в пакеты данных, как проверять их «правильность» при получении и собирать в картинку на экране. Всего существует семь уровней – от электрических сигналов до вашего браузера.

Internet Group Management Protocol , по первым буквам которого и образована аббревиатура – один из таких протоколов на канальном уровне. Вы бы не знали о его существовании, если бы не возникали описанные выше «неполадки». Как видно из названия, это протокол для управления группами вещания. То есть когда к вам на роутер от провайдера приходит сигнал интернет-телевидения IPTV, он начинает транслировать его на все устройства. Это удобно, смотреть одну и ту же передачу на смартфоне и телевизоре. Но при этом любой другой девайс – к примеру, ваш компьютер – «не спрашивают», нужен ли ему сигнал. Поэтому он его всё равно получает, что снижает скорость интернета и расходует его ресурсы.

Snooping – это функция, которая помогает роутеру выяснить, каким устройствам нужен поток данных от онлайн-игры, телевидения или специальной службы. Попросту говоря, это оптимизация трафика внутри вашей сети и повышение её безопасности. Она должна работать автоматически, но иногда требуется настроить её вручную. Вот что такое IGMP в роутере.

Виды IGMP snooping

Поддержка роутера этого протокола уже означает, что у вас не будет проблем с получением сигнала от IPTV и от других служб. Но если маршрутизатор или модем более старый, то он может не принимать широковещательную передачу данных, либо просто ему не хватит мощности и он будет «подвисать». Но когда всё в порядке, то IGMP snooping может различаться по видам:

  1. Пассивный . Это базовая поддержка технологии, общее отслеживание и передача широковещательных данных. Всё работает, нагрузка на роутер минимальна. Однако на сеть и на девайсы в ней нагрузка увеличивается.
  2. Активный . Такой протокол максимально оптимизирует сеть. Он отсеивает «лишние» запросы к маршрутизатору, которые ему не нужны, освобождая ресурс передачи данных. Однако он увеличивает нагрузку на процессор и на память девайса. Устройства среднего и высокого ценового сегментов справляются с этим без проблем. Для девайсов подешевле это зависит от объёма данных.

Как настроить функцию в роутере

Разберу IGMP в роутере, что это за настройка – на примере IPTV. Обычно всё включается автоматически. Но если вы читаете эту статью, то что-то явно пошло не так. Поэтому проделайте такие шаги:

  • Зайдите в веб-интерфейс маршрутизатора: введите в адресной строке браузера 192.168.1.1 или 192.168.0.1 или адрес, который указан на наклейке снизу.
  • Введите логин и пароль – обычно это логин «admin» и пароль «admin», если вы их не сменили вручную. Или проверьте ту же наклейку на маршрутизаторе.

  • Перейдите к пункту «Сеть», «Настройки сети» или подобному. В ASUS она называется «Локальная сеть». Вам нужно найти вкладку «IPTV».

  • Опция «прокси» включает широковещание, фактически запускает функцию IPTV. Вот что это, IGMP proxy в роутере. Включите его.
  • Не на всех моделях есть пункт «IGMP Snooping», но если он присутствует, то включите и его. Snooping улучшит работу всех девайсов.
  • Нажмите «Применить».
  • Всё готово.

Возможные проблемы

Возможна неполадка, когда широковещание так и не заработало. Это может быть связано с фаерволом. Отключите его на несколько минут. Если проблема исчезла, то включите заново и в настройках разрешите протокол для интернет-телевидения, онлайн-игры или другой службы.

Если для IPTV используется отдельное оборудование-ресивер (зачем нужна ТВ приставка, это тема отдельного разговора), то в настройках маршрутизатора может потребоваться разрешить опцию «Мост». Она может называться «Choose WAN Bridge Port» или «Network-Bridge» – это зависит от девайса.

Наконец, если сигнал «подтормаживает», то девайс, скорее всего, перегружен. Придётся или ограничить работу других устройств, или отключить их. Если ничего не помогает, придётся менять маршрутизатор на более мощный.

В этой статье я попытался объяснить максимально понятным языком, что такое IGMP snooping в роутере. Надеюсь, данная информация будет вам полезна, и вы решите возникшие проблемы. Теперь ваши данные будут передаваться максимально оптимально и корректно, а атака на сеть с целью перегрузить все устройства в ней не принесёт результата.

Что такое IGMP snooping в роутере

Для начала дадим определение IGMP, чтобы понять принцип работы технологии. Internet Group Management Protocol – протокол управления сетью мультивещания, который организует несколько устройств в группы. Он основан на протоколе IP и применяется в интернете повсеместно, эффективно используя ресурсы сети.

IGMP snooping – процесс отслеживания multicast-трафика между группой потребителей и хостом. Включенная функция snooping начинает анализировать запросы пользователя на соединение с мультивещательной группой и добавляет порт в список IGMP-вещания. После завершения использования мультитрафика, пользователь оставляет запрос и протокол, удаляет порт из списка групповой передачи данных.

Таким образом snooping исключает передачу пользователю ненужных данных через multicast каналы

Это делает обмен данными на канальном уровне сети более эффективным и учитывает потребности сетевого уровня, что в особенности важно для поставщиков информации. Пользователи также получат оптимизированный контент, хотя в итоге нагрузка на сеть возрастёт. Без отслеживания и анализа данных, конечные потребители в виде конкретных IP-адресов, будут вынуждены «переваривать» дополнительную бесполезную для них информацию

IGMP snooping не только избавит пользователей от лишнего трафика, но и сделает обмен информацией более безопасным. Включенный режим отслеживания вовремя пресечёт попытки DDoS-атаки на сеть или конкретные адреса, к которым уязвим протокол Internet Group Management

Без отслеживания и анализа данных, конечные потребители в виде конкретных IP-адресов, будут вынуждены «переваривать» дополнительную бесполезную для них информацию. IGMP snooping не только избавит пользователей от лишнего трафика, но и сделает обмен информацией более безопасным. Включенный режим отслеживания вовремя пресечёт попытки DDoS-атаки на сеть или конкретные адреса, к которым уязвим протокол Internet Group Management.

Реализация

А теперь встаём следующая проблема – как это организовать. Представьте себе, что в сети у провайдера очень много узлов, коммутаторов, маршутизаторов, серверов и есть центральный сервер того же IPTV. Задача сервера отправить трафик таким образом, чтобы он максимально быстро через минимальное количество узлов дошёл до пользователя.

При этом нужно это сделать так, чтобы не образовалось кольцо – когда трафик начинает ходить по кругу и бесконечно. Поэтому путь пакетов будет выглядеть как дерево, да и топология будет использоваться подобная. То есть выходя пакет от сервера он подходит к одному из узлов. Дальше узел должен определить куда дальше отправлять пакет.

А теперь мы подобрались к протоколу IGMP (Internet Group Management Protocol) — это такой протокол, который позволяет быстро подключаться клиенту к ближайшему маршрутизатору. Он сообщает ему, что нужен трафик по тому или иному каналу. Если же запроса к маршрутизатору нет, то он просто простаивает и тем самым высвобождает ресурсы сети.

Также используется PIM (Protocol Independent Multicast) протокол – эта такая система, которая выстраивает адрес от сервера к конечному получателю через одну ветвь дерева. При этом система постоянно мониторит путь, чтобы менять его, если какой-то сегмент выключен или был перемещён.

Проще говоря, сервер транслирует только один сигнал каждого телевизионного канала. И пользователи получают только сигнал того канала, который запросили. Одновременно один сигнал могут получать и несколько приёмников. Именно для этого и нужен протокол IGMP.

Выбор RP

ip pim rp-address X.X.X.Xshow ip pim rpКлиент 2Bootstrapshow ip mrouteC-RP

BSR — BootStrap RouterC-BSR

BootStrap Message (BSM)Candidte-RP-Advertisementgroup-to-RP mappingRP-Setсамостоятельно

Завершая главу PIM SM, давайте ещё раз отметим важнейшие моменты
  1. Должна быть обеспечена обычная юникастовая связность с помощью IGP или статических маршрутов. Это лежит в основе алгоритма RPF.
  2. Дерево строится только после появления клиента. Именно клиент инициирует построение дерева. Нет клиента — нет дерева.
  3. RPF помогает избежать петель.
  4. Все маршрутизаторы должны знать о том, кто является RP — только с её помощью можно построить дерево.
  5. Точка RP может быть указана статически, а может выбираться автоматически с помощью протокола BootStrap.
  6. В первой фазе строится RPT — дерево от клиентов до RP — и Source Tree — дерево от источника до RP. Во второй фазе происходит переключение с построенного RPT на SPT — кратчайший путь от получателя до источника.

MDT — Multicast Distribution TreeSPT — Shortest Path Tree(S, G)Source TreeRPT — Rendezvous Point Tree(*, G)Shared TreeHelloJoin (*, G)Join (S, G)Prune (*, G)Prune (S, G)RegisterRegister-StopBootstrapAssertCandidate-RP-AdvertisementRP-Reachable*Есть и другие типы сообщений в PIM, но это уже детали*

(Optional) Configuring a Static Router Port

Context

A router port is located on a Layer 2 device and connects to an upstream Layer 3 device (a multicast router or Layer 3 switch). When IGMP snooping is enabled in a VLAN, all interfaces in this VLAN learn forwarding entries from multicast
protocol packets. When an interface receives IGMP Query messages or Protocol Independent Multicast (PIM) Hello messages, the Layer 2 device sets this interface as a dynamic router port. A router port provides the following functions:

  • Receives multicast data from the upstream device.
  • Forwards IGMP Report/Leave messages. IGMP Report/Leave messages received in a VLAN are forwarded only to router ports in the VLAN.

A dynamic router port has an aging time. If a dynamic router port does not receive an IGMP Query or a PIM Hello message before the aging time expires, the device deletes the port from the router port list. To enable an interface to forward
IGMP Report/Leave messages to the upstream querier for a long time, configure the interface as a static router port.

On a ring network running IGMP snooping, if the downstream port of a device is configured
as a static router port, downstream ports of all devices on the ring network must be configured as static router ports. Otherwise, multicast traffic cannot be forwarded normally if the Layer 2 network topology changes. Therefore, it is not recommended
to configure downstream ports as static router ports.

Procedure
  1. Run system-view The system view is displayed.
  2. (Optional) Run vlanvlan-id The VLAN view is displayed.
  3. (Optional) Run undo igmp-snooping router-learning Dynamic router port learning is disabled. By default,
    dynamic router port learning is enabled in a VLAN. You can also disable router port learning by running the undo igmp-snooping router-learning vlan < < vlan-id1 [ to vlan-id2 ] > & | all > command in the interface view.
  4. (Optional) Run quit Exit from the VLAN view.
  5. Run interfaceinterface-typeinterface-number The interface view is displayed.
  6. Run igmp-snooping static-router-port vlan < vlan-id1 [ to vlan-id2 ] > & The interface is configured as a static router port.

2800/2850/3450/3470/3750(T)/4610/8200/8250/8300/8370

QSW(config)#vlan 901 – создание влана

QSW(config-vlan901)# multicast-vlan – указание что влан является мультикастовым

QSW(config)#multicast-vlan group 224.2.2.0 254 – список разрешенных мультикаст-групп

Ip multicast: igmp configuration guide, cisco ios xe release 3s Что такое IGMP snooping в роутере Сети для самых маленьких. часть 9.4. мультикаст. мультикаст на канальном уровне Сети для самых маленьких. часть девятая. мультикаст / хабр оптимизация передачи multicast-трафика в локальной сети с помощью igmp snooping Часто задаваемые вопросы - базовое включение igmp-snooping на коммутаторах qtech Часто задаваемые вопросы - базовое включение igmp-snooping на коммутаторах qtech Igmp snooping - s2750, s5700, and s6720 v200r008c00 configuration guide - ip multicast - huawei Bridge igmp/mld snooping - routeros - mikrotik documentation Ip multicast: igmp configuration guide, cisco ios xe release 3s - igmp snooping [support] - cisco

QSW(config)#Interface Ethernet1/1-24

QSW(config-if-port-range)#switchport association multicast-vlan 901 – организация связки клиентского и мультикастового (901) вланов

QSW(config-if-port-range)#igmp snooping drop query – отбрасывать квери сообщения со стороны абонентов

QSW(config-if-ethernet1/25)#Interface Ethernet1/25

QSW(config-if-ethernet1/25)#igmp snooping drop report – отбрасывать репорт сообщения со стороны аплинка

QSW(config)#ip igmp snooping – глобальное включение igmp-snooping

QSW(config)#ip igmp snooping vlan 901 – указание в каком влане будет работать igmp-snooping

QSW(config)#ip igmp snooping vlan 901 mrouter-port interface Ethernet1/25 – указание порта, через который на коммутатор приходит мультикаст

Настройка Querier

QSW(config)#ip igmp snooping vlan 1 l2-general-querier – включение querier

QSW(config)#ip igmp snooping vlan 1 l2-general-querier-source 10.10.254.37 – ip-адрес querier

QSW(config)#ip igmp snooping vlan 1 l2-general-querier-version 2 – выбор версии IGMP

3300, 3310, 3750, 8200RQ

Настройка IGMP Snooping

(QSW)(Config)#set igmp – включение IGMP Snooping(QSW)(Config)#set igmp vlan 777 – выбор влана(QSW)(Config)#set igmp fast-leave 777 – включение IGMP Snooping Fast Leave во влане(QSW)(Config)#set igmp report-suppression 777 – подавление пакетов Report(QSW)(Config)#set igmp report-suppression source-address 10.10.254.33 – source IP-адрес для отправки IGMP Report (QSW)(Config)#interface 1/0/24(QSW)(Interface 1/0/24)#igmp snooping mrouter-port – настройка mrouter порта

Настройка Querier

(QSW)(Config)#set igmp querier – включение querier(QSW)(Config)#set igmp querier vlan 777 – выбор влана для querier(QSW)(Config)#set igmp querier address 10.10.254.33 – ip-адрес querier (QSW)(Config)#set igmp querier version 2 – выбор версии IGMP

Настройка ограничения мультикаст групп при помощи аксесс-листа

(QSW)(Config)#access-list 6000 permit any 224.1.1.1 0.0.0.255 – разрешенный диапазон (QSW)(Config)#access-list 6000 deny every – запрет для всех остальных групп(QSW)(Config)#interface 1/0/1(QSW)(Interface 1/0/1)#ip access-group 6000 in – применения аксесс-листа на клиентском интерфейсе

Все остальные настройки можно посмотреть в мануалах, если появятся дополнительные вопросы необходимо обратится в техническую поддержку через систему Helpdesk.

Мультикастовые MAC-адреса

Так какие же MAC-адреса получателей подставляются в заголовок Ethernet таких пакетов? Широковещательные? Нет. Существует специальный диапазон MAC-адресов, в которые отображаются мультикастовые IP-адреса.

Эти специальные адреса начинаются так: 0x01005e и следующий 25-й бит должен быть 0 (попробуйте ответить, почему так). Остальные 23 бита (напомню, всего их в МАС-адресе 48) переносятся из IP-адреса.

Здесь кроется некоторая не очень серьёзная, но проблема. Диапазон мультикастовых адресов определяется маской 224.0.0.0/4, это означает, что первые 4 бита зарезервированы: 1110, а оставшиеся 28 бит могут меняться. То есть у нас 2^28 мультикастовых IP-адресов и только 2^23 MAC-адресов — для отображения 1 в 1 не хватает 5 бит. Поэтому берутся просто последние 23 бита IP-адреса и один в один переносятся в MAC-адрес, остальные 5 отбрасываются.

Multicast MAC Address

Фактически это означает, что в один мультикастовый MAC-адрес будет отображаться 2^5=32 IP-адреса. Например, группы 224.0.0.1, 224.128.0.1, 225.0.0.1 и так до 239.128.0.1 все будут отображаться в один MAC-адрес 0100:5e00:0001.

Если взять в пример дамп потокового видео, то можно увидеть:

Дамп мультикаста

IP адрес — 224.2.2.4, MAC-адрес: 01:00:5E:02:02:04.

Cisco nexus 5000 series nx-os software configuration guide - configuring igmp snooping [cisco nexus 5000 series switches] - cisco Configuring basic vlan-based igmp snooping functions - s1720, s2700, s5700, and s6720 v200r011c10 configuration guide - ip multicast - huawei Igmp snooping without router Настройка igmp в локальной сети для контроля широковещательных iptv потоков — /dev/mem Igmp snooping - документация - nag wiki Базовая настройка igmp snooping на коммутаторах доступа - работает под управлением системы kayako Igmp snooping - s600-e v200r013c00 configuration guide - ip multicast - huawei Ip multicast: igmp configuration guide, cisco ios xe release 3s - igmp snooping [support] - cisco Базовое включение igmp-snooping на коммутаторах qtech Mld snooping - меры предосторожности при использовании продуктов серии s12700 - huawei

Есть также другие мультикастовые MAC-адреса, которые никак не относятся к IPv4-мультикаст (). Все они, кстати, характеризуются тем, что последний бит первого октета равен 1.

Естественно, ни на одной сетевой карте, не может быть настроен такой MAC-адрес, поэтому он никогда не будет в поле Source MAC Ethernet-кадра и никогда не попадёт в таблицу MAC-адресов. Значит такие кадры должны рассылаться как любой Unknown Unicast во все порты VLAN’а.

Всего, что мы рассматривали прежде, вполне достаточно для полноценной передачи любого мультикастового трафика от потокового видео до биржевых котировок. Но неужели мы в своём почти совершенном мире будем мирится с таким безобразием, как широковещательная передача того, что можно было бы передать избранным?

Вовсе нет. Специально для перфекционистов придуман механизм IGMP Snooping.

Concepts

As shown in , Router (Layer 3 device)
receives multicast data from the multicast source and forwards the
data to downstream devices. IGMP snooping is configured on SwitchA
and SwitchB. HostA, HostB, and HostC are receiver hosts.

Figure 10-3 IGMP snooping ports

shows IGMP snooping ports. The following table describes these ports.

Table 10-1 IGMP snooping ports

Ports marked as blue points on SwitchA
and SwitchB.

A router port is a port on a
Layer 2 multicast device and connects to an upstream multicast router.
“Router port” mentioned in this document does not refer to a port
on a router.

A router port receives multicast packets from a Layer 3
multicast device such as a designated router (DR) or IGMP querier.

  • A dynamic router port is generated by IGMP snooping. A port
    becomes a dynamic router port when it receives an IGMP General Query
    message or PIM Hello message with any source address except 0.0.0.0.
    The PIM Hello messages are sent from the PIM port on a Layer 3 multicast
    device to discover and maintain neighbor relationships.
  • A static router port is manually configured.

Ports marked as yellow points on SwitchA
and SwitchB.

A member port is a user-side port connecting to group members.
A Layer 2 multicast device sends multicast data to the receiver hosts
through member ports.

  • A dynamic member port is generated by IGMP snooping. A Layer
    2 multicast device sets a port as a dynamic member port when the port
    receives an IGMP Report message.
  • A static member port is manually configured.

A router port and a member port are outbound interfaces
in Layer 2 multicast forwarding entries. A router port functions as
an upstream interface, while a member port functions as a downstream
interface. Port information learned through protocol packets is saved
as dynamic entries, and port information manually configured is saved
as static entries.

Сети для самых маленьких. часть 9.4. мультикаст. мультикаст на канальном уровне Сети для самых маленьких. часть 9.2. мультикаст. протокол igmp Сети для самых маленьких. часть девятая. мультикаст Cisco nexus 5000 series nx-os software configuration guide Igmp snooping оптимизация передачи multicast-трафика в локальной сети с помощью igmp snooping Igmp snooping Igmp snooping without router Cisco nexus 5000 series nx-os software configuration guide - configuring igmp snooping [cisco nexus 5000 series switches] - cisco How to deploy multicast features on campus networks - igmp snooping - huawei

BIDIR PIM

Many-to-ManyПонятное дело, что инертный PIM SSM здесь совсем не подходит?Bidirectional PIM, BIDIR PIMИсточник1Источником2Источник1Источник2каждыйПолучательDF — Designated Forwarder

Если запрос PIM Join/Leave приходит на тот интерфейс, который в данном сегменте является DF, он передаётся в сторону RP по стандартным правилам.
Вот, например, R3. Если запросы пришли в DF интерфейсы, что помечены красным кругом, он их передаёт на RP (через R1 или R2, в зависимости от таблицы маршрутизации).

Если запрос PIM Join/Leave пришёл на не DF интерфейс, он будет проигнорирован.
Допустим, что клиент, находящийся между R1 и R3, решил подключиться и отправил IGMP Report. R1 получает его через интерфейс, где он выбран DF (помечен красным кругом), и мы возвращаемся к предыдущему сценарию. А R3 получает запрос на интерфейс, который не является DF. R3 видит, что тут он не лучший, и игнорирует запрос.

Если мультикастовый трафик пришёл на DF интерфейс, он будет отправлен в интерфейсы из списка OIL и в сторону RP.
Например, Источник1 начал передавать трафик

R4 получает его в свой DF интерфейс и передаёт его и в другой DF-интерфейс — в сторону клиента и в сторону RP, — это важно, потому что трафик должен попасть на RP и распространиться по всем получателям. Также поступает и R3 — одна копия в интерфейсы из списка OIL — то есть на R5, где он будет отброшен из-за проверки RPF, и другая — в сторону RP

Если мультикастовый трафик пришёл на не DF интерфейс, он должен быть отправлен в интерфейсы из списка OIL, но не будет отправлен в сторону RP.
К примеру, Источник2 начал вещать, трафик дошёл до RP и начал распространяться вниз по RPT. R3 получает трафик от R1, и он не передаст его на R2 — только вниз на R4 и на R5.

IGMP Snooping Proxy

У пытливого читателя может возникнуть вопрос по тому, как IGMP Snooping узнаёт все клиентские порты, учитывая, что на IGMP Query отвечает только один самый быстрый клиент, как мы говорили выше. А очень просто: IGMP Snooping не позволяет сообщениям Report ходить между клиентами. Они отправляются только в восходящие порты к маршрутизаторам. Не видя Report от других получателей этой группы, клиент обязан ответить на Query в течение Max Response Time, указанном в этом Query.

В итоге в сети на 1000 узлов на один IGMP Query в течение секунд 10 (обычное значение Max Response Time) придёт 1000 Report’ов маршрутизатору. Хотя ему достаточно было бы и одного для каждой группы.

И происходит это каждую минуту.

В этом случае можно настроить проксирование IGMP-запросов. Тогда коммутатор не просто «слушает» проходящие пакеты, он их перехватывает.

Правила работы IGMP Snooping могут отличаться для разных производителей. Поэтому рассмотрим их концептуально:

  1. Если на коммутатор приходит самый первый запрос Report на группу, он отправляется вверх к маршрутизатору, а интерфейс вносится в список нисходящих. Если же такая группа уже есть, интерфейс просто добавляется в список нисходящих, а Report уничтожается.
  2. Если на коммутатор приходит самый последний Leave, то есть других клиентов нет, этот Leave будет отправлен на маршрутизатор, а интерфейс удаляется из списка нисходящих. В противном случае просто удаляется интерфейс, Leave уничтожается.
  3. Если IGMP Query приходит от маршрутизатора, коммутатор перехватывает его, отправляет в ответ IGMP Report для всех групп, которые в данный момент имеют получателей.
    А дальше, в зависимости от настроек и производителя, либо этот же самый Query рассылается во все клиентские порты, либо коммутатор блокирует запрос от маршрутизатора и сам выступает в роли Querier, периодически опрашивая всех получателей.

Таким образом снижается и доля лишнего служебного трафика в сети и нагрузка на маршрутизатор.

Multicast Routing Overview

IP Multicast is a technology that allows one-to-many and many-to-many distribution of data on the Internet. Senders send their data to a multicast IP destination address, and receives express an interest in receiving traffic destined for such an address. The network then figures out how to get the data from senders to receivers.

If both the sender and receiver for a multicast group are on the same local broadcast subnet, then the routers do not need to be involved in the process, and communication can take place directly. If, however, the sender and receiver are on different subnets, then a multicast routing protocol needs to be involved in setting up multicast forwarding state on the tree between the sender and the receivers.

MikroTik supports PIM-SM multicast routing protocol. PIM means «platform independent multicast» — i.e. this protocol is not tied to any particular unicast routing IGP. SM means «sparse-mode»; as opposed to dense-mode, in sparse-mode protocols explicit control messages are used to ensure that traffic is only delivered to the subnets where there are receivers that requested to receive it.

In addition to the routing protocols used to set up forwarding state between subnets, a way is needed for the routers to discover that there are local receivers on a directly attached subnet. For IPv4 this role is served by the Internet Group Management Protocol (IGMP).

Service Models: ASM vs SSM

There are two different models for IP multicast:

  • Any Source Multicast (ASM), in which a receiver joins a multicast group, and receives traffic from any senders that send to that group.
  • Source-Specific Multicast (SSM), in which a receiver explicitly joins to a (source, group) pairing.

Multicast Addressing

For IPv4, multicast addresses are in the range 224.0.0.0 to 239.255.255.255 inclusive.
Addresses within 232.0.0.0/8 are reserved for SSM usage.
Addresses in 239.0.0.0/8 are ASM addresses defined for varying sizes of limited scope.
Addresses within 224.0.0.0/24 are considered link-local and are not forwarded between subnets. Mostly these addresses are used by applications that do not require communication to other networks. Here are some assigned hostgroup addresses by the internet assigned numbers authority (IANA):

  • 224.0.0.1 — All systems on the subnet
  • 224.0.0.2 — All routers on the subnet
  • 224.0.0.9 — For RIPv2
  • 224.0.0.14 — For VRRP
  • 224.0.1.1 — Network time protocol (NTP)

The internet assigned numbers authority (IANA) allocates ethernet addresses from 01:00:5E:00:00:00 through 01:00:5E:7F:FF:FF for multicasting, therefore leaving only 23 bits available for the multicast group ID.

Пример II

IGMP

IGMP — Internet Group Management Protocol1.IGMP Membership Report2.(*, 224.2.2.4)(172.16.0.5, 224.2.2.4)OIL — Outbound Interface Listshow ip mroute3.IGMP Query*Дамп отфильтрован по IGMP*General Query*Дамп отфильтрован по IGMP*4.IGMP LeaveGroup Specific Queryтолько*Дамп отфильтрован по IGMP*

И ещё раз

IGMPIGMP ReportIGMP General QueryIGMP Group Sepcific QueryIGMP LeaveQuerier

PIM

PIM — Protocol Independent MulticastCBT version 2 is not, and was not, intended to be backwards compatible with version 1; we do not expect this to cause extensive compatibility problems because we do not believe CBT is at all widely deployed at this stage.

  • PIM Dense Mode (DM)
  • PIM Sparse Mode (SM)

MLD Snooping

Используемые сетевые элементы

Сеть многоадресной рассылки IPv6 состоит из следующих сетевых элементов:

    Источник многоадресной рассылки Устройство, которое отправляет многоадресные данные на хосты-получатели. Например, видеосервер является источником многоадресной рассылки.

Bridge igmp/mld snooping - routeros - mikrotik documentation Сети для самых маленьких. часть 9.4. мультикаст. мультикаст на канальном уровне Сети для самых маленьких. часть девятая. мультикаст / хабр Часто задаваемые вопросы - базовое включение igmp-snooping на коммутаторах qtech Igmp snooping - s600-e v200r013c00 configuration guide - ip multicast - huawei Настройка igmp в локальной сети для контроля широковещательных iptv потоков — /dev/mem Ip multicast: igmp configuration guide - igmp snooping [cisco asr 1000 series aggregation services routers] - cisco Ip multicast: igmp configuration guide - igmp snooping [cisco asr 1000 series aggregation services routers] - cisco Mld snooping - меры предосторожности при использовании продуктов серии s12700 - huawei How to deploy multicast features on campus networks - igmp snooping - huawei

В главе «Конфигурирование MLD Snooping» описано, как настроить MLD Snooping на устройстве уровня 2.

Поддержка версий

Табл. 7-11 Продукты и версии, поддерживающие MLD Snooping

S12708 и S12712

V200R005C00, V200R006C00, V200R007C00, V200R007C20, V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00

V200R010C00, V200R011C10, V200R012C00

V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00

ПРИМЕЧАНИЕ: Подробная информация о сопоставлениях программного обеспечения см. Hardware Query Tool.

Характеристики зависимости и ограничения

  • Все конфигурирования MLD Snooping на интерфейсах, упомянутых в этой главе, выполняются на физических интерфейсах уровня 2, включая интерфейсы Eth-Trunk.
  • Если во VLAN требуются услуги многоадресной передачи уровня 2 и уровня 3, сначала включите MLD и PIM (IPv6) на соответствующем интерфейсе VLANIF, а затем включите MLD Snooping в VLAN. Если MLD Snooping впервые включен в VLAN, MLD и PIM (IPv6) не могут быть включены на интерфейсе VLANIF.
  • Если на расширенный ACL ссылаются в политике MLD Snooping, правила в ACL могут указывать только IP-адреса источника или пункта назначения. Если расширенный ACL содержит правило, которое указывает тип протокола или номер порта протокола, политика отслеживания MLD не вступает в силу.

Соображения по конфигурациям IGMP Snooping

Основные функции IGMP Snooping позволяют устройству создавать и поддерживать таблицу многоадресной пересылки уровня 2 и осуществлять многоадресную передачу данных по требованию на канальном уровне. Перед настройкой функций IGMP Snooping вы должны рассмотреть следующие элементы.

IGMP Snooping Querier

Для включения IGMP Snooping, многоадресный маршрутизатор должен быть развернут в топологии сети для генерации запросов IGMP. Без запроса отчеты о членстве в IGMP и таблицы членства в группах не могут регулярно извлекаться и обновляться, что приводит к нестабильной работе IGMP Snooping. Когда IGMP Snooping Querier настроен, он отправляет запросы IGMP через определенный интервал времени, чтобы генерировать сообщения отчетов IGMP от сетевого коммутатора с многоадресным членством. И IGMP Snooping прослушивает эти отчеты IGMP для установления соответствующей переадресации.

IGMP Snooping Proxy

IGMP Snooping proxy – расширенная функция. При включении коммутатора IGMP Snooping начинает работать так же, как и IGMP Snooping, а затем, когда коммутатор получает запрос IGMP от маршрутизатора, он незамедлительно отвечает в соответствии со своим состоянием. Если этот параметр отключен, запросы IGMP в VLAN и отчеты с узлов затопляются. Таким образом, прокси-сервер IGMP Snooping предотвращает внезапный всплеск трафика отчетов IGMP в ответ на запросы и уменьшает количество запросов IGMP, необходимых для обработки. Однако задержка вводится при распространении состояния IGMP через VLAN.

Версия IGMP Snooping

IGMP имеет три версии протокола: V1, V2 и V3. Соответственно, вы можете выбрать версию IGMP Snooping на устройстве уровня 2 для обработки сообщений IGMP в разных версиях. Обычно IGMPv1 идентифицирует запрашиваемый маршрутизатор на основе протокола многоадресной маршрутизации. IGMPv2 добавляет возможность групповых запросов, позволяя запрашивающему отправлять сообщения хостам в многоадресной группе. IGMPv3 приносит больше улучшений для поддержки фильтрации определенных источников

IGMP snooping with L3 aware ASICs

To fix this issue, we need switches with special ASICs that are able to look into the frame and differentiate between IGMP and non-IGMP multicast traffic. Here’s what that would look like:

Above you can see the changes that were made to the CAM table:

  • The first entry tells the switch to forward all IGMP traffic with destination 0100.5exx.xxx to the internal interface. This allows the CPU to look at the different IGMP messages.
  • The second entry tells the switch to forward all non-IGMP traffic with destination 0100.5e01.0101 (group 239.1.1.1) to interface Gi0/1 and Gi0/4.

The switch will now intercept all IGMP messages, they are only sent to the internal interface which puts our switch in total control of all IGMP traffic.

IGMP Group Leave

Let’s continue the story, let’s say that H1 and H2 are listening to multicast group 239.1.1.1. Suddenly, H1 is no longer interested so it will send a leave group message:

Igmp snooping Базовое включение igmp-snooping на коммутаторах qtech How to deploy multicast features on campus networks – igmp snooping Сети для самых маленьких. часть 9.2. мультикаст. протокол igmp Что такое IGMP snooping в роутере Часто задаваемые вопросы - базовое включение igmp-snooping на коммутаторах qtech Igmp snooping - s2750, s5700, and s6720 v200r008c00 configuration guide - ip multicast - huawei Configuring basic vlan-based igmp snooping functions - s1720, s2700, s5700, and s6720 v200r011c10 configuration guide - ip multicast - huawei Igmp snooping without router Сети для самых маленьких. часть 9.2. мультикаст. протокол igmp

Leave group messages are always sent to multicast group 224.0.0.2 using destination MAC address 0100.5e00.0002. When the switch receives the IGMP leave, it will forward it on the internal interface to the CPU.

In response, the switch will send an IGMP general query on the interface that connects to H1:

The IGMP general query is only sent on the Gi0/1 interface and we do this to check if there are any other hosts that are interested in multicast group 239.1.1.1 on this interface. There are two possible outcomes:

  • If another host was connected to the Gi0/1 interface which was still interested in receiving traffic for 239.1.1.1 then the switch would just get rid of the group leave message, nothing will change.
  • When the switch doesn’t receive a membership report then the CPU will remove the Gi0/1 interface from the CAM table. Since we still have a second listener (H2), the switch will not forward the leave group message to the router.

Here’s what the CAM table looks like now:

Above you can see that interface Gi0/1 has been removed from the CAM table. No messages have been forwarded to the router.

A few minutes later, H2 decides that it also wants to leave multicast group 239.1.1.1 so it will send an IGMP leave group message:

Above you can see the switch receives the IGMP leave group from H2 which is forwarded to the CPU. Here’s what happens next:

Что такое IGMP snooping в роутере

 IGMP snooping.

Ряд платформ в интернете используют метод multicast для передачи данных группе пользователей. Такая технология применяется для онлайн-игр, прямых трансляций, дистанционного обучения и даже для почтовых рассылок. Но мультивещание не всегда грамотно оптимизирует ретрансляцию трафика и нагружает сеть пользователя, поэтому для устранения этой проблемы создали функцию IGMP snooping. Разберёмся, что это за функция, и как включить её для оптимизации своего трафика.

Что такое и зачем нужна функция IGMP snooping

Для начала дадим определение IGMP, чтобы понять принцип работы технологии. Internet Group Management Protocol – протокол управления сетью мультивещания, который организует несколько устройств в группы. Он основан на протоколе IP и применяется в интернете повсеместно, эффективно используя ресурсы сети.

IGMP snooping – процесс отслеживания multicast-трафика между группой потребителей и хостом. Включенная функция snooping начинает анализировать запросы пользователя на соединение с мультивещательной группой и добавляет порт в список IGMP-вещания. После завершения использования мультитрафика, пользователь оставляет запрос и протокол, удаляет порт из списка групповой передачи данных.

Для чего нужна Активация функции IGMP snooping.

Таким образом snooping исключает передачу пользователю ненужных данных через multicast каналы. Это делает обмен данными на канальном уровне сети более эффективным и учитывает потребности сетевого уровня, что в особенности важно для поставщиков информации. Пользователи также получат оптимизированный контент, хотя в итоге нагрузка на сеть возрастёт.

Без отслеживания и анализа данных, конечные потребители в виде конкретных IP-адресов, будут вынуждены «переваривать» дополнительную бесполезную для них информацию. IGMP snooping не только избавит пользователей от лишнего трафика, но и сделает обмен информацией более безопасным. Включенный режим отслеживания вовремя пресечёт попытки DDoS-атаки на сеть или конкретные адреса, к которым уязвим протокол Internet Group Management.

Активация функции IGMP snooping

Функция отслеживания и анализа трафика доступна на управляемых сетевых коммутаторах или свичах. Это устройство помогает реализовывать принципы группового вещания на канальном уровне сети. Для активации IGMP snooping требуется вручную включить и настроить её на коммутаторе. Неуправляемые аналоги не поддерживают режим анализа трафика, так как не могут быть настроены через интерфейс.

Перед использованием коммуникатора в вашей сети убедитесь, что конечный получатель (например, smart-tv) поддерживает режим snooping. Обычно устройства имеют соответствующий пункт в разделе «Настройка сетевого подключения», что заметно упрощает регулировку мультивещания.

Рассмотрим способ подключения функции через командную строку на примере популярных коммутаторов D-Link:

Как работает IGMP snooping.

  1. Откройте командную строку устройства с помощью CLI-интерфейса.
  2. Введите «enable-igmp-snooping». Эта команда включит функцию на коммутаторе и всех подключенных адресах.
  3. Введите «config-igmp-snooping-vlan-default-state-enable», что позволит настроить протокол в VLAN.
  4. Команда «confog-multicast-vlan-filtering-mode-vlan-default-filter-unregistred-groups» включает на коммуникаторе фильтрацию данных с нескольких адресов сразу.
  5. В завершение используйте «config-igmp-snooping-vlan-default-fast-leave-enable» в сети VLAN.

Последняя команда включает функцию IGMP Snooping Fast Leave, которая исключает порт из сети, как только пользователь сделал запрос «leave». Благодаря Fast Leave, потребитель не получит ненужные данные и не будет их обрабатывать. Это уменьшит нагрузку на сеть и позволит коммутатору работать более эффективно.

Виды IGMP snooping

Прослушка и анализ данных делится на два вида:

  1. Пассивный IGMP snooping. Такой протокол просто отслеживает данные, не фильтруя и не анализируя их. Иными словами, прослушка работает в фоновом режиме и никак не влияет на качество передачи данных.
  2. Активное отслеживание. Не только пассивно прослушивает трафик, но и фильтрует его с целью эффективного использования мультивещания в сети. Активный IGMP snooping минимизирует обмен информацией, отсеивая запросы к роутеру на подключение и отключение. Идеальное состояние коммутатора – наличие одного потребителя на каждую мультикастовую группу вещания, к чему стремится алгоритм протокола.

Snooping с активным алгоритмом ускоряет передачу данных и улучшает качество сети, но при этом создаёт дополнительную нагрузку на коммутатор. Фильтрация требует от устройства определённых затрат ресурсов памяти и CPU, тогда как простое отслеживание или ретрансляция – менее требовательная процедура. При этом активное отслеживание передаёт маршрутизатору данные только о самом последнем участнике группы, чтобы устройство не определило это, как отсутствие потребителей в канале, и не исключило порт из списка.

Функция IGMP snooping отлично сочетается с домашними сетями, если вы используете много технологий групповой IP-связи. Купив и настроив коммутатор с функцией активного отслеживания, вы значительно ускорите работу интернет-протокола и обезопасите домашнюю группу от взлома и проникновения злоумышленников.

Что такое IGMP snooping?

FS 5860 Switch

Традиционный режим одноадресной передачи по сети не отвечает современным требованиям к передаче данных, поскольку вместо этого он увеличивает нагрузку на сеть и значительно потребляет пропускную способность сети. Чтобы решить эту проблему, разработан Snooping IGMP (Internet Group Management Protocol), который теперь широко настраивается в режиме многоадресной передачи по сети. Что такое IGMP Snooping? Как работает многоадресная IGMP Snooping? И что вы должны знать о конфигурациях IGMP Snooping? Все эти вопросы будут объяснены в этом посте.

Что такое IGMP Snooping?

IGMP ( Internet Group Management) Protocol – протокол управления сетью мультивещания, который организует несколько устройств в группы. Он основан на протоколе IP и применяется в интернете повсеместно, эффективно используя ресурсы сети.

IGMP snooping – процесс отслеживания multicast-трафика между группой потребителей и хостом. Включенная функция snooping начинает анализировать запросы пользователя на соединение с мультивещательной группой и добавляет порт в список IGMP-вещания. После завершения использования мультитрафика, пользователь оставляет запрос и протокол, удаляет порт из списка групповой передачи данных. Таким образом snooping исключает передачу пользователю ненужных данных через multicast каналы.

Как работает IGMP Snooping?

В локальной сети многоадресные пакеты должны проходить через коммутаторы уровня 2 между маршрутизатором и пользователями многоадресной рассылки. Однако многоадресные пакеты могут транслироваться всем хостам в широковещательном домене, включая не входящих членов группы без многоадресной рассылки, так как коммутатор уровня 2 не может узнать многоадресные MAC-адреса. Это приводит к потере пропускной способности сети и угрожает информационной безопасности сети.

IGMP-Snooping-Process.jpg

IGMP Snooping решает эту проблему. Как показано на рисунке выше, когда IGMP Snooping не выполняется на коммутаторе, многоадресные пакеты передаются на Хост A, B, C. Но когда IGMP Snooping включено, коммутатор Snooping IGMP может прослушивать и анализировать сообщение IGMP и устанавливать Записи многоадресной пересылки уровня 2 для управления пересылкой многоадресных данных. Таким образом, пакеты многоадресной рассылки являются только членами групп многоадресной рассылки для получателей A и C, а не шировещательными всем узлам.

Виды IGMP snooping

Существуют две вида IGMP snooping: активный и пассивный.

  • Пассивный IGMP snooping просто прослушивает IGMP трафик, никак не фильтруя его, не интерферируя с IGMP никоим образом.
  • Активное отслеживание. Не только пассивно прослушивает трафик, но и фильтрует его с целью эффективного использования мультивещания в сети. Активный IGMP snooping минимизирует обмен информацией, отсеивая запросы к роутеру на подключение и отключение. Идеальное состояние коммутатора – наличие одного потребителя на каждую мультикастовую группу вещания, к чему стремится алгоритм протокола.

Snooping с активным алгоритмом ускоряет передачу данных и улучшает качество сети, но при этом создаёт дополнительную нагрузку на коммутатор. Фильтрация требует от устройства определённых затрат ресурсов памяти и CPU, тогда как простое отслеживание или ретрансляция – менее требовательная процедура. При этом активное отслеживание передаёт маршрутизатору данные только о самом последнем участнике группы, чтобы устройство не определило это, как отсутствие потребителей в канале, и не исключило порт из списка.

Каковы функции и приложения IGMP Snooping?

Как упоминалось ранее, два основных преимущества коммутатора IGMP Snooping — это предотвращение потери пропускной способности и утечки сетевой информации.

Multicast Snooping помогает сетевым коммутаторам поддерживающим IGMP Snooping, и маршрутизаторам эффективно передавать многоадресные пакеты данных назначенным получателям. Его важные значения становятся более понятными, когда отсутствует метод фильтрации многоточечной передачи: входящие многоадресные пакеты транслируются всем хостам в широковещательном домене. Особенно в больших сетях коммутатор IGMP Snooping уменьшает чрезмерно высокий трафик, который может даже привести к перегрузке сети. Преступники могут воспользоваться этой безопасной утечкой и залить отдельные хосты или всю сеть многоадресными пакетами, чтобы сломать их, как при обычной DoS / DDoS-атаке.

Если команда IGMP snooping включена, пропускная способность и такие враждебные атаки будут значительно оптимизированы. Все нисходящие хосты получают только многоадресные пакеты, для которых они ранее зарегистрированы через групповые запросы. Поэтому использование сетевого коммутатора с поддержкой IGMP Snooping целесообразно везде, где требуется большая пропускная способность. Примеры включают IPTV и другие потоковые сервисы, а также решения для веб-конференций. Однако сети с небольшим количеством подписчиков и едва ли многоадресным трафиком не получают выгоды от процедуры фильтрации. Даже если коммутатор или маршрутизатор предлагает функцию многоадресной IGMP Snooping, она должна оставаться отключенной, чтобы предотвратить ненужное прослушивание.

Соображения по конфигурациям IGMP Snooping

Основные функции IGMP Snooping позволяют устройству создавать и поддерживать таблицу многоадресной пересылки уровня 2 и осуществлять многоадресную передачу данных по требованию на канальном уровне. Перед настройкой функций IGMP Snooping вы должны рассмотреть следующие элементы.

IGMP Snooping Querier

Для включения IGMP Snooping, многоадресный маршрутизатор должен быть развернут в топологии сети для генерации запросов IGMP. Без запроса отчеты о членстве в IGMP и таблицы членства в группах не могут регулярно извлекаться и обновляться, что приводит к нестабильной работе IGMP Snooping. Когда IGMP Snooping Querier настроен, он отправляет запросы IGMP через определенный интервал времени, чтобы генерировать сообщения отчетов IGMP от сетевого коммутатора с многоадресным членством. И IGMP Snooping прослушивает эти отчеты IGMP для установления соответствующей переадресации.

IGMP Snooping Proxy

IGMP Snooping proxy — расширенная функция. При включении коммутатора IGMP Snooping начинает работать так же, как и IGMP Snooping, а затем, когда коммутатор получает запрос IGMP от маршрутизатора, он незамедлительно отвечает в соответствии со своим состоянием. Если этот параметр отключен, запросы IGMP в VLAN и отчеты с узлов затопляются. Таким образом, прокси-сервер IGMP Snooping предотвращает внезапный всплеск трафика отчетов IGMP в ответ на запросы и уменьшает количество запросов IGMP, необходимых для обработки. Однако задержка вводится при распространении состояния IGMP через VLAN.

Версия IGMP Snooping

IGMP имеет три версии протокола: V1, V2 и V3. Соответственно, вы можете выбрать версию IGMP Snooping на устройстве уровня 2 для обработки сообщений IGMP в разных версиях. Обычно IGMPv1 идентифицирует запрашиваемый маршрутизатор на основе протокола многоадресной маршрутизации. IGMPv2 добавляет возможность групповых запросов, позволяя запрашивающему отправлять сообщения хостам в многоадресной группе. IGMPv3 приносит больше улучшений для поддержки фильтрации определенных источников

Заключение

IGMP Snooping является важной особенностью сетевых коммутаторов. Когда он включен, потребление полосы пропускания будет уменьшено в среде локальной сети с множественным доступом, чтобы избежать переполнения всей VLAN, и в то же время можно повысить безопасность информации о сети. Таким образом, выяснение конфигураций и функций IGMP Snooping поможет вам построить оптимизированную сеть.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *