На чтение 7 мин Просмотров 16.5к.
Кристина Горбунова
Высшее образование по специальности “Информационные системы”. В сфере более 7 лет, занимается разработкой сайтов на WordPress и Tilda.
Большинство интернет-провайдеров предоставляет пользователям услугу IPTV. Цифровое телевидение выстраивается в форме мультивещания. Для многоадресной передачи данных применяется протокол IGMP Proxy. Рассмотрим, что такое мультикаст и как технология Multicast реализована в роутере.
Содержание
- Что значит Multicast
- Как работает функция IGMP Proxy в роутере
- IGMP V2 или V3: в чем разница
- Как включить эту функцию на роутере
Что значит Multicast
Существуют три основных формы передачи трафика в сетях: unicast, broadcast, multicast. У каждого из этих методов разный тип назначения IP-адресов. Мультикаст – многоадресное вещание. Эта технология применяется для доставки видеоконтента неограниченному количеству пользователей. В отличие от юникаста и бродкаста, этот метод не создает серьезной дополнительной нагрузки на сеть.
Основные принципы мультикастинга:
- Один отправитель посылает только одну копию трафика, независимо от количества конечных получателей.
- Трафик получают пользователи, которые действительно в нем нуждаются.
С многоадресными передачами могут работать маршрутизаторы, поддерживающие IGMP. Благодаря этому протоколу устройства отслеживают текущее состояние группы рассылки и получают только нужный трафик.
В IPv6 для мультикастинга используется протокол MLD. Функционирует он точно так же, как и IGMP.
Как работает функция IGMP Proxy в роутере
Протокол IGMP позволяет пользователю быстро подключиться к маршрутизатору. Он организует несколько близко расположенных устройств в группы для более эффективного распределения сетевых ресурсов. Для понимания работы протокола нужно разобрать особенности передачи многоадресных пакетов в ЛВС.
При прохождении через коммутаторы второго уровня многоадресные пакеты данных транслируются всем хостам в домене, включая не входящих в группы рассылки. Это связано с тем, что коммутатор второго уровня не способен распознавать многоадресные MAC-адреса. В результате пропускная способность ЛВС сильно падает.
Если в роутере присутствует поддержка IGMP, снижения скорости сети можно избежать. После активации этой функции устройство сможет прослушивать и анализировать сообщения протокола управления групповой передачей данных. Пакеты многоадресной рассылки будут отправлены только конкретным получателям, а не всем хостам.
Для передачи мультикаста между маршрутизаторами внутри сети используется протокол PIM. Он имеет два режима функционирования: Dense Mode (DM) и Sparse Mode (SM). Если активен DM, то сеть заполняется многоадресным трафиком. Его применяют, когда к сети подключено много клиентов разных мультикастовых групп.
В большинство случаев для передачи мультикаста используют PIM SM. В этом режиме заинтересованные в трафике узлы подают запросы на подключение. Если подобного запроса не было, мультикастовые данные маршрутизатору отправляться не будут.
Рассмотрим, как работает IGMP протокол на примере подключения к каналу 227.1.1.6.
- Клиентское ПО отправляет ближайшему маршрутизатору запрос на получение данных канала 227.1.1.6.
- Если дерево канала проходит через это устройство, пользователь получает изображение.
- После смены канала на маршрутизатор поступает сообщение о выходе из группы. Отправка трафика прекращается.
- Параллельно каждые 60 секунд маршрутизатор автоматически отправляет подключенным клиентам сигналы для проверки получения трафика. Если клиент не ответил, то его автоматически отключают от этой рассылки. Процедура полностью автоматическая.
Активируя или отключая IGMP прокси, пользователь позволяет роутеру принимать или отклонять пакеты данных IPTV. Если компьютер или телевизор не подключен к интерактивному телевидению, эту опцию можно деактивировать.
IGMP V2 или V3: в чем разница
Разница между IGMP Proxy V2 и V3 в качестве фильтрации трафика. IGMPv3 поддерживает чистый SSM. Клиент сможет указать в запросе список источников, от которых он хочет или не желает получать трафик. При использовании второй версии протокола осуществляется запрос всего трафика без разделения на источники.
Еще одно отличие V3 от V2 заключается в отправке сообщения Report на мультикастовый служебный адрес вместо группового. Адреса запрашиваемой группы находятся непосредственно внутри пакета. Это изменение упрощает IGMP Snooping.
Провайдеры часто рекомендуют использовать для мультикаста вторую версию протокола. Она является самой распространенной и поддерживается большинством роутеров.
Как включить эту функцию на роутере
Эта функция нужна для работы IPTV. В большинстве роутеров мультикаст уже включен, и менять его настройки не нужно. Рассмотрим алгоритм включения IGMP Proxy в роутерах разных производителей.
В бирюзовом интерфейсе TP-Link нужные настройки находятся в разделе «Сеть» на вкладке «IPTV». Нужно убедиться, что напротив IGMP Snooping и IGMP Proxy установлены галочки. Также нужно поставить галочку рядом с «Включить IPTV» и сохранить настройки.
Аналогичным образом включают IGMP Proxy в голубом интерфейсе TP-Link.
Чтобы настроить IPTV в зеленом интерфейсе TP-Link, необходимо переключить режим в «Мост» и выбрать порт для подключения приставки.
В роутере Asus со старой голубой прошивкой функция IGMP Proxy активируется во разделе «ЛВС» дополнительных настроек. Нужно перейти во вкладку «Маршрут» и установить галочку напротив пункта «Включить многоадресную маршрутизацию», а затем кликнуть на кнопку «Применить». После этого можно приступать к дальнейшей настройке IPTV в разделе WAN.
В моделях Asus с современной черной прошивкой функция активируется в разделе «Локальная сеть» на вкладке IPTV.
В старой прошивке роутеров Zyxel по умолчанию активирован сервис IGMP proxy. Его можно отключить в модуле «Приложения». Для этого откройте вкладку «Сервер udpxy» и нажмите на кнопку «Остановить IGMP proxy».
Роутеры Keenetic поддерживают одновременную работу сразу с обеими этими функциями. Активация протокола IGMP Proxy осуществляется в разделе «Домашняя сеть». Нужно промотать страницу до одноименного раздела и поставить галочку напротив «Включить».
У роутеров Tenda функция IGMP Proxy включена по умолчанию. В настройках ее нельзя активировать отдельно.
В роутерах D-Link эта опция тоже включена по умолчанию. Если же приставка не может установить соединение, можно исправить это вручную. Для этого перейдите в раздел «Настройка соединений» и выберите «WAN». Проверьте, чтобы возле параметра IGMP стоял переключатель напротив WAN.
В старых сериях устройств D-Link (DI-524, DI-808HV) можно активировать IGMP вручную. Для этого загрузите последнюю версию прошивки, а затем перейдите в раздел «WAN». Возле нужного параметра переключатель должен стоять у Enabled. Не забудьте кликнуть на кнопку «Apply».
В моделях серии DI-524UP, DI-624S нужно перейти во вкладку «Tools» и в меню выбрать «Misc». Далее потребуется пролистать до «Multicast streaming», установить регулятор около «Enabled» и нажать на «Apply».
В роутерах DIR-300, DIR-400 настройки меняются в разделе «Advanced». Нужно перейти во вкладку «Advanced Network» и установить галочку рядом с «Enable Multicast Stream». Чтобы настройки вступили в силу, кликните на «Save Settings».
У роутеров Netis функция активации IGMP находится в расширенных настройках. После перевода протокола во включенное состояние нужно кликнуть на кнопку «Сохранить».
В устройствах Upvel активирован протокол IGMP по умолчанию. Проверить это можно в настройках интерфейса WAN. Напротив «Разрешить IGMP-прокси» должна быть установлена галочка.
Читайте подробную статью, как подключить телевизор у интернету для просмотра IPTV, серфинга и других задач.
И так, чтобы раскрыть тему IGMP Proxy, PIM и мультикаста полностью – давайте начнём с самого начала. Вы, наверное, уже знаете, как передаётся эфирное телевидение. То есть у нас есть телевизионная вышка, которая путём радиоволн передаёт закодированный сигнал. А клиент в свою очередь принимает этот сигнал с антенны и видит картинку на телевизоре. Аналогично все происходит и путём кабельного ТВ. Только разница в том, что в кабельном идёт сигнал непосредственно по проложенному проводу к каждому приёмнику.
Но общее все же есть – сигнал одновременно поступает к всем клиентам. Когда вы включите телевизор, то вы увидите сигнал, который отправляется всем. Но если вы включите, например тот же самый YouTube, то там все по-другому. Каждому пользователю предоставляется свой пакет трафика.
И вот мы подошли к вопросу – что же такое мультикаст? Это технология, которая объединяет два этих подхода передачи трафикав. На первом уровне, пакет отправляется только в одном экземпляре, но только тому клиенту, который сделал на него запрос. Приёмников на самом деле может быть несколько.
Самый яркий пример мультикаста — это использования IPTV. Не все провайдеры предоставляют данную возможность, но щас она набирает обороты и возможно, кто-то уже пользуется этой услугой. Представим, что у нас есть два пользователя: Вася и Петя, который подключены к одному провайдеру. Так вот сервер IPTV, отправляет сигналы не всем пользователям, а только тем, кто в данный момент подключен.
Но самое главное, что Вася и Петя будут получать сигнал и пакеты только того канала, который в данный момент включен. Например, Вася смотрит «Первый канал», а Петя «СТС». Сервер четко отправляет пакеты информации только по тому каналу, который активен. Ещё один пример — это онлайн конференция, которой часто пользуются крупные компании. Ведь нет смысла раскидываться трафиком и отправлять всем, можно просто от одного разливать информацию к каждому клиенту.
Содержание
- Реализация
- Куда идёт пакет
- Как включить на роутере
- Задать вопрос автору статьи
Реализация
А теперь встаём следующая проблема – как это организовать. Представьте себе, что в сети у провайдера очень много узлов, коммутаторов, маршутизаторов, серверов и есть центральный сервер того же IPTV. Задача сервера отправить трафик таким образом, чтобы он максимально быстро через минимальное количество узлов дошёл до пользователя.
При этом нужно это сделать так, чтобы не образовалось кольцо – когда трафик начинает ходить по кругу и бесконечно. Поэтому путь пакетов будет выглядеть как дерево, да и топология будет использоваться подобная. То есть выходя пакет от сервера он подходит к одному из узлов. Дальше узел должен определить куда дальше отправлять пакет.
А теперь мы подобрались к протоколу IGMP (Internet Group Management Protocol) — это такой протокол, который позволяет быстро подключаться клиенту к ближайшему маршрутизатору. Он сообщает ему, что нужен трафик по тому или иному каналу. Если же запроса к маршрутизатору нет, то он просто простаивает и тем самым высвобождает ресурсы сети.
Также используется PIM (Protocol Independent Multicast) протокол – эта такая система, которая выстраивает адрес от сервера к конечному получателю через одну ветвь дерева. При этом система постоянно мониторит путь, чтобы менять его, если какой-то сегмент выключен или был перемещён.
Проще говоря, сервер транслирует только один сигнал каждого телевизионного канала. И пользователи получают только сигнал того канала, который запросили. Одновременно один сигнал могут получать и несколько приёмников. Именно для этого и нужен протокол IGMP.
Куда идёт пакет
Рассмотрим на примере. Вообще данная технология использует IP адреса 224.0.0.0-239.255.255.255 диапазона. Например, сервер отправляет один канал с адресом 224.2.2.4. Это канал «СТС». IGMP протокол, использующийся только в отрезке между клиентом и ближайшим маршрутизатором, который к нему подключен.
- Так вот, пользовательская программа отправляет запрос на просмотр канала 224.2.2.4 ближайшему маршрутизатору.
- Если в маршрутизаторе уже есть поток и через него идёт дерево канала, который запросил клиент – то пакеты сразу же отправляются пользователю, и он видит изображение.
- Как только клиент выключит программу на маршрутизатор отправляется сигнал, о выходе из группы и сигнал более туда не идёт.
- Но также маршрутизатор постоянно отправляет сигнал на ближайших включенных клиентов, чтобы удостовериться, что они ещё принимают трафик. Происходит это каждые 60 секунд. Клиент, который получил такой запрос, обязан отправить ответ или его отключат. Все это происходит в автономном режиме.
Как включить на роутере
В роутере данная функция чаще всего нужна для нормального просмотра IPTV. По умолчанию эта функция уже включена, но можно проверить. Теперь я покажу как включить эту функцию на примере модели TP-Link.
Заходим в «Сеть» – «IPTV» и включаем «IGMP Прокси». Также не забываем поставить галочку «IGMP Snooping» – функция, исключающая получение трафика от группы, к которой не принадлежит клиент. На новых прошивках данный пункт находится там же, только изначально надо нажать на вкладку «Дополнительные настройки». Обязательно нажмите на кнопку «Сохранить» в само конце.
Содержание
- Введение в IGMP Snooping
- Роль IGMP Snooping в сети
- Как настроить IGMP Snooping на роутере
- Преимущества использования IGMP Snooping
IGMP Snooping – это технология, которая позволяет роутеру оптимизировать передачу мультимедийных данных в сети. Она работает на уровне сетевого устройства и используется для эффективной передачи многоадресных пакетов.IGMP Snooping позволяет роутеру отслеживать информацию о группах многоадресной рассылки в сети и отправлять пакеты только на необходимые порты. Это позволяет снизить нагрузку на сеть и улучшить ее производительность.Технология IGMP Snooping работает на основе протокола IGMP (Internet Group Management Protocol). Он используется для управления многоадресной рассылкой в IP-сетях. Когда устройство присоединяется к группе многоадресной рассылки, оно отправляет сообщение IGMP-запроса на роутер. Роутер записывает информацию о группах многоадресной рассылки и отправляет пакеты только на те порты, где находятся устройства, присоединенные к этой группе.Использование технологии IGMP Snooping позволяет снизить нагрузку на сеть и улучшить производительность. Кроме того, она обеспечивает безопасность сети, так как предотвращает передачу многоадресных пакетов на несанкционированные порты.В следующей части статьи мы рассмотрим более подробно, как работает технология IGMP Snooping в роутере и как ее настроить.
Роль IGMP Snooping в сети
IGMP Snooping – это технология, которая позволяет роутеру узнать, какие устройства в сети являются членами мультикастовой группы и куда нужно направлять мультикастовый трафик.
Без IGMP Snooping, мультикастовый трафик будет передаваться на все устройства в сети, что может привести к перегрузке сети и падению производительности. С IGMP Snooping, только устройства, которые являются членами мультикастовой группы, получают трафик, что позволяет уменьшить нагрузку на сеть и повысить ее производительность.
IGMP Snooping дополнительно позволяет роутеру узнать, когда устройство покидает мультикастовую группу, что позволяет освободить ресурсы и уменьшить нагрузку на сеть.
Таким образом, IGMP Snooping играет важную роль в сети, позволяя эффективно передавать мультикастовый трафик и уменьшить нагрузку на сеть.
Как настроить IGMP Snooping на роутере
IGMP Snooping – это технология, которая позволяет оптимизировать работу мультикастовых приложений в сети. Если в вашей сети есть мультикастовые приложения (например, IPTV), то настройка IGMP Snooping на роутере поможет избежать ненужного трафика и улучшить производительность сети.
Для настройки IGMP Snooping на роутере необходимо выполнить следующие шаги:
1. Войдите в интерфейс управления роутером.
2. Найдите раздел «IGMP Snooping» или «Multicast».
3. Включите опцию «IGMP Snooping».
4. Настройте параметры IGMP Snooping в соответствии с требованиями вашей сети. Например, вы можете настроить таймеры, которые определяют, сколько времени IGMP Snooping должен ждать, прежде чем считать, что устройство больше не нуждается в мультикастовых потоках.
5. Сохраните изменения и перезагрузите роутер.
Готово! Вы успешно настроили IGMP Snooping на своем роутере и теперь можете наслаждаться более эффективной работой мультикастовых приложений в сети.
Преимущества использования IGMP Snooping
IGMP Snooping – это технология, которая позволяет роутеру определять, какие устройства в сети являются членами мультикаст-групп, и отправлять им только необходимый трафик. Это позволяет значительно уменьшить нагрузку на сеть и увеличить ее производительность.
Одним из главных преимуществ использования IGMP Snooping является уменьшение количества широковещательных пакетов, которые передаются по сети. Это происходит благодаря тому, что роутер узнает, какие устройства заинтересованы в мультикаст-трафике, и отправляет ему только им. Это позволяет сократить нагрузку на сеть и увеличить ее пропускную способность.
Кроме того, IGMP Snooping позволяет улучшить качество обслуживания (QoS) в сети. Роутер может определить, какие приложения или устройства наиболее важны для пользователя, и обеспечить им приоритетный доступ к сети. Это позволяет увеличить скорость работы приложений и улучшить пользовательский опыт.
В целом, использование технологии IGMP Snooping позволяет оптимизировать работу сети и улучшить качество обслуживания. Это особенно важно для сетей, которые используют мультикаст-трафик, таких как IP-телевидение или видеоконференции.
Примеры проблем, которые решает IGMP Snooping:
1. Одна из основных проблем, которую решает IGMP Snooping, это избыточный трафик в сети. Когда в сети множество устройств, которые отправляют многократные запросы на групповые адреса, это может привести к перегрузке сети. IGMP Snooping позволяет определять, какие устройства находятся в каких группах и передавать трафик только тем, кто его запрашивает.
2. Еще одна проблема, которую решает IGMP Snooping, это защита от DoS-атак. DoS-атака может произойти, если злоумышленник отправит множество запросов на групповые адреса, что приведет к перегрузке сети. IGMP Snooping позволяет определять, какие запросы на групповые адреса являются нормальными, а какие являются атакой, и блокировать их.
3. Еще один пример проблемы, которую решает IGMP Snooping, это проблема совместимости с устройствами, которые не поддерживают протокол IGMP. Некоторые устройства могут отправлять запросы на групповые адреса без уведомления роутера. IGMP Snooping позволяет определить, какие устройства отправляют запросы на групповые адреса, и передавать трафик только тем, кто его запрашивает.
В целом, IGMP Snooping является очень полезным инструментом для оптимизации сети и защиты от DoS-атак. Он позволяет определять, какие устройства находятся в каких группах и передавать трафик только тем, кто его запрашивает, что существенно снижает нагрузку на сеть и повышает ее производительность.
Основным механизмом доставки телевизионных программ до абонентов в локальных сетях является вещание в виде широковещательных IP-пакетов (иногда такой поток называют «мультикаст» от английского «multicast»). Особенностью данной технологии является то, что все мультимедийные потоки всегда направляются в сеть, вне зависимости от количества активных подписчиков в настоящий момент времени. Например, для передачи 20 телевизионных каналов со средним битрейтом 4 Мбит/сек на канал потребует порядка 4*20 = 80 Мбит/сек пропускной способности. Эти 80 Мбит/сек будут направляться в сеть, даже если ни один абонент в данный момент не подключен к сети, а также в случае, если количество активных абонентов гораздо более 1000.
Вещание мультимедийного контента в локальную сеть в виде широковещательных пакетов сопряжено с необходимостью четко контролировать какие пакеты и к какому получателю должны доставляться. Необходимо избегать ситуации, когда все пакеты доставляются всем абонентам. В этом случае абонентские устройства будут тратить ресурсы на обработку «непрошенных» пакетов и в итоге не смогут выполнять свои функции. Абоненту необходимо доставлять пакеты только того потока, который он запросил. Для этого абонентское оборудование сообщает о желании вступить в определенную группу по протоколу IGMP. Далее этот запрос регистрируется на маршрутизаторе, в терминах IGMP это устройство называется «Querier». После успешной регистрации, Ethernet коммутатор приступает к копированию широковещательных пакетов, предназначенных для данной группы, в порт, к которому подключен абонент.
Благодаря протоколу IGMP, Ethernet-коммутаторы могут определить какие широковещательные пакеты копировать в абонентский порт, а какие нет.
В настоящей статье описывается настройка протокола IGMP в локальной сети, построенной на Ethernet-коммутаторе Cisco Catalyst 2950T и DVB-IP стримере производства компании НетАП на базе ОС Linux. В качестве абонентских устройств выступают IP STB AmiNET 110 и персональный компьютер на базе ОС Windows либо Linux с мультимедиа проигрывателем VLC [1].
В настоящий момент существует три версии этого протокола — IGMP v1 [2], IGMP v2 [3], IGMP v3 [4]. Наиболее распространена версия 2.
формат IGMPv2 пакета:
Адрес группы представляет собой широковещательный IP-адрес, на который осуществляется рассылка контента. Например, 224.200.200.205.
В IGMPv2 существуют следующие типы сообщений:
- Запрос о составе группы.
- Отчет о составе группы.
- Сообщение о выходе из группы.
Рассмотрим назначение этих сообщений более детально.
При подключении к IGMP-группе абонентское устройство посылает в сеть IGMP пакет с типом «Отчет о составе группы», тем самым давая понять, что желает получать пакеты для данной группы.
При выходе из группы абонентское устройство посылает в сеть IGMP пакет с типом «Сообщение о выходе из группы».
Маршрутизатор (querier) периодически посылает в сеть IGMP запрос с типом «Запрос о составе группы» для выяснения состава группы на текущий момент времени. Если ответа от абонентских устройств не последовало, то маршрутизатор отключает эту группу и более не пересылает пакеты для данной группы.
Общая схема сети
Рассмотрим работу протокола IGMP на тестовом стенде в компании НетАП. Общая схема сети представлена на рисунке 1.
Рис. 1. Тестовый стенд — общая схема сети.
Абонентское устройство IP STB
В качестве IP STB была использована модель AmiNET 110 (Рис. 2).
Рис. 2. Абонентское устройство IP STB
По умолчанию IP STB после загрузки отображает стартовую страницу WEB-браузера и предлагает ввести URL. Для просмотра медиаконтента передаваемого в широковещательной группе 224.200.200.205 (на тестовом стенде это телевизионный канал «Россия») необходимо ввести следующий адрес:
igmp://224.200.200.205:1234
При этом IP STB отправит в сеть IGMP -запрос о вступлении в группу 224.200.200.205. Если IGMP корректно функционирует в сети, то абонентское устройство сможет «увидеть» этот поток. При нажатии клавиши «Esc» IP STB прекратит отображать поток. При этом в сеть будет отправлен IGMP-запрос о выходе из группы.
Персональный компьютер абонента с установленным медиапроигрывателем VLC
С точки зрения протокола IGMP медиапроигрыватель VLC функционирует аналогично IP STB AmiNET 110.
Ethernet коммутатор Cisco Catalyst 2950T
Поддерживает перехват и анализ IGMP пакетов. Этот функционал называется «igmp snooping». Именно благодаря анализу проходящих IGMP пакетов, коммутатор узнает к каким портам подключены абоненты и в каких группах они состоят.
Для включения этой функции необходимо в настройках коммутатора ввести следующие команды:
catalyst2950#configure terminal catalyst2950(config)#ip igmp snooping
Для анализа работы «igmp snooping» на коммутаторе можно ввести следующие команды:
catalyst2950#debug ip igmp snooping catalyst2950#terminal monitor
При этом коммутатор будет выводить на консоль информацию о перехваченных IGMP пакетах, а так же информацию о том какие действия были предприняты. Например, прием IGMP-пакета от клиента о вступлении в группу 224.200.200.205 будет выглядеть следующим образом:
9w3d: IGMPSN: group: Received V2 report for group 224.200.200.205 received on Vlan 1, port Fa0/2 9w3d: IGMPSN: group: Adding client ip 10.1.2.16, port_id Fa0/2, on vlan 1 for proxy reporting 9w3d: IGMPSN: group: Created group 224.200.200.205 9w3d: IGMPSN: group: Added port Fa0/2 to group 224.200.200.205
Как видно из этих отладочных сообщений коммутатор зафиксировал вступление абонента 10.1.2.16, подключенного к порту Fa0/2 в группу 224.200.200.205. Согласно этой информации в порт Fa0/2 теперь будут поступать пакеты для 224.200.200.205.
При выходе абонента из группы на консоли появятся следующие сообщения:
9w3d: IGMPSN: group: Leave for group 224.200.200.205 received on Vlan 1, port Fa0/2 9w3d: IGMPSN: group: Adding client ip 10.1.2.16, port_id Fa0/2, on vlan 1 for proxy reporting 9w3d: IGMPSN: group: Created leave port on port Fa0/22, for group 224.200.200.205 on Vlan 1 9w3d: IGMPSN: timer: Vlan 1, group 224.200.200.205, port Fa0/2 leave port timer expired 9w3d: IGMPSN: group: Deleting leave port on port Fa0/2, for 224.200.200.205 on Vlan 1 9w3d: IGMPSN: group: Deleting port Fa0/2 from group 224.200.200.205 on Vlan 1 9w3d: IGMPSN: group: Deleting group 224.200.200.205
Как видно из этих сообщений, коммутатор произвел отключение абонента из группы 224.200.200.205, а так же удалил группу т.к. в данной группе больше не осталось активных абонентов.
Стоит отметить, что коммутатор только анализирует проходящие IGMP пакеты. При этом он не выполняет функции маршрутизатора (Querier). Для этих целей необходимо устанавливать маршрутизатор Cisco либо запускать пакет mrouted на сервере с ОС Linux.
Еще одной немаловажной деталью является то, что если не настроен «igmp snooping» коммутатор рассылает все широковещательные пакеты во все порты. При существенном количестве потоков это может вызвать перегрузки абонентских устройств подключенных к этому коммутатору. По наблюдениям специалистов компании НетАП, широковещательный поток порядка 20 Мбит/сек способен «подвесить» некоторые беспроводные точки доступа, что конечно же недопустимо. В связи с этим необходимо опасаться ситуации, когда по каким либо причинам отключается IGMP в сети.
NetUP DVB-IP стример, RCA-in
Данное устройство производится компанией НетАП и представляет собой высокопроизводительный IP-стример. В качестве источника мультимедийных данных могут выступать спутниковые каналы (DVB-S), аналоговые видео-входы (RCA-in) с видео-камер, транспортные потоки (ASI-in) и др. На выходе стример имеет два Gigabit Ethernet порта для отправки сформированных транспортных потоков в IP-cеть. Пакеты отправляются в режиме широковещания.
Стример построен на базе ОС Linux. В связи с этим имеется возможность установить дополнительно необходимые сервисы. Как упоминалось выше, коммутатор не выполняет функции маршрутизатора широковещательных пакетов (Querier), поэтому данный функционал возложим на стример. Для этого необходимо установить пакет mrouted и запустить его. Конфигурационный файл /etc/mrouted.conf можно оставить со значениями по умолчанию. Стоит отметить, что в системе должны быть активированы два сетевых интерфейса, в противном случае процесс mrouted не запустится.
Проконтролировать текущее состояние процесса можно, послав сигнал USR1. Для этого выполните команду:
kill -USR1 `cat /var/run/mrouted.pid `
В результате процесс mrouted сбросит текущее состояние в файл /var/tmp/mrouted.dump. Пример содержимого этого файла:
mrouted version 3.9-beta3 up 0:08:30 Sat Jul 7 14:44:07 2007 vifs_with_neighbors = 0 Virtual Interface Table Vif Name Local-Address M Thr Rate Flags 0 eth2 10.1.11.10 subnet: 10.1/16 1 1 0 querier leaf group host (time left): 224.200.200.205 10.1.2.16 ( 0:04:15) 224.200.200.150 10.1.4.233 ( 0:03:40) 224.0.0.4 10.1.11.10 ( 0:03:39) 224.0.0.2 10.1.11.10 ( 0:03:39) IGMP querier: 10.1.11.10 (this system) Nbr bitmaps: 0x0000000000000000 pkts/bytes in : 2773302/3593651956 pkts/bytes out: 0/0 1 eth3 172.16.16.16 subnet: 172.16.16/24 1 1 0 querier leaf group host (time left): 224.0.0.4 172.16.16.16 ( 0:03:44) 224.0.0.2 172.16.16.16 ( 0:03:44) IGMP querier: 172.16.16.16 (this system) Nbr bitmaps: 0x0000000000000000 pkts/bytes in : 0/0 pkts/bytes out: 0/0 Multicast Routing Table (2 entries) Origin-Subnet From-Gateway Metric Tmr Fl In-Vif Out-Vifs 172.16.16/24 1 110 .. 1 0* 10.1/16 1 110 .. 0 1*
Как видно из этого файла, на интерфейсе eth2 у нас присутствует широковещательная группа 224.200.200.205, в которую подключен абонент 10.1.2.16.
В случае если в сети находятся два или более IGMP querier, то функции на себя берет тот, у которого меньше IP-адрес. Благодаря такой логике возможно дублирование функций между двумя и более широковещательными маршрутизаторами для большей отказоустойчивости.
Корректность работы IGMP можно проверить на Ethernet коммутаторе Cisco Catalyst. Для этого необходимо выполнить команды:
catalyst2950#show ip igmp snooping querier Vlan IP Address IGMP Version Port --------------------------------------------------- 1 10.1.11.10 v2 Fa0/1 catalyst2950#show ip igmp snooping group Vlan Group Version Port List --------------------------------------------------------- 1 224.200.200.205v2 Fa0/2
Согласно выводу этих команд, коммутатор корректно определил маршрутизатор (Querier) и присутствие в сети группы 224.200.200.205. При этом так же указан абонент, подключенный к этой группе и порт, на котором этот абонент находится. Соответственно только в этот порт направляются пакеты для группы 224.200.200.205. При этом пакеты для других широковещательных групп удаляются на коммутаторе и не направляются ни в один из портов т.к. у нас нет больше активных абонентов.
При этом стоит отметить, что стример посылает в сеть все каналы, независимо от количества активных абонентов. Проконтролировать наличие потоков можно, выполнив на стримере команду:
/usr/bin/trafshow -ni eth2 port 1234
Вывод будет содержать таблицу текущих широковещательных потоков, с указанием битрейта и переданных байт:
From Address To Address Proto Bytes CPS ====================================================================== 10.1.11.10..32795 224.200.200.202..1234 udp 8537028 375494 10.1.11.10..32788 224.200.200.212..1234 udp 7952044 407992 10.1.11.10..32790 224.200.200.209..1234 udp 7094228 279341 10.1.11.10..32787 224.200.200.213..1234 udp 7043440 351231 10.1.11.10..32784 224.200.200.210..1234 udp 7008084 280157 10.1.11.10..32782 224.200.200.215..1234 udp 6508896 314706 10.1.11.10..32785 224.200.200.207..1234 udp 5925792 231584 10.1.11.10..32794 224.200.200.200..1234 udp 5906572 200676 10.1.11.10..32793 224.200.200.211..1234 udp 6047448 326328 10.1.11.10..32796 224.200.200.205..1234 udp 5881424 306071 10.1.11.10..32783 224.200.200.216..1234 udp 5758480 393428 10.1.11.10..32798 224.200.200.201..1234 udp 5570160 321016 10.1.11.10..32797 224.200.200.204..1234 udp 5365592 284411 10.1.11.10..32791 224.200.200.217..1234 udp 5195216 207687 10.1.11.10..32786 224.200.200.206..1234 udp 5297696 296824 10.1.11.10..32799 224.200.200.203..1234 udp 4779076 203542 10.1.11.10..32792 224.200.200.214..1234 udp 3279980 161183 10.1.11.10..32789 224.200.200.208..1234 udp 3144896 131500 10.1.11.10..32800 224.200.200.250..1234 udp 512616 22896 10.1.11.10..32801 224.200.200.251..1234 udp 364532 28590 (eth2) 100217 kb/total 4057 pkts/sec 5250733 bytes/sec Page 1/1
Как видно из этой распечатки, стример постоянно передает в сеть 20 потоков (18 телевизионных каналов и 2 радио станции). При этом, как уже отмечалось выше, количество реально работающих абонентов может сильно варьироваться с течением времени. Благодаря работе протокола IGMP каждый абонент получает именно тот поток, который он запросил.
В случае использования маршрутизатора Cisco (на стенде компании НетАП используется модель Cisco 7140-2FE, IOS 12.3), поддержка маршрутизации широковещательных пакетов включается следующими командами:
c7140(config)#ip multicast-routing c7140(config)#interface FastEthernet0/0 c7140(config-if)#ip pim sparse-mode c7140(config-if)#ip igmp version 2
Проконтролировать широковещательные группы при этом можно командой:
c7140#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.200.200.150 FastEthernet0/0 00:02:40 00:02:59 10.1.2.37 224.200.200.205 FastEthernet0/0 00:02:41 00:01:53 10.1.4.233
Протокол IGMP служит для управления многоадресной передачей данных и применяется в роутерах для организации подключенного к нему оборудования в группы.
У пользователей, пожелавших воспользоваться преимуществами IPTV через свой домашний маршрутизатор, иногда возникают сложности с подключением к интерактивному телевидению.
Некоторые модемы несовместимы для работы с этой технологией, а на отдельных просто требуется включить через web-конфигуратор igmp. Интерактивное ТВ функционирует посредством широковещательной передачи данных.
Если организовать просмотр такого телевидения с использованием маршрутизатора либо модема ADSL, то ко всем устройствам, соединенным с ними, будет осуществляться передача данных.
Для этого требуется поддержка роутером IGMP, однако старые версии устройств часто ее не имеют, либо у них не хватает аппаратной мощности, то есть просто зависают из-за перегрузки.
Процедура включения
На современном оборудовании обычно, чтобы просматривать IPTV, ручное подключение этого протокола осуществлять нет необходимости.
Достаточно произвести апгрейт программного обеспечения и после этого функция активируется в автоматическом режиме. Главное, чтобы роутер поддерживал этот протокол.
Чтобы включить поддержку IPTV вручную, следует запустить web-конфигуратор роутера и осуществить небольшую настройку. Например, на приборах ASUS потребуется исполнить следующие действия:
- Войти во вкладку «Локальная сеть»;
- Далее перейти в закладку «IPTV»;
- Затем для активации многоадресной маршрутизации в графе «IGMP Proxy» вызвать выпадающее меню и выбрать «Включить»;
- Аналогичную процедуру выполнить для пункта ниже, отвечающего за отслеживание: «IGMP Snooping»;
- Завершив активацию параметров, клацнуть виртуальную клавишу в интерфейсе роутера «Применить» (иначе введенные корректировки не будут сохранены);
- Готово.
Примечание: На старых моделях маршрутизаторов пункт под номером «4» выполнять не требуется, так как в них достаточно активировать графу «IGMP прокси» и все заработает.
Устранение сопутствующих проблем
В случае, когда трансляция IPTV не заработала после выполненных мероприятий, нередко виновниками блокировки выступают брандмаундер системы, антивирусник или фаерволл.
Следует их временно отключить для диагностирования источника неполадок. Затем, к примеру, в файрволле разрешить активность протокола для просмотра интерактивного телевидения.
Если для просмотра интерактивного ТВ применяется приставка, то необходимо включить функцию «Мост».
В роутерах разных производителей она называется по-разному, например, в Asus «Choose WAN Bridge Port», а в TP Link «Network-Bridge». Лучше свериться с инструкцией конкретной модели аппарата.
Если трансляция сопровождается частыми перебоями (изображение зависает, звук затормаживается и т.п.), то это вызывается перегрузкой маршрутизатора.
Рекомендуется ограничить скорости скачивания для других клиентов сети или сократить число кабельных подключений, а также лимитировать количество соединений по Wi-Fi.