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 proxy?
Наверняка многие используют или хотя бы слышали о IPTV. Это технология просмотра телевидения через интернет на компьютере и других устройствах.
Вот так выглядит просмотр IPTV
Принцип ее работы заключается в передаче данных через широковещательные запросы в компьютерной сети. Программа, установленная на компьютере, принимает эти данные, собирает их и отображает как потоковое видео.
Так вот опция igmp proxy разрешает или запрещает роутеру пропускать пакеты данных IPTV. Говоря более простыми словами, включает или отключает работу IPTV для устройств, подключенных к данному роутеру.
(Optional) Suppressing Report and Leave Messages
Context
IGMP periodically sends Query and Response messages to maintain group memberships. When multiple members join the same multicast group, they send a large number of identical Report messages to the IGMP router. When IGMPv2 or IGMPv3 hosts
leave a multicast group, they send a large number of identical Leave messages. To conserve bandwidth, configure suppression for Report and Leave messages on the Layer 2 device.
After message suppression is configured, the switch forwards a Report message only when the first member joins a group or when it receives an IGMP Query message. The switch sends a Leave message only when the last member
leaves the group.
Procedure
Run system-view
The system view is displayed.
Run vlan vlan-id
The VLAN view is displayed.
Run igmp-snooping report-suppress
Report and Leave message suppression is configured.
When configuring message suppression, pay attention to the following points:
- After message suppression is configured in a VLAN, Layer 3 multicast functions (such as IGMP and PIM) cannot be enabled on the corresponding VLANIF interface.
- IGMP snooping proxy and message suppression cannot be configured in the same VLAN.
- If multicast VLAN replication is configured on the switch, the IGMP message suppression function cannot be enabled in user VLANs.
- The switch can suppress duplicate IGMPv1 or IGMPv2 Report messages even when IGMP message suppression is disabled. The default suppression time is 10 seconds. To change the suppression time, run the igmp-snooping suppress-time suppress-time command. If suppress-time is set to 0, all the membership report packets
are forwarded immediately.
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.
Соображения по конфигурациям 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 приносит больше улучшений для поддержки фильтрации определенных источников
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.
2.3. Пример настройки IGMP Snooping
Сценарий №1: IGMP Snooping
Рисунок 46.1 – IGMP Snooping
Как показано на рисунке 46.1, порты коммутатора 1, 2, 6, 10 и 12 добавлены во VLAN 100 на коммутаторе. Multicast маршрутизатор подключен к порту 1, а 4 хоста к остальным портам 2, 6, 10 и 12 соответственно. Поскольку IGMP Snooping по-умолчанию отключен, он должен быть включен сначала глобально, а затем и для VLAN 100. Кроме того, порт 1 должен быть выбран в качестве Mrouter порта для VLAN 100. Эти настройки можно осуществить следующим образом:
SwitchA(config)#ip igmp snooping SwitchA(config)#ip igmp snooping vlan 100 SwitchA(config)#ip igmp snooping vlan 100 mrouter interface ethernet 1/0/1
Предположим, что сервер вещает 2 потока с использованием групповых адресов 239.255.0.1 и 239.255.0.2. Хосты из портов 2 и 3 подписались на группу 239.255.0.1, а хост из порта 6 – на группу 239.255.0.2.Во время подписки IGMP Snooping создаст таблицу, которая будет содержать соответствие портов 2 и 3 группе 239.255.0.1, а порта 6 – группе 239.255.0.2, в результате каждый порт получит трафик только тех групп, которую он запросил и не получит трафик других групп, но каждый порт сможет получить трафик любой их групп, запросив её.
Сценарий №2: IGMP Querier
Рисунок 46.2 – IGMP Querier
Схема, изображенная на рисунке 46.2, претерпела изменения: вместо Multicast маршрутизатора подключен источник мультикаст трафика, а между ним и Switch A подключен коммутатор Switch B, выполняющий роль IGMP Querier. Но подписчики, источник и порты между ними также принадлежат к VLAN 100.
Конфигурация Switch A такая же, как и в предыдущем примере. Конфигурация Switch B будет выглядеть следующим образом:
SwitchA#config SwitchA(config)#ip igmp snooping SwitchA(config)#ip igmp snooping vlan 100 SwitchA(config)#ip igmp snooping vlan 100 L2-general-querier
Как и для чего включают IGMP?
У пользователей, пожелавших воспользоваться преимуществами IPTV через свой домашний маршрутизатор, иногда возникают сложности с подключением к интерактивному телевидению.
Некоторые модемы несовместимы для работы с этой технологией, а на отдельных просто требуется включить через web-конфигуратор igmp. Интерактивное ТВ функционирует посредством широковещательной передачи данных.
Если организовать просмотр такого телевидения с использованием маршрутизатора либо модема ADSL, то ко всем устройствам, соединенным с ними, будет осуществляться передача данных.
Для этого требуется поддержка роутером IGMP, однако старые версии устройств часто ее не имеют, либо у них не хватает аппаратной мощности, то есть просто зависают из-за перегрузки.
Процедура включения
На современном оборудовании обычно, чтобы просматривать IPTV, ручное подключение этого протокола осуществлять нет необходимости.
Достаточно произвести апгрейт программного обеспечения и после этого функция активируется в автоматическом режиме. Главное, чтобы роутер поддерживал этот протокол.
Чтобы включить поддержку IPTV вручную, следует запустить web-конфигуратор роутера и осуществить небольшую настройку. Например, на приборах ASUS потребуется исполнить следующие действия:
- Войти во вкладку «Локальная сеть»;
- Далее перейти в закладку «IPTV»;
- Затем для активации многоадресной маршрутизации в графе «IGMP Proxy» вызвать выпадающее меню и выбрать «Включить»;
- Аналогичную процедуру выполнить для пункта ниже, отвечающего за отслеживание: «IGMP Snooping»;
- Завершив активацию параметров, клацнуть виртуальную клавишу в интерфейсе роутера «Применить» (иначе введенные корректировки не будут сохранены);
- Готово.
Примечание: На старых моделях маршрутизаторов пункт под номером «4» выполнять не требуется, так как в них достаточно активировать графу «IGMP прокси» и все заработает.
(Optional) Configuring the Router-Alert Option
Context
By default, the switch does not check whether IGMP messages contain the Router-Alert
option and sends all the IGMP messages to the upper-layer routing
protocol. To improve device performance, reduce transmission cost,
and enhance protocol security, configure the switch to discard IGMP messages
without the Router-Alert option.
By default, the switch sends IGMP messages with
the Router-Alert option.
Procedure
Run system-view
The system view is displayed.
Run vlan vlan-id
The VLAN view is displayed.
Run igmp-snooping require-router-alert
The device is configured to check whether IGMP messages contain
the Router-Alert option.Run igmp-snooping send-router-alert
The device is configured to send only IGMP messages with
the Router-Alert option.
IGMP Proxy и Мультикаст: что это в роутере и как включить?
И так, чтобы раскрыть тему IGMP Proxy, PIM и мультикаста полностью – давайте начнём с самого начала. Вы, наверное, уже знаете, как передаётся эфирное телевидение. То есть у нас есть телевизионная вышка, которая путём радиоволн передаёт закодированный сигнал. А клиент в свою очередь принимает этот сигнал с антенны и видит картинку на телевизоре. Аналогично все происходит и путём кабельного ТВ. Только разница в том, что в кабельном идёт сигнал непосредственно по проложенному проводу к каждому приёмнику.
Но общее все же есть – сигнал одновременно поступает к всем клиентам. Когда вы включите телевизор, то вы увидите сигнал, который отправляется всем. Но если вы включите, например тот же самый YouTube, то там все по-другому. Каждому пользователю предоставляется свой пакет трафика.
И вот мы подошли к вопросу – что же такое мультикаст? Это технология, которая объединяет два этих подхода передачи трафикав. На первом уровне, пакет отправляется только в одном экземпляре, но только тому клиенту, который сделал на него запрос. Приёмников на самом деле может быть несколько.
Самый яркий пример мультикаста — это использования IPTV. Не все провайдеры предоставляют данную возможность, но щас она набирает обороты и возможно, кто-то уже пользуется этой услугой. Представим, что у нас есть два пользователя: Вася и Петя, который подключены к одному провайдеру. Так вот сервер IPTV, отправляет сигналы не всем пользователям, а только тем, кто в данный момент подключен.
Но самое главное, что Вася и Петя будут получать сигнал и пакеты только того канала, который в данный момент включен. Например, Вася смотрит «Первый канал», а Петя «СТС». Сервер четко отправляет пакеты информации только по тому каналу, который активен. Ещё один пример — это онлайн конференция, которой часто пользуются крупные компании. Ведь нет смысла раскидываться трафиком и отправлять всем, можно просто от одного разливать информацию к каждому клиенту.
Виды IGMP snooping
Прослушка и анализ данных делится на два вида:
- Пассивный IGMP snooping. Такой протокол просто отслеживает данные, не фильтруя и не анализируя их. Иными словами, прослушка работает в фоновом режиме и никак не влияет на качество передачи данных.
- Активное отслеживание. Не только пассивно прослушивает трафик, но и фильтрует его с целью эффективного использования мультивещания в сети. Активный IGMP snooping минимизирует обмен информацией, отсеивая запросы к роутеру на подключение и отключение. Идеальное состояние коммутатора – наличие одного потребителя на каждую мультикастовую группу вещания, к чему стремится алгоритм протокола.
Snooping с активным алгоритмом ускоряет передачу данных и улучшает качество сети, но при этом создаёт дополнительную нагрузку на коммутатор. Фильтрация требует от устройства определённых затрат ресурсов памяти и CPU, тогда как простое отслеживание или ретрансляция – менее требовательная процедура. При этом активное отслеживание передаёт маршрутизатору данные только о самом последнем участнике группы, чтобы устройство не определило это, как отсутствие потребителей в канале, и не исключило порт из списка.
Функция IGMP snooping отлично сочетается с домашними сетями, если вы используете много технологий групповой IP-связи. Купив и настроив коммутатор с функцией активного отслеживания, вы значительно ускорите работу интернет-протокола и обезопасите домашнюю группу от взлома и проникновения злоумышленников.
Реализация
Протокол IGMP реализован в виде серверной и клиентской частей, первая из которых выполняется на маршрутизаторе, вторая — в узле сети, получающем групповой трафик. Клиент посылает уведомление о принадлежности к какой-либо группе локальному маршрутизатору, в это время маршрутизатор находится в ожидании уведомлений и периодически рассылает клиентам запросы.
Операционные системы семейств BSD, Linux и Windows поддерживают клиентскую часть протокола. В системе Linux IGMPv3 был добавлен в версии ядра 2.5. Для FreeBSD IGMPv3 был добавлен в версии 8.0.
Для реализации серверной части IGMP в Linux используются демоны, например, mrouted может действовать как IGMP маршрутизатор. Существуют также целые программные комплексы (такие, как XORP), позволяющие превратить обычный компьютер в полнофункциональный маршрутизатор групповой передачи.
В OpenBSD поддержка IGMP в ядре изначально включает в себя базовую поддержку маршрутизации, а имеющиеся в составе ОС демоны mrouted и dvmrpd позволяют решать более сложные задачи (например, туннелирование multicast-трафика).
Что такое IGMP и зачем он нужен
Когда данные передаются по сети – по глобальному интернету, или от провайдера, или между вашими устройствами – это происходит по чётким правилам: протоколам. Каждый протокол определяет, как распознавать нули и единицы, как собирать их в пакеты данных, как проверять их «правильность» при получении и собирать в картинку на экране. Всего существует семь уровней – от электрических сигналов до вашего браузера.
Internet Group Management Protocol, по первым буквам которого и образована аббревиатура – один из таких протоколов на канальном уровне. Вы бы не знали о его существовании, если бы не возникали описанные выше «неполадки». Как видно из названия, это протокол для управления группами вещания. То есть когда к вам на роутер от провайдера приходит сигнал интернет-телевидения IPTV, он начинает транслировать его на все устройства. Это удобно, смотреть одну и ту же передачу на смартфоне и телевизоре. Но при этом любой другой девайс – к примеру, ваш компьютер – «не спрашивают», нужен ли ему сигнал. Поэтому он его всё равно получает, что снижает скорость интернета и расходует его ресурсы.
Snooping – это функция, которая помогает роутеру выяснить, каким устройствам нужен поток данных от онлайн-игры, телевидения или специальной службы. Попросту говоря, это оптимизация трафика внутри вашей сети и повышение её безопасности. Она должна работать автоматически, но иногда требуется настроить её вручную. Вот что такое IGMP в роутере.
Виды IGMP snooping
Поддержка роутера этого протокола уже означает, что у вас не будет проблем с получением сигнала от IPTV и от других служб. Но если маршрутизатор или модем более старый, то он может не принимать широковещательную передачу данных, либо просто ему не хватит мощности и он будет «подвисать». Но когда всё в порядке, то IGMP snooping может различаться по видам:
- Пассивный. Это базовая поддержка технологии, общее отслеживание и передача широковещательных данных. Всё работает, нагрузка на роутер минимальна. Однако на сеть и на девайсы в ней нагрузка увеличивается.
- Активный. Такой протокол максимально оптимизирует сеть. Он отсеивает «лишние» запросы к маршрутизатору, которые ему не нужны, освобождая ресурс передачи данных. Однако он увеличивает нагрузку на процессор и на память девайса. Устройства среднего и высокого ценового сегментов справляются с этим без проблем. Для девайсов подешевле это зависит от объёма данных.
MLD Snooping
Используемые сетевые элементы
Сеть многоадресной рассылки IPv6 состоит из следующих сетевых элементов:
Источник многоадресной рассылки
Устройство, которое отправляет многоадресные данные на хосты-получатели. Например, видеосервер является источником многоадресной рассылки.
Устройство независимой от протокола многоадресной рассылки IPv6 (PIM)
Устройство, которое использует протокол PIM IPv6 для генерации и ведения записей многоадресной маршрутизации и пересылки многоадресных данных на основе записей многоадресной маршрутизации. В сети многоадресной рассылки IPv6 все устройства уровня 3 должны запускать IPv6 PIM; в противном случае пути многоадресной передачи не могут быть установлены
MLD querier
Устройство, которое обменивается сообщениями MLD с хостами-получателями для создания и обслуживания группового членства. В сети многоадресной рассылки на устройствах уровня 3, подключенных к сетевым сегментам получателей, должен работать протокол MLD или должны быть настроены статические группы MLD. В противном случае вышестоящие PIM-устройства не смогут распознать группы многоадресной рассылки, к которым пользователи хотят присоединиться и, следовательно, не смогут устанавливать
тракты многоадресной передачи.Устройство MLD snooping
Устройство, которое прослушивает IGMP-сообщения, которыми обмениваются вышестоящие устройства многоадресной рассылки уровня 3 и хосты-получатели для создания и ведения записей многоадресной рассылки уровня 2, которые используются для точной пересылки многоадресных данных в сети уровня 2. Чтобы предотвратить широковещательную рассылку многоадресных пакетов в сети уровня 2 и сохранить полосу пропускания сети, рекомендуется настроить MLD snooping на устройствах уровня
2.Получатель
Пользователь многоадресной рассылки, который принимает многоадресные данные. Получателем может быть ПК, телевизионная приставка или любое устройство с установленным клиентом многоадресной рассылки.
В главе «Конфигурирование MLD Snooping» описано, как настроить MLD Snooping на устройстве уровня 2.
Поддержка версий
Табл. 7-11 Продукты и версии, поддерживающие MLD Snooping
Продукт | Модель продукта | Версия ПО |
---|---|---|
S12700 | S12708 и S12712 | V200R005C00, V200R006C00, V200R007C00, V200R007C20, V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00 |
S12710 | V200R010C00, V200R011C10, V200R012C00 | |
S12704 | 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 without L3 aware ASICs
We will start with a simple example. I’ll use the following diagram for this:
Above we have a multicast enabled router, a switch and three host devices. Our switch has a CPU and a CAM table (mac address table) which is connected to an internal interface that I will call “INT”. We are using a cheap budget switch that is only able to look at layer two Ethernet frames. It does have support for IGMP snooping though. Let’s see what happens when we enable IGMP snooping on this switch:
Above you can see that one of our hosts (H1) sends a membership report for multicast group 239.1.1.1 that it wants to join. Our switch has no idea where to forward this to so the first time it will flood it on all interfaces, including the internal interface to the CPU. The CPU will take a closer look at the membership report and will create an entry in the CAM table:
In the CAM table above you can see an entry for MAC address 0100.5e01.0101 which corresponds with multicast group 239.1.1.1. The interfaces that were added are for H1, R1 and the internal interface. Why did the switch add the interface of the router in the CAM table?
Once IGMP snooping is enabled, the switch will detect multicast enabled routers and it does so by listening to the following messages:
- IGMP General Query (0100.5e00.0001)
- OSPF (0100.5e00.0005 and 0100.5e00.0006)
- PIM version 1 and HSRP (0100.5e00.0006)
- PIM version 2 (0100.5e00.000d)
- DVMRP (0100.5e00.0004)
When the switch detects a multicast enabled router then it will add the corresponding entry in the CAM table.
From now on, all multicast traffic that has destination MAC address 0100.5e01.0101 will only be forwarded on interface Gi0/1, Gi0/4 and the internal interface to the CPU.
It sounds like we did a good job constraining our multicast traffic but we still have one problem. Here’s what happens when one of our devices starts streaming multicast traffic:
In the example above we see that R1 is sending 10 Mbps of multicast traffic which is forwarded to H1 and the CPU. Our CPU is unable to process 10 Mbps of traffic so it will choke on it…when this occurs, there’s a couple of things that could occur:
- The switch will start dropping unicast and multicast traffic.
- The CPU might be able to drop exceeding multicast traffic but that could also include IGMP membership reports and IGMP group leave messages.
The issue above is common with cheap switches that support IGMP snooping. It might work with low bandwidth multicast traffic but that’s about it.
Использование виртуальных машин
При наличии достаточно мощного компьютера, можно все конечные хосты эмулировать виртуалками. Принцип подключения такой же, как в предыдущем варианте, просто вместо MS Loopback Adapter вы пробрасываете интерфейс из виртуалки на сервер, а в GNS подключаете точно так же, зная имя интерфейса.
В своей статье про мультикаст я использовал третий способ, но на деле, если хочется отработать детали, то вполне можно обойтись и маршрутизаторами, учитывая, что правильно выбрано значение IDLE PC.
Теперь вы укомплектованы необходимым инструментарием, чтобы приступить к лабам по мультикасту.
Basic IGMP snooping configuration
The first example consists only of a single IGMP snooping bridge, a single multicast source device, and a couple of multicast client devices. See a network scheme below.
First, create a bridge interface with enabled IGMP snooping. In this example, there is no active IGMP querier (no multicast router or proxy), so a local IGMP querier must be enabled on the same bridge. This can be done with a setting. If there is no active IGMP querier in the LAN, the unregistered IP multicast will be flooded and multicast entries will always timeout from the multicast database.
/interface bridge add igmp-snooping=yes multicast-querier=yes name=bridge1
Then add necessary interfaces as bridge ports.
/interface bridge port add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=ether3 add bridge=bridge1 interface=ether4 add bridge=bridge1 interface=ether5
Каковы функции и приложения IGMP Snooping?
Как упоминалось ранее, два основных преимущества коммутатора IGMP Snooping – это предотвращение потери пропускной способности и утечки сетевой информации.
Multicast Snooping помогает сетевым коммутаторам поддерживающим IGMP Snooping, и маршрутизаторам эффективно передавать многоадресные пакеты данных назначенным получателям. Его важные значения становятся более понятными, когда отсутствует метод фильтрации многоточечной передачи: входящие многоадресные пакеты транслируются всем хостам в широковещательном домене. Особенно в больших сетях коммутатор IGMP Snooping уменьшает чрезмерно высокий трафик, который может даже привести к перегрузке сети. Преступники могут воспользоваться этой безопасной утечкой и залить отдельные хосты или всю сеть многоадресными пакетами, чтобы сломать их, как при обычной DoS / DDoS-атаке.
Если команда IGMP snooping включена, пропускная способность и такие враждебные атаки будут значительно оптимизированы. Все нисходящие хосты получают только многоадресные пакеты, для которых они ранее зарегистрированы через групповые запросы. Поэтому использование сетевого коммутатора с поддержкой IGMP Snooping целесообразно везде, где требуется большая пропускная способность. Примеры включают IPTV и другие потоковые сервисы, а также решения для веб-конференций. Однако сети с небольшим количеством подписчиков и едва ли многоадресным трафиком не получают выгоды от процедуры фильтрации. Даже если коммутатор или маршрутизатор предлагает функцию многоадресной IGMP Snooping, она должна оставаться отключенной, чтобы предотвратить ненужное прослушивание.