Сети для самых маленьких. часть 9.2. мультикаст. протокол igmp

Оглавление

Настраиваем IPTV через IGMP Proxy

Это самый сложный вариант и он, к счастью, встречается достаточно редко. Но всё же встречается. В этом случае мультикаст-поток транслируется в общем канале с Интернет-трафиком и чтобы его оттуда вычленить, нужно правильно настроить работу IGMP Proxy.

Начинаем с того, что необходимо обновить версию программного обеспечения роутера. На момент написания статьи самая последняя стабильная версия RouterOS 6.48.2. Открываем раздел меню «System» → «Packages» → «Check for updates» и в появившемся окне нажимаем кнопку «Download & Install». Устройство скачает прошивку, установит её и перезагрузится.

Скачиваем файл с программным обеспечением и распаковываем архиватором. Нас интересует пакет multicast-****.npk. Чтобы установить его в наш Mikrotik, надо в Winbox’е открыть раздел меню Files и прямо мышкой перетащить туда пакет, как показано на скриншоте:

Перезагружаем маршрутизатор через раздел меню «System» → «Reboot». Пакет будет установлен в системе.

После перезагрузки открываем раздел меню Routing → IGMP Proxy.

Здесь на вкладке Interfaces надо добавить WAN-порт (который Ether1) как входящий интерфейс для IPTV. Нажимаем кнопку с плюсом.
Выбираем «Ether1» в поле «Interface».
В поле «Alternative Subnets» прописываем подсеть 0.0.0.0/0 и ставим галочку «Upstream».

Нажимаем на кнопку «ОК». В списке интерфейсов появится новая строчка:

Следующий шаг — это создание правил для фаервола. Открываем раздел IP → Firewall. и нажимаем на кнопку с плюсом:

Нам надо создать правило «Chain» → «Forward» для протокола UDP и входящего интерфейса Ether1. Нажимаем на кнопку «ОК» и повторяем всё то же самое для протокола IGMP:

В списке правил появятся наши новые разрешающие с зелёными галочками. Их надо будет по очереди мышью перетащить выше запрещающих.

Следующим этапом мы закроем трансляцию мультикаста в беспроводную сеть, так как ТВ-приставка у нас подключается кабелем.
Открываем раздел Bridge и на вкладке Filters нажимаем на плюс:

В открывшемся окне на вкладке «General» надо в поле «Chain» поставить значение «output».
Ниже, в поле «Out.Interface» выбираем беспроводную сеть «wlan1».
Переходим на вкладку «Advanced»:

Здесь в списке Packet Type выбираем мультикаст и переходим на вкладку «Action».

Тут в поле «Action» ставим значение «drop» и нажимаем кнопку «ОК».

Чтобы настроить IPTV на Микротике для тех провайдеров, у которых для доступа в Интернет используется протокол PPPoE, необходимо добавить ещё один IP-интерфейс. Для этого идёт в раздел IP и нажимаем кнопку с плюсом.

Я рассматриваю настройку IPTV на Mikrotik для Ростелеком и потому буду использовать подсеть 1.0.0.1/30.  Она рекомендуется техподдержкой. Для других операторов необходимо будет уточнить этот момент в техподдержке. Нажимаем на кнопку «OK».

В списке IP-интерфейсов появилась ещё одна строчка. Теперь можно подключать приставку и проверять работу цифрового интерактивного телевидения.

Включение функции прослушки

Для того чтобы отслеживать multicast-трафик, требуется сначала включить IGMP snooping и настроить его самостоятельно. Рассмотрим, как это сделать на коммуникаторах D-Link при реализации схемы многоадресной передачи данных. Команды для активизации сетевой прослушки:

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

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

Например, видеосервер, вы хотите отправить видеоконтент нескольким адресатам. Желтые точки — это слишком много хостов, другие компьютеры, подключенные в той же локальной сети, которые не будут получать видео трафик. Для этого необходимо, чтобы видеосервер создал логическую группу многоадресной передачи, например, многоадресный адрес 3, и адресатов, которые должны получать контент, если они регистрируются в той же группе 3, что и приемники. Это гарантирует, что контент отправляется только тем клиентам, которых вы хотите.

Мой ответ: не бойтесь, не сдавайтесь, не торопитесь, чтобы все учиться, делайте это легко и по частям. Моя миссия — облегчить учебу и дать вам направление. Следующий рисунок, это довольно просто, и это точно, хорошо? До следующей статьи или следующего класса.

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

Checking the Configuration

Context

After completing basic IGMP configuration on an interface,
you can run the following commands in any view to check the IGMP configuration,
IGMP running information, and membership information on the interface.

Procedure

  • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] interface [ interface-type interface-number | up | down ] command to check the IGMP
    configuration and running information on an interface.
  • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] group [ group-address | interface interface-type interface-number ]* command to
    check information about the members that have dynamically joined a
    multicast group.
  • Run the following
    commands to check information about members of a static multicast
    group.

    • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] group [ group-address ] static command to check the interfaces that are in Up or Down state and
      have been statically bound to a multicast group.
    • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] group [ group-address ] static interface-number command to check the number of interfaces that have joined a static
      multicast group.
    • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] group [ group-address ] interface interface-type interface-number static command to check information
      about static multicast groups on a specified interface.
    • Run the display igmp [ vpn-instance vpn-instance-name | all-instance ] group static interface interface-type interface-number entry-number command to check the number of static groups that a specified interface
      has joined.

Настройка Firewall

Чтобы фаервол пропускал IPTV, необходимо добавить разрешающие правила. Откройте меню New Terminal.

Выполните в терминале следующие команды:

/ip firewall filter add action=accept chain=input comment=»Allow IGMP» disabled=no in-interface=ether1 protocol=igmp/ip firewall filter add action=accept chain=forward comment=»IPTV UDP forwarding» disabled=no dst-port=1234 protocol=udp

ether1 — это интерфейс, на который приходит IPTV от провайдера. Если ваше имя отличается, укажите необходимое.

После этого откройте меню IP — Firewall и перейдите на вкладку Filter Rules. Созданные правила перетяните кнопкой мыши вверх выше запрещающих.

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, периодически опрашивая всех получателей.

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

Маршрутизатор

Настройка IP-телевидения через маршрутизатор – в следующем видео:

В большинстве устройств установка IPTV осуществляется несколькими кликами (поставить галочку и сохранить настройки), но везде есть свои особенности.

D-Link

В зависимости от ситуации, способа подключения и предоставленных поставщиком интернет-услуг данных, есть три способа, как подключить Wi-Fi роутер для IPTV.

  1. Для входа в веб-интерфейс настроек в браузере переходим по адресу 168.0.1. IPTV-приставка подключается к роутеру через кабель.

Открываем настройки и переходим в раздел «Подключение мультимедиа-устройств».

Выбираем интерфейс, посредством которого приставка подключается к роутеру.

На этом все.

  1. Функция IGMP Proxy на роутерах D-Link дарит возможность смотреть IPTV на ПК и телевизорах, которые подключаются в домашнюю сеть. Если она деактивирована, в «Настройках соединения» переходим во в кладку «WAN» и активируем данную опцию для используемого интерфейса.
  1. Виртуальные сети (VLAN) с ID:

Переходим на начальную страницу и кликаем по пункту «Подключение мультимедийных устройств».

Выбираем интерфейс подключения IPTV-приставки и кликаем «Расширенный режим».

Кликаем по пиктограмме плюсика, в открывшемся окне вводим название сети и ее идентификатор, выданный провайдером.

Сгруппировываем только что созданный порт VLAN с тем, к которому подключена приставка с IPTV, и сохраняем настройки.

D-Link DIR-300 rev. B3

Для модельного ряда DIR-300 настройка IPTV через Wi-Fi роутер еще проще.

  1. Открываем интерфейс конфигурации маршрутизатора.
  2. Идём в раздел «Setup» LAN Setup», где в поле «Router IP Address» вводим «192.168.243.1».
  1. Открываем расширенные настройки сети Advanced Network.
  2. Внизу страницы отмечаем флажком пункт «Enable Multicast Streams» и перезапускаем устройство.

Asus

На маршрутизаторах Asus, переходим в раздел «ЛВС» и активируем вкладку «Маршрут», где включаем многоадресную маршрутизацию.

TP-Link

После обновления прошивки до последней версии мультикаст активируется автоматически, иные настройки не требуются.

NetGear

В разделе «Меню быстрого перехода» кликаем «Настройка», дальше – «Параметры интернет-порта». Включаем перенаправление потока для приставки на требуемый порт.

ZyXEL

Для совмещения работы интернета и IPTV нужно создать пару интерфейсов и привязать к одному WAN. Например, IPTV предоставляется по VLAN 10, а доступ к интернету – по VLAN 100.

  1. Создаём новое соединение IPoE с VLAN 10 (порт для IPTV). Для этого переходим «Интернет» «IPoE» и добавляем новый интерфейс с идентификатором VLAN, равным 10.
  1. Выставляем нужные настройки интерфейса.
  1. Таким же путём создаем VLAN с ID, равным 100, для интернета.
  1. Идём в «Домашнюю сеть» «IGMP Proxy» и выбираем назначение интерфейсов.

Готово.

Как узнать, поддерживает ли роутер IPTV?

Большинство современных роутеров TP-link, D-Link, Zyxel и других производителей обладают встроенной поддержкой технологии IPTV. Однако, порой для нормальной работы маршрутизатора в этом режиме нужна специальная прошивка. В сети существует масса таблиц со списком поддерживаемых роутеров, но информация в них быстро устаревает.

Есть 3 несложных способа:

  • Вводим в google «название роутера IPTV». Скорее всего на форумах уже ответили на вопрос, а может даже предложили специфическую инструкцию к конкретной модели.
  • Изучаем техническую документацию. Для этого подойдет бумажная инструкция или pdf-документ на сайте производителя.

Ищем необходимую настройку в панели администратора. Необходимая информация размещена на корпусе роутера, в том числе IP или доменный адрес для ввода в браузер, а также стандартный логин и пароль. Искомый параметр – IPTV или IGMP. Если есть поддержка одного из параметров, роутер точно работает с IPTV.

Examples

IGMP-proxy

Will forward stream unconditionally if it comes in from ether1 with set source and will be sent out to ether2, clients that will try to get stream on interface ether3 will not receive that stream.

/routing igmp-proxy interface add comment="" disabled=no interface=ether1 threshold=1 upstream=yes
/routing igmp-proxy interface add comment="" disabled=no interface=ether2 threshold=1
/routing igmp-proxy interface add comment="" disabled=no interface=ether3 threshold=1
/routing igmp-proxy mfc add source=192.168.0.1 upstream-interface=ether1 \
downstream-interface=ether2 group=224.10.10.11 disabled=no

MFC static entry

224.10.10.10 group will not be sent at all

/routing igmp-proxy mfc add source=192.168.0.1 upstream-interface=ether1 \
group=224.10.10.11 disabled=no

Enabling IGMP

Context

IP multicast routing is the prerequisite for all the multicast functions. Enable IP multicast routing before configuring any multicast protocol.

To configure IGMP functions on the switch, first enable IGMP on interfaces connected to group members.

Procedure

  • Enabling IGMP in the public network instance

    1. Run:

      system-view

      The system view is displayed.

    2. (Optional) Run:

      set multicast forwarding-table super-mode

      The high specification mode is configured for multicast forwarding.

      In large-scale
      multicast applications, the switch generates a large number of IGMP group entries. When the number of IGMP group entries reaches the default limit, new IGMP group entries cannot be generated. The high
      specification mode increases the number of IGMP group entries supported on the switch. After this mode is configured, the number of IGMP group entries can reach the maximum number supported by the switch, maximizing the switch’s capability to support large-scale multicast applications.

      • The configuration of high specification mode takes effect after a restart.

      • After the high specification mode is configured, the default value of the robustness variable changes from 2 to 3, the default value of the other querier present interval changes from 125s to 245s, and the default value of the IGMP general
        query interval changes from 60s to 120s.

    3. Run:

      multicast routing-enable

      IP multicast routing is enabled.

      By default, the IP multicast routing function is disabled.

    4. Run:

      interface interface-type interface-number

      The interface view is displayed.

    5. (Optional) On an Ethernet interface,
      run:

      undo portswitch

      The interface is switched to Layer 3 mode.

      By default, an Ethernet interface works in Layer 2 mode.

    6. Run:

      igmp enable

      IGMP is enabled on the interface.

      By default, IGMP is disabled on an interface.

  • Enabling IGMP in a virtual private network (VPN) instance

    A VPN instance must exist before you enable IGMP in the VPN instance.

    1. Run:

      system-view

      The system view is displayed.

    2. (Optional) Run:

      set multicast forwarding-table super-mode

      The high specification mode is configured for multicast forwarding.

    3. Run:

      ip vpn-instance vpn-instance-name

      The VPN instance view is displayed.

    4. Run:

      multicast routing-enable

      IP multicast routing is enabled.

      By default, the IP multicast routing function is disabled.

    5. Run:

      quit

      Return to the system view.

    6. Run:

      interface interface-type interface-number

      The interface view is displayed.

      When multi-instance IGMP is configured, physical interfaces that have been switched to the Layer 3 mode using the undo portswitch command cannot be bound to the VPN instances.

    7. Run:

      ip binding vpn-instance vpn-instance-name

      The interface is bound to a specified VPN instance.

      By
      default, an interface is a public network interface that is not associated with any VPN instance.

    8. Run:

      igmp enable

      IGMP is enabled on the interface.

      By default, IGMP is disabled on an interface.

SSM

ASM — Any Source MulticastSSM — Source Specific Multicast

  • Поиска RP (протоколы Bootstrap и Auto-RP),
  • Регистрации источника на мультикасте (а это лишнее время, двойное использование полосы пропускания и туннелирование)
  • Переключения на SPT.
  • Запрашивать подключение к просто группе, без указания источников. То есть работает как типичный ASM.
  • Запрашивать подключение к группе с определённым источником. Источников можно указать несколько — до каждого из них будет построено дерево.
  • Запрашивать подключение к группе и указать список источников, от которых клиент не хотел бы получать трафик

SSM MappingOne-to-Many

Как и для чего включают IGMP?

У пользователей, пожелавших воспользоваться преимуществами IPTV через свой домашний маршрутизатор, иногда возникают сложности с подключением к интерактивному телевидению.

Некоторые модемы несовместимы для работы с этой технологией, а на отдельных просто требуется включить через web-конфигуратор igmp. Интерактивное ТВ функционирует посредством широковещательной передачи данных.

Если организовать просмотр такого телевидения с использованием маршрутизатора либо модема ADSL, то ко всем устройствам, соединенным с ними, будет осуществляться передача данных.

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

Процедура включения

На современном оборудовании обычно, чтобы просматривать IPTV, ручное подключение этого протокола осуществлять нет необходимости.

Достаточно произвести апгрейт программного обеспечения и после этого функция активируется в автоматическом режиме. Главное, чтобы роутер поддерживал этот протокол.

Чтобы включить поддержку IPTV вручную, следует запустить web-конфигуратор роутера и осуществить небольшую настройку. Например, на приборах ASUS потребуется исполнить следующие действия:

  • Войти во вкладку «Локальная сеть»;
  • Далее перейти в закладку «IPTV»;
  • Затем для активации многоадресной маршрутизации в графе «IGMP Proxy» вызвать выпадающее меню и выбрать «Включить»;
  • Аналогичную процедуру выполнить для пункта ниже, отвечающего за отслеживание: «IGMP Snooping»;
  • Завершив активацию параметров, клацнуть виртуальную клавишу в интерфейсе роутера «Применить» (иначе введенные корректировки не будут сохранены);
  • Готово.

Примечание: На старых моделях маршрутизаторов пункт под номером «4» выполнять не требуется, так как в них достаточно активировать графу «IGMP прокси» и все заработает.

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

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

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

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

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

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

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.

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

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

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

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

Выбор 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, но это уже детали*

Протокол IGMP

Снова вернёмся к дампу. Видите вот этот верхний пакет, после которого полился мультикастовый поток?

Сообщение протокола IGMP при подключении

Это сообщение протокола IGMP, которое отправил клиент, когда мы на нём нажали Play. Именно так он сообщает о том, что хочет получать трафик для группы 224.2.2.4.

IGMP — Internet Group Management Protocol — это сетевой протокол взаимодействия клиентов мультикастового трафика и ближайшего к ним маршрутизатора.

В IPv6 используется MLD (Multicast Listener Discovery) вместо IGMP. Принцип работы у них абсолютно одинаковый, поэтому далее везде вы смело можете менять IGMP на MLD, а IP на IPv6.

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

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

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

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

Виды IGMP snooping

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

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

Мультикастовые 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.

Мультикастовые 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.

Подключаем интернет для Smart TV

Чтобы подключить Smart TV к Интернету, необходимо включить телевизор и нажать кнопку «Домой» на пульте управления. Открыть главное меню, с помощью указателя нажать на значок с символом шестеренки, расположенный в верхнем правом углу, и в раскрывающемся меню, нажать на символ, который называется «Все настройки».

Далее необходимо найти слово «Сеть», нажать на него и выбрать доступ к Интернету через Wi-Fi или проводное соединение. В первом случае нужно нажать на соединение Wi-Fi, и выбрать сеть, к которой нужно подключиться. Далее набрать пароль доступа, указанный на модеме или установленный пользователем.

Если, планируется использовать проводное соединение, должен быть кабель Ethernet для подключения порта Ethernet модема / маршрутизатора к порту на задней панели Smart TV. Ниже представлен пример кабеля Ethernet.

Обратите внимание! После подключения Smart TV к Интернету, нужно открыть магазин, чтобы загрузить и установить приложение для IPTV. Он находится на главном экране телевизора, доступ к которому можно получить, нажав на символ дома на пульте управления

После нажатия на иконку магазина, необходимо нажать на кнопку с символом увеличительного стекла в верхнем меню. Затем ввести в текстовое поле термин iptv, чтобы отобразить результаты поиска.

Среди приложений IPTV, которые можно найти в магазине, есть такие, которые позволяют получить доступ к предварительно настроенным каналам, например, ONE IPTV, которое предлагает вьетнамские телеканалы, или ILIRIA IPTV с албанскими телеканалами. Однако другие приложения, такие как SS IPTV, позволяют выполнять пользовательскую настройку.

Обратите внимание! Хотя приложения первого типа не требуют какой-либо настройки, для второго необходимо выполнить ручную процедуру добавления телеканалов для просмотра. В связи с этим в следующем параграфе будет показано, как выполнить настройку бесплатного приложения SS IPTV