Chapter Information
Contents
- Layered Encapsulation
- MAC Address Mapping
- Switching Multicast Frames
- Group Subscription
- IGMP on the Gateway Router
- IGMP Versions
- Configuring IGMP on a Router
- Mixed Groups: Interoperability Between IGMPv1, v2, and v3
- Layer 2 Group Management
- Snooping
- The Process of Packet Replication in a Switch
- Protecting Layer 2
- Summary
- References
Chapter Description
In this chapter from IP Multicast, Volume I: Cisco IP Multicast Networking, authors Josh Loveless, Ray Blair, and Arvind Durai take an in-depth look at IP multicast messages at Layer 2 and how they are transported in a Layer 2 domain. This chapter covers the basic elements of multicast functionality in Layer 2 domains as well as design considerations for multicast deployments.
How Does IGMP Snooping Work?
In a LAN, multicast packets must pass through Layer 2 switches between the router and multicast users. However, multicast packets may be broadcast to all the hosts in the broadcast domain including non multicast group members, as the Layer 2 switch cannot learn multicast MAC addresses. This wastes network bandwidth and threatens network information security.
IGMP Snooping solves this problem. As shown in the above figure, when IGMP snooping is not running on the switch, multicast packets are broadcast to Host A, B, C. But when IGMP snooping is enabled, the IGMP Snooping switch can listen to and analyze IGMP message and set up Layer 2 multicast forwarding entries to control multicast data forwarding. In this way, multicast packets are only multicast to multicast group members host A and C receivers, rather than broadcast to all hosts.
Enabling IGMP Snooping
Context
Other IGMP snooping functions can be configured only after IGMP snooping is enabled globally. Other IGMP snooping functions take effect in a VLAN only after IGMP snooping is enabled in the VLAN.
By default, IGMP snooping is disabled
globally on the switch.
Procedure
Run system-view
The system view is displayed.
Run igmp-snooping enable
IGMP snooping is enabled globally.
Run vlan vlan-id
The VLAN view is displayed.
(Optional) Run l2-multicast forwarding-mode { ip | mac }
The multicast forwarding
mode in the VLAN is set to IP address-based or MAC address-based forwarding.By default, only the S1720GFR, S2750EI, S5700S-LI (except S5700S-28X-LI-AC and S5700S-52X-LI-AC) and S5700LI forward multicast data based on MAC addresses, and other switches forward multicast data based on IP addresses.
Configure the forwarding mode of multicast flows in the VLAN before IGMP snooping is enabled in the VLAN. Enable IGMP snooping in the VLAN for the configuration to take effect.
After the multicast data forwarding mode is set to MAC address-based forwarding in a VLAN using this command, the VLAN cannot be configured as a multicast VLAN.
If the device forwards multicast data packets based on MAC addresses, do not use a group address on the network if the group address maps to the same multicast MAC address as a multicast IP address reserved for a protocol. Otherwise, the protocol
that uses this multicast IP address cannot run normally. For example, OSPF uses 224.0.0.5 to send protocol packets. This multicast IP address maps to multicast MAC address 01-00-5E-00-00-05. If multicast data packets are forwarded based on MAC addresses
and use multicast IP address 225.0.0.5 (also mapping to 01-00-5E-00-00-05), the OSPF protocol cannot run normally.- On the S1720GFR, S2750EI, S5700S-LI (except S5700S-28X-LI-AC and S5700S-52X-LI-AC) and S5700LI, the default multicast data forwarding mode cannot be changed using this command.
If the VLANIF interface corresponding to a VLAN is bound to a VPN instance but IGMP or PIM is disabled on this interface, multicast flows in this VLAN can only be forwarded based on MAC addresses. To forward multicast flows
in the VLAN based on IP addresses, configure this VLAN as a user VLAN and another VLAN as a multicast VLAN. In this way, multicast flows can be replicated to the user VLAN from the multicast VLAN.
(Optional) Run l2-multicast router-port-discard
The switch is disabled from forwarding multicast data to router ports in a VLAN.
Before disabling the switch from forwarding multicast data to router ports in a VLAN, disable IGMP snooping in the VLAN. After setting the forwarding mode, enable IGMP snooping in the VLAN for the configuration to take effect.
Run igmp-snooping enable
IGMP snooping is enabled in the VLAN.
Run the igmp-snooping enable [ vlan { vlan-id1 [ to vlan-id2 ] } &<1-10> ] command in the system view to enable IGMP snooping in multiple VLANs.
IGMP snooping cannot be used with N:1 (N > 1) VLAN mapping.
(Optional) Configure multicast-to-unicast conversion on the wireless side.
To configure multicast-to-unicast conversion, you must configure complete WLAN basic services. For details, see WLAN Service Configuration in the S5720HI V200R011C10 Configuration Guide – WLAN-AC.
Only the S5720HI supports WLAN-AC service.
Run quit
Return to the system view.
Run wlan
The WLAN view is displayed.
Run traffic-profile name profile-name
The traffic profile is displayed.
Run igmp-snooping enable
IGMP snooping is enabled in the traffic profile.
After IGMP snooping is enabled in
the traffic profile, an AP maintains Layer 2 multicast forwarding entries by listening on Report and Leave messages sent from downstream hosts to accurately forward multicast data to wireless users.
Что такое IGMP и зачем он нужен
Когда данные передаются по сети – через глобальную сеть, от провайдера или между устройствами – они следуют четким правилам: протоколам. Каждый протокол определяет, как распознать нули и единицы, как собрать их в пакеты данных, как проверить их “правильность” при получении и как собрать их в изображение на экране. Всего существует семь слоев, от электрических сигналов до браузера.
Протокол управления группами Интернета, первые буквы которого образуют аббревиатуру, является одним из таких протоколов на канальном уровне. Вы бы не знали о его существовании, если бы у вас не было этих “проблем”. Как следует из названия, это протокол для управления широковещательными группами. Это означает, что когда сигнал IPTV поступает на ваш маршрутизатор от провайдера, он начинает транслировать его на все ваши устройства. Удобно смотреть одну и ту же программу на смартфоне и телевизоре. Но любое другое устройство – например, компьютер – не “спрашивает”, нужен ли ему сигнал. Поэтому он получает его в любом случае, что снижает скорость интернета и расходует интернет-ресурсы.
Snooping – это функция, которая помогает маршрутизатору выяснить, какие устройства нуждаются в потоке данных от онлайн-игр, телевидения или специального сервиса. Проще говоря, он оптимизирует сетевой трафик и делает его более безопасным. Это должно работать автоматически, но иногда приходится настраивать вручную. В этом и заключается суть IGMP в маршрутизаторе.
Виды IGMP snooping
Поддержка вашим маршрутизатором этого протокола уже означает, что у вас не будет проблем с приемом сигналов от IPTV и других сервисов. Но если ваш маршрутизатор или модем более старый, он может не принимать широковещательные сигналы или ему может просто не хватить мощности, и он “зависнет”. Но когда все в порядке, IGMP snooping может быть разных типов:
- Пассивный. Это базовая технологическая поддержка, общий снупинг и широковещательная передача данных. Все работает, нагрузка на маршрутизатор минимальна. Однако нагрузка на сеть и устройства в ней возрастает.
- Активный. Этот протокол максимально оптимизирует сеть. Он отсеивает “ненужные” запросы к маршрутизатору, которые ему не нужны, освобождая ресурсы передачи данных. Однако это увеличивает нагрузку на процессор и память устройства. Устройства среднего и высокого класса справляются с этим без проблем. Для более дешевых устройств это зависит от объема данных.
Многоадресная маршрутизация
Предыдущая45678910111213141516171819Следующая
под многоадресной маршрутизацией понимается маршрутизация трафика группового вещания. групповое вещание (multicasting) предполагает отправку пакетов, адресованных не одному получателю, а целой группе. механизм многоадресной маршрутизации позволяет каждому получателю, принадлежащему к определенной группе, получить пакет группового вещания независимо от того, в какой подсети он находится. прежде чем детально рассмотреть механизмы многоадресной маршрутизации, необходимо ознакомиться с принципами группового вещания.
Групповое вещание
стандартный способ доставки (одноадресный) предполагает установку соединения “точка-точка”, когда пакет доставляется одному получателю. в случае, когда один и тот же пакет должен быть доставлен нескольким получателям, установка нескольких точечных соединений оказывается неэффективным решением (с одной стороны, происходит увеличение сетевого трафика, а с другой, — увеличиваются затраты вычислительных ресурсов на поддержание списка конечных точек). использование широковещательных рассылок также не является эффективным решением, поскольку широковещательные сообщения не транслируются маршрутизаторами. в качестве альтернативы можно использовать другой метод доставки, когда получателем пакета выступает не один, а несколько получателей. данный принцип лежит в основе группового вещания (multicasting). каждый хост, входящий в группу вещания, помимо уникального ip-адреса. однозначно идентифицирующего хост в пределах сети, получает также некоторый групповой ip-адрес. этот адрес идентичен для всех хостов, являющихся членами группы. этот адрес может быть указан в качестве получателя пакета. в этом случае пакет будет получен всеми хостами, входящими в состав группы вещания. все другие узлы просто проигнорируют данный пакет. в этом заключается существенное отличие группового вещания от широковещательных рассылок — групповой трафик не “беспокоит” хосты, не принадлежащие к группе вещания и не ожидающие группового трафика. групповое вещание может использоваться для следующих целей:
· обнаружения ресурсов в межсетевом пространстве;
· поддержки распределенных сетевых приложений;
· поддержки групповых приложений мультимедиа, предполагающих передачу потоковых данных (например, цифрового аудио и видео). в качестве примера приложения, использующего групповое вещание, можно привести microsoft media services.
в приведенном на рис.
Unicast
Тип передачи данных Unicast (индивидуальный) используется для обычной передачи данных от хоста к хосту. Способ Unicast работает в клиент-серверных и пиринговых (peer-to-peer, от равного к равному) сетях.
В unicast пакетах в качестве IP адреса назначения используется конкретный IP адрес устройства, для которого этот пакет предназначен. IP адрес конкретного устройства состоит из порции адреса сети (в которой находится это устройство) и порции адреса хоста (порции, определяющей это конкретное устойчиво в его сети). Это все приводит к возможности маршрутизации unicast пакетов по всей сети.
Multicast и broadcast пакеты, в отличие от unicast пакетов, имеют свои собственные специальные (зарезервированные) IP адреса для использования их в заголовке пакетов в качестве пункта назначения. Из-за этого, broadcast пакеты в основном ограничены пределами локальной сети. Multicast трафик также может быть ограничен границами локальной сети, но с другой стороны также может и маршрутизироваться между сетями.
В IP сетях unicast адрес является адресом, то есть адресом конечного устройства (например, компьютера). Для типа передачи данных unicast, адреса хостов назначаются двум конечным устройствам и используются (эти адреса) как IP адрес источника и IP адрес получателя.
В течение процесса инкапсуляции передающий хост размещает свой IP адрес в заголовок unicast пакета в виде адреса источника, а ИП адрес принимающего хоста размещается в заголовке в виде адреса получателя. Используя эти два IP адреса, пакеты unicast могут передаваться через всю сеть (т.е. через все подсети).
IGMP snooping configuration with VLANs
The second example adds some complexity. There are two IGMP snooping bridges and we need to isolate the multicast traffic on a different VLAN. See a network scheme below.
First, create a bridge on both devices and add needed interfaces as bridge ports. To change untagged VLAN for a bridge port, use the setting. The Bridge1 will be acting as an IGMP querier. Below are configuration commands for the Bridge1:
/interface bridge add igmp-snooping=yes multicast-querier=yes name=bridge1 /interface bridge port add bridge=bridge1 interface=ether2 pvid=10 add bridge=bridge1 interface=ether3 pvid=10 add bridge=bridge1 interface=ether4 pvid=10 add bridge=bridge1 interface=ether5 pvid=20 add bridge=bridge1 interface=sfp-sfpplus1 pvid=10 |
And for the Bridge2:
/interface bridge add igmp-snooping=yes name=bridge1 /interface bridge port add bridge=bridge1 interface=ether3 pvid=10 add bridge=bridge1 interface=ether4 pvid=10 add bridge=bridge1 interface=ether5 pvid=20 add bridge=bridge1 interface=sfp-sfpplus1 pvid=10 |
Bridge IGMP querier implementation can only send untagged IGMP queries. In case tagged IGMP queries should be sent or IGMP queries should be generated in multiple VLANs, it is possible to install a multicast package, add a VLAN interface and configure a on VLAN. The PIM interface can be used as an IGMP querier. |
Make sure to configure for devices. It is essential when configuring a bridge with VLAN filtering. In this example, a VLAN 99 interface with an IP address is added to the bridge. This VLAN will be allowed on the tagged sfp-sfpplus1 port. Below are configuration commands for the Bridge1:
/interface vlan add interface=bridge1 name=MGMT vlan-id=99 /ip address add address=192.168.99.1/24 interface=MGMT network=192.168.99.0 /interface bridge vlan add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 vlan-ids=99 |
And for the Bridge2:
/interface vlan add interface=bridge1 name=MGMT vlan-id=99 /ip address add address=192.168.99.2/24 interface=MGMT network=192.168.99.0 /interface bridge vlan add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 vlan-ids=99 |
Add bridge VLAN entries and specify tagged and untagged ports. The VLAN 99 entry was already created when configuring management access, only VLAN 10 and VLAN 20 should be added now. Below are configuration commands for the Bridge1:
/interface bridge vlan add bridge=bridge1 untagged=ether2,ether3,ether4,sfp-sfpplus1 vlan-ids=10 add bridge=bridge1 tagged=sfp-sfpplus1 untagged=ether5 vlan-ids=20 |
And for the Bridge2:
/interface bridge vlan add bridge=bridge1 untagged=ether3,ether4,sfp-sfpplus1 vlan-ids=10 add bridge=bridge1 tagged=sfp-sfpplus1 untagged=ether5 vlan-ids=20 |
Last, enable VLAN filtering. Below is the configuration command for Bridge1 and Bridge2:
/interface bridge set vlan-filtering=yes |
At this point, VLANs and IGMP snooping are configured and devices should be able to communicate through ports. However, it is recommended to go even a step further and apply some additional filtering options. Enable and on bridge ports. Below are configuration commands for the Bridge1:
/interface bridge port set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes |
And for the Bridge2:
/interface bridge port set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes frame-types=admit-only-untagged-and-priority-tagged set ingress-filtering=yes |
Что такое многоадресная рассылка?
Многоадресная рассылка, или Multicast — это способ передачи данных по сетям IPv4, который обеспечивает доставку единого потока информации одновременно тысячам частных или корпоративных пользователей. Работа в режиме Multicast предусматривает, что отправитель передает пакеты данных выбранной группе адресатов. При этом допускается подключение этих адресатов к разным подсетям.
Протокол IPv4 предполагает организацию отправки пакетов тремя способами:
- адресация определенному устройству;
- широковещательная рассылка;
- многоадресная рассылка.
В первом случае трафик передается только на конкретный компьютер. Этот способ позволяет пользователю выполнять значительную часть действий в интернете. Однако передача конкретному устройству потокового видео или других массивных объемов данных приведет к повышенной нагрузке на сеть. Поэтому для решения таких задач целесообразно использовать способы, позволяющие единожды передавать потоки, которые смогут получать многочисленные пользователи.
Широковещательная рассылка предполагает передачу данным от отправителя все подключенным к конкретной сети хостам. Сегодня этот метод используется редко, поскольку создает помехи для передачи других видов трафика.
Оптимальным решением становится многоадресная рассылка, при которой пакеты доставляются каждому подключенному к сети с определенным адресом хосту. Это дает значительную экономию полосы пропускания и снижает нагрузку на сеть.
При многоадресной рассылке сообщения отправляются на адрес группы Multicast, не имеющей географических и физических ограничений — то есть узлы могут быть расположены в разных странах и регионах. Главное, чтобы они были подписаны на рассылку (присоединены к группе). Для присоединения к группе Multicast и используется протокол IGMP.
Мультикастовые 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.
Есть также другие мультикастовые MAC-адреса, которые никак не относятся к IPv4-мультикаст (). Все они, кстати, характеризуются тем, что последний бит первого октета равен 1.
Естественно, ни на одной сетевой карте, не может быть настроен такой MAC-адрес, поэтому он никогда не будет в поле Source MAC Ethernet-кадра и никогда не попадёт в таблицу MAC-адресов. Значит такие кадры должны рассылаться как любой Unknown Unicast во все порты VLAN’а.
Всего, что мы рассматривали прежде, вполне достаточно для полноценной передачи любого мультикастового трафика от потокового видео до биржевых котировок. Но неужели мы в своём почти совершенном мире будем мирится с таким безобразием, как широковещательная передача того, что можно было бы передать избранным?
Вовсе нет. Специально для перфекционистов придуман механизм IGMP Snooping.
IPTV через приставку
Для работы IPTV через приставку рекомендуется использовать функцию «Bridge». Таким образом мы настраиваемLANпорты на режим свитчинга сWAN. Плюс ко всему, мы получаем возможность подключить кабель провайдера не в WAN, а в тот LAN порт, что объединен с WAN’ом. Сразу замечу, данную функцию поддерживают не все роутеры. Например, в роутерах TP-LINK эта функция присутствует в меню Network — Bridge (Сеть — Мост), в Asus она называется Choose WAN Bridge Port и т.п. Для функционирования IPTV необходимо лишь выбрать LAN порт, который мы будем использовать для подключения IPTV приставки.
Для тех кто хочет использовать большее количество приставок, имеется возможность выбрать два порта (Например, LAN3 и LAN4, если у вас две приставки). Если ваша модель wi-fi роутера не имеет поддержку «Bridge» и для вашего провайдера достаточно поддержки мультикаста (протокол IGMP), вы сможете смотреть IPTV через приставку.
Для того чтобы не искать проблемы передачи своего IP телевидения там, где ее нет, проверьте, работает ли телевидение без роутера. Для этого подключите компьютер к кабелю провайдера напрямую. Если IPTV не подаст жизненных признаков, то скорее всего проблема у вашего провайдера. Обратитесь в техническую поддержку. А в положительном случае прямого подключения, следует выяснить у тех. поддержки, достаточно ли мультикаста для работы IP телевидения.
Пользователям, чьи модели роутеров не поддерживают функции Bridge, но телевидение работает с перебоями («рассыпается» картинка и «заикается» звук) стоит обратить внимание на загруженность их роутеров. Особенно это касается тех, кто обладает большой скоростью скачивания, чрезмерной нагрузкой (большое количество активных торрент-закачек, работают в DC++ и т.п.)
Решить эти проблемы можно ограничением скорости скачивания, лимитировать количество одновременных соединений до 50
Для тех, кто использует модели без поддержки Bridge рекомендуется подключать не более одной приставки IPTV. Если вы используете две (или более приставки), а роутер не поддерживает функции Bridge, то вы можете использовать обычный свитч. Свитч необходимо установить перед роутером. К свитчу будут подключены две приставки IPTV, кабель вашего провайдера, а кабель от роутера в порт WAN
Решить эти проблемы можно ограничением скорости скачивания, лимитировать количество одновременных соединений до 50. Для тех, кто использует модели без поддержки Bridge рекомендуется подключать не более одной приставки IPTV. Если вы используете две (или более приставки), а роутер не поддерживает функции Bridge, то вы можете использовать обычный свитч. Свитч необходимо установить перед роутером. К свитчу будут подключены две приставки IPTV, кабель вашего провайдера, а кабель от роутера в порт WAN.
Как и для чего включают IGMP?
У пользователей, пожелавших воспользоваться преимуществами IPTV через свой домашний маршрутизатор, иногда возникают сложности с подключением к интерактивному телевидению.
Некоторые модемы несовместимы для работы с этой технологией, а на отдельных просто требуется включить через web-конфигуратор igmp. Интерактивное ТВ функционирует посредством широковещательной передачи данных.
Если организовать просмотр такого телевидения с использованием маршрутизатора либо модема ADSL, то ко всем устройствам, соединенным с ними, будет осуществляться передача данных.
Для этого требуется поддержка роутером IGMP, однако старые версии устройств часто ее не имеют, либо у них не хватает аппаратной мощности, то есть просто зависают из-за перегрузки.
Процедура включения
На современном оборудовании обычно, чтобы просматривать IPTV, ручное подключение этого протокола осуществлять нет необходимости.
Достаточно произвести апгрейт программного обеспечения и после этого функция активируется в автоматическом режиме. Главное, чтобы роутер поддерживал этот протокол.
Чтобы включить поддержку IPTV вручную, следует запустить web-конфигуратор роутера и осуществить небольшую настройку. Например, на приборах ASUS потребуется исполнить следующие действия:
- Войти во вкладку «Локальная сеть»;
- Далее перейти в закладку «IPTV»;
- Затем для активации многоадресной маршрутизации в графе «IGMP Proxy» вызвать выпадающее меню и выбрать «Включить»;
- Аналогичную процедуру выполнить для пункта ниже, отвечающего за отслеживание: «IGMP Snooping»;
- Завершив активацию параметров, клацнуть виртуальную клавишу в интерфейсе роутера «Применить» (иначе введенные корректировки не будут сохранены);
- Готово.
Примечание: На старых моделях маршрутизаторов пункт под номером «4» выполнять не требуется, так как в них достаточно активировать графу «IGMP прокси» и все заработает.
Заключение: что лучше выбрать
Оборудование, рекомендованное провайдером, подходит для настроек сети и подлежит обслуживанию оператору. Если у вас возникнет проблема, специалист технической поддержки даст консультацию по телефону или настроит устройство сам, подключившись к маршрутизатору удаленно. В случае покупки стороннего не рекомендованного устройства, скорее всего, устранять проблемы с оборудованием придется самостоятельно.
Если вас не устраивает, какой роутер предоставляет Ростелеком по умолчанию, изучите характеристики устройства, которое предложил провайдер, и подберите маршрутизатор с аналогичными настройками у стороннего продавца.