Основным механизмом доставки телевизионных программ до абонентов в локальных сетях является вещание в виде широковещательных 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
В настоящий момент существует три версии этого протокола — 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
Возможно вас заинтересует:
- Multicast routing для IPTV
- Терминология Cisco NAT
- История создания электронной почты
- Как разрешить traceroute c помощью iptables
Запись опубликована в рубрике Сети, Технические с метками cisco, igmp, iptv, multicast, network. Добавьте в закладки постоянную ссылку.
Источник: pustovoi.ru
Включить igmp snooping asus что это
При получении коммутатором группового трафика (широковещательного или многоадресного) он начинает передавать кадры через все порты. Такое поведение хорошо подходит для широковещательной передачи, когда кадры предназначены для всех подключенных к коммутатору узлов. Однако в случае многоадресной рассылки кадр предназначен для небольшого числа узлов.
Исходя из логики работы коммутатора, кадры многоадресной рассылки будут пересылаться, в том числе, в те сегменты сети, где ни один узел не заинтересован в их получении. Таким образом, это приведет к неэффективному использованию полосы пропускания сети. Если многоадресного трафика много, встает задача его ограничения на канальном уровне.
Функция IGMP Snooping работает на канальном уровне модели OSI и предотвращает лавинную рассылку многоадресных пакетов. Когда она активирована, коммутатор отслеживает IGMP-сообщения (запросы и ответы), передаваемые между узлами-подписчиками и маршрутизаторами многоадресной рассылки и использует их содержимое для построения таблицы передачи многоадресного трафика. Формируя данную таблицу, коммутатор осуществляет передачу многоадресного трафика только тем узлам, которые в нем заинтересованы.
В таблицу передачи многоадресного трафика могут добавляться статические записи. Они создаются вручную администратором сети в том случае, если подключенные к коммутатору узлы не поддерживают протокол IGMP, но хотят получать трафик определенной многоадресной группы.
Если в сети нет маршрутизатора многоадресной рассылки и источник многоадресного трафика подключен напрямую к коммутатору, то необходимо настроить IGMP Snooping Querier в соответствующей VLAN на коммутаторе.
Функция IGMP Snooping Fast Leave, активированная на коммутаторе, позволяет мгновенно исключить порт из таблицы передачи многоадресного трафика при получении им сообщения о выходе из группы. Это позволяет прекратить передачу по сети ненужных потоков данных и более эффективно использовать полосу пропускания. Функция IGMP Snooping Fast Leave полезна в приложениях IPTV, так как с ее помощью можно уменьшить время при переключении пользователей между телевизионными каналами. Следует отметить, что порт будет удален из таблицы передачи многоадресного трафика только в том случае, если к нему больше не подключено ни одного узла-подписчика. Функция IGMP Snooping Fast Leave активируется в VLAN.
Примечание к настройке
Рассматриваемый пример настройки подходит для следующих серий коммутаторов: DGS-1250, DGS-1510, DGS-1520, DGS-3130, DGS-3630, DXS-3610.
Задача 1
В сети реализован сервис многоадресной рассылки. Клиенты, среди которых имеются подписчики многоадресной рассылки, подключены к коммутаторам второго уровня. Нужно обеспечить передачу многоадресной рассылки только подписчикам.
Источник: d-link.ru
Что такое IGMP snooping в роутере: зачем нужна функция IGMP snooping
Ряд платформ в интернете используют метод multicast для передачи данных группе пользователей. Такая технология применяется для онлайн-игр, прямых трансляций, дистанционного обучения и даже для почтовых рассылок. Но мультивещание не всегда грамотно оптимизирует ретрансляцию трафика и нагружает сеть пользователя, поэтому для устранения этой проблемы создали функцию IGMP snooping. Разберёмся, что это за функция, и как включить её для оптимизации своего трафика.
Что такое и зачем нужна функция IGMP snooping
Для начала дадим определение IGMP, чтобы понять принцип работы технологии. Internet Group Management Protocol – протокол управления сетью мультивещания, который организует несколько устройств в группы. Он основан на протоколе IP и применяется в интернете повсеместно, эффективно используя ресурсы сети.
IGMP snooping – процесс отслеживания multicast-трафика между группой потребителей и хостом. Включенная функция snooping начинает анализировать запросы пользователя на соединение с мультивещательной группой и добавляет порт в список IGMP-вещания. После завершения использования мультитрафика, пользователь оставляет запрос и протокол, удаляет порт из списка групповой передачи данных.
Таким образом snooping исключает передачу пользователю ненужных данных через multicast каналы. Это делает обмен данными на канальном уровне сети более эффективным и учитывает потребности сетевого уровня, что в особенности важно для поставщиков информации. Пользователи также получат оптимизированный контент, хотя в итоге нагрузка на сеть возрастёт.
Без отслеживания и анализа данных, конечные потребители в виде конкретных IP-адресов, будут вынуждены «переваривать» дополнительную бесполезную для них информацию. IGMP snooping не только избавит пользователей от лишнего трафика, но и сделает обмен информацией более безопасным. Включенный режим отслеживания вовремя пресечёт попытки DDoS-атаки на сеть или конкретные адреса, к которым уязвим протокол Internet Group Management.
Активация функции IGMP snooping
Функция отслеживания и анализа трафика доступна на управляемых сетевых коммутаторах или свичах. Это устройство помогает реализовывать принципы группового вещания на канальном уровне сети. Для активации IGMP snooping требуется вручную включить и настроить её на коммутаторе. Неуправляемые аналоги не поддерживают режим анализа трафика, так как не могут быть настроены через интерфейс.
Перед использованием коммуникатора в вашей сети убедитесь, что конечный получатель (например, smart-tv) поддерживает режим snooping. Обычно устройства имеют соответствующий пункт в разделе «Настройка сетевого подключения», что заметно упрощает регулировку мультивещания.
Рассмотрим способ подключения функции через командную строку на примере популярных коммутаторов D-Link:
- Откройте командную строку устройства с помощью CLI-интерфейса.
- Введите «enable-igmp-snooping». Эта команда включит функцию на коммутаторе и всех подключенных адресах.
- Введите «config-igmp-snooping-vlan-default-state-enable», что позволит настроить протокол в VLAN.
- Команда «confog-multicast-vlan-filtering-mode-vlan-default-filter-unregistred-groups» включает на коммуникаторе фильтрацию данных с нескольких адресов сразу.
- В завершение используйте «config-igmp-snooping-vlan-default-fast-leave-enable» в сети VLAN.
Последняя команда включает функцию IGMP Snooping Fast Leave, которая исключает порт из сети, как только пользователь сделал запрос «leave». Благодаря Fast Leave, потребитель не получит ненужные данные и не будет их обрабатывать. Это уменьшит нагрузку на сеть и позволит коммутатору работать более эффективно.
Виды IGMP snooping
Прослушка и анализ данных делится на два вида:
- Пассивный IGMP snooping. Такой протокол просто отслеживает данные, не фильтруя и не анализируя их. Иными словами, прослушка работает в фоновом режиме и никак не влияет на качество передачи данных.
- Активное отслеживание. Не только пассивно прослушивает трафик, но и фильтрует его с целью эффективного использования мультивещания в сети. Активный IGMP snooping минимизирует обмен информацией, отсеивая запросы к роутеру на подключение и отключение. Идеальное состояние коммутатора – наличие одного потребителя на каждую мультикастовую группу вещания, к чему стремится алгоритм протокола.
Snooping с активным алгоритмом ускоряет передачу данных и улучшает качество сети, но при этом создаёт дополнительную нагрузку на коммутатор. Фильтрация требует от устройства определённых затрат ресурсов памяти и CPU, тогда как простое отслеживание или ретрансляция – менее требовательная процедура. При этом активное отслеживание передаёт маршрутизатору данные только о самом последнем участнике группы, чтобы устройство не определило это, как отсутствие потребителей в канале, и не исключило порт из списка.
Функция IGMP snooping отлично сочетается с домашними сетями, если вы используете много технологий групповой IP-связи. Купив и настроив коммутатор с функцией активного отслеживания, вы значительно ускорите работу интернет-протокола и обезопасите домашнюю группу от взлома и проникновения злоумышленников.
Советы по выбору товаров
Источник: topidei.ru