Настройка IGMP в локальной сети для
контроля широковещательных IPTV потоков
с использованием Cisco Catalyst 3550-12T
В статье "Настройка IGMP в
локальной сети для контроля широковещательных IPTV потоков" были рассмотрены основные принципы работы IGMP snooping в случае
когда коммутатор и IGMP querier разнесены на разные устройства. В этой статье будет описана схема с использованием одного
устройства Cisco Catalyst 3550-12T [1], которое совмещает в себе функции и коммутатора, и IGMP querier. Коммутатор Catalyst
3550-12T имеет на борту 10 портов Gigabit Ethernet (витая пара), а так же два порта под модули GBIC. Пиковая производительность
составляет 17 млн. пакетов в секунду, что позволяет передавать данные на скорости 24 Гбит/сек.
Настройка IGMP snooping и IGMP querier
На коммутаторе необходимо иметь сконфигурированный IP-адрес на интерфейсе Vlan 1:
!
interface Vlan1
ip address 10.1.2.247 255.255.0.0
!
Включение функции IGMP snooping производится командой (в режиме глобального конфигурирования):
ip igmp snooping
Включение функции IGMP querier производится командой (в режиме глобального конфигурирования):
ip igmp snooping querier
Тестирование
Специалистами компании НетАП подготовлен стенд на базе Cisco Catalyst
3550-12T ( C3550-IPSERVICESK9-M, Version 12.2(40)SE ) и NetUP DVB-IP
стримера [2]. Общая схема сети представлена на рисунке 1. В качестве
абонентского оборудования выступали персональный компьютер с медипроигрывателем
vlc, а так же телевизионная приставка Aminet 130.

Рис. 1 Общая схема тестового стенда
На коммутаторе были включены функции IGMP snooping и IGMP querier как описано выше. Для проверки можно выполнить следующие команды (команды приведены с выводом):
c3550#show ip igmp snooping querier
Vlan IP Address IGMP Version Port
----------------------------------------------------------------
1 10.1.2.247 v2 Switch
c3550#show ip igmp snooping groups
Vlan Group Version Port List
------------------------------------------------------------
Как видно коммутатор выполняет функции IGMP querier. В списке групп (groups) нет ни одной
группы т.к. ни один из абонентов не запросил широковещательный поток. В этом случае средняя
скорость передачи данных на порту абонента будет равна 0 Мбит/сек. Для проверки можно
выполнить команду:
c3550#show interfaces GigabitEthernet 0/2 | include 5 minute
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
При этом на порту NetUP DVB-IP стримера мы видим передающиеся данные на скорости порядка 110-120 Мбит/сек
(настроено полное открытие 4х транспондеров, что составляет примерно 50 ТВ каналов):
c3550#show interfaces GigabitEthernet 0/1 | include 5 minute
5 minute input rate 125753000 bits/sec, 11558 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
Именно благодаря работе IGMP snooping в абонентский порт не поступают
широковещательные пакеты. В случае если абонент запросит какой-либо ТВ
канал в его порт будут копироваться только те широковщательные пакеты,
которые относятся к этому ТВ каналу. Для проверки выполним запрос ТВ
канала на абонентском устройстве:
vlc udp://@226.2.0.5:1234
На экране абонентского устройства будет отображаться запрошенный
ТВ канал. При этом на коммутаторе в списке групп мы увидим новую запись:
c3550#show ip igmp snooping groups
Vlan Group Version Port List
------------------------------------------------------------
1 226.2.0.5 v2 Gi0/2
Как видно из этой записи коммутатор производит копирование широковещательных
пакетов для группы 226.2.0.5 в абонентский порт (Gi0/2). Для проверки можно
посмотреть скорость передачи данных в абонентский порт:
c3550#show interfaces GigabitEthernet 0/2 | include 5 minute
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 3300000 bits/sec, 304 packets/sec
Как видно в абонентский порт передается только один ТВ канал со скоростью примерно 3 Мбит/сек. Благодаря такому поведению коммутатора мы избегаем перегрузки абонентского устройства нежелательными широковещательными пакетами.
При этом стоит отметить практически нулевую загрузку CPU на коммутаторе. Скорее всего работа с широковещательными пакетами производится на аппаратном уровне.
c3550#show processes cpu history
1111111111122222111111111111111111111111111111111111111111
100
90
80
70
60
50
40
30
20
10
0....5....1....1....2....2....3....3....4....4....5....5....
0 5 0 5 0 5 0 5 0 5
CPU% per second (last 60 seconds)
Важно! Согласно документу "IPv4 Multicast Unusable Group And Source Addresses" [3] не
рекомендуется использовать определенные диапазоны широковещательных IPv4 адресов. Например,
таким диапазоном является подсеть 226.0.0.0 - 226.0.0.255. Коммутатор Cisco Catalyst 3550-12T
производит рассылку таких пакетов во все порты не зависимо от того, запрашивал получатель их
или нет.
Ссылки на внешние источники
- Описание коммутатора Cisco Catalyst 3550-12T - http://www.cisco.com/en/US/products/hw/switches/ps646/ps645/index.html
- Описание NetUP DVB-IP стримера - http://www.netup.tv/ru-RU/decoder-streamer.php
- IPv4 Multicast Unusable Group And Source Addresses - http://tools.ietf.org/html/draft-ietf-mboned-ipv4-mcast-unusable-01
Обсудить эту статью на форуме
Все права защищены (c) 2001-2008 NetUP (www.netup.tv)
Перепечатка материалов разрешается только с предварительного разрешения
компании NetUP (info@netup.tv)