Open Pim V2.1
- Краткое руководство по конфигурации мультиадресной рассылки.
- EssentialPIM в течении многих лет разработки превратился в гибкую и интуитивно удобную.
Скачивание openPim 3.1. Бесплатное и безопасное скачивание Если загрузка не началась, нажмите.
Один очень близкий мне человек, поклонник Хабра, захотел внести вклад в развитие блога Cisco. Являясь яростным поклонником того, что создает эта корпорация, он захотел поделиться опытом. =) Надеемся росчерк пера удался. Относительно недавно мне посчастливилось познакомить и даже поконфигурять multicast routing для IPTV.
Изначально, я с этой темой была совершенно не знакома, и это заставило меня вылакать горлышко от цистерны водки перекопать огромное количество документации, чтобы войти в курс дела. И вот незадача. Обычно в документации выкладывают все и сразу и для человека, впервые столкнувшегося с этой темой, не понятно с чего начать. Во время чтения pdf’ок я ловила себя на мысли, что было бы неплохо наткнуться где-нибудь на статью, которая могла бы коротким путем провести от теории к практике, чтобы понять с чего стоит начать и где заострить внимание.
Мне не удалось обнаружить такую статью. Это побудило меня написать эту статейку для тех, кто также как и я столкнется с вопросом, что это за зверь IPTV и как с ним бороться. Введение Это моя самая первая статья (но не последняя! Есть еще много зверей), постараюсь изложить все как можно доступнее. Первым делом озвучим несколько понятий, чтоб исключить дальнейшие недопонимания. Существует три вида трафика:.
unicast — одноадресный, один источник потока один получатель. broadcast — широковещательный, один источник, получатели все клиенты в сети. multicast — многоадресный, один отправитель, получатели некоторая группа клиентов Какой вид трафика использовать для IPTV? — unicast broadcast multicast Особенности применительно к IPTV получаем дублирование трафика, для каждого абонента создается свой поток клиентское оборудование вынуждено обрабатывать весь поток каналов, который может быть совсем не несколько килобит абонент получает только тот поток, который запрашивает Очевидно, что для вещания каналов наибольшее предпочтение отдается multicast. Любой TV-канал, который мы хотим вещать в сеть, характеризуется адресом группы, который выбирается из диапазона, зарезервированного для этих целей: 224.0.0.0 – 239.255.255.255. Для работы IPTV необходим роутер, поддерживающий multicast (далее MR).
Он будет отслеживать членство того или иного клиента в определенной группе, т.е. Постоянно следить какому клиенту какой отправлять TV-канал. Для того чтобы клиент смог зарегистрироваться в одной из этих групп и смотреть TV-канал используется протокол IGMP (Internet Group Management Protocol). Немного о том, как работает IGMP. Есть сервер, который включен в роутер MR. Этот сервер вещает несколько TV-мультиков, например: 224.12.0.1 канал 1 News 224.12.0.2 канал 2 History 224.12.0.3 канал 3 Animals Клиент включает канал News, тем самым, сам не подозревая, он отправляет запрос на MR для подключения к группе 224.12.0.1.
С точки зрения протокола IGMP это запрос “ JOIN 224.12.0.1”. Если пользователь переключается на другой канал, то он сначала отправляет уведомление MR, что он отключает канал News или покидает эту группу. Для IGMP это “ LEAVE 224.12.0.1”. А затем повторяет аналогичный запрос JOIN для нужного канала. MR иногда спрашивает всех: “а какой группе кто подключен?”, чтобы отключать тех клиентов, с которыми оборвалась связь и они не успели отправить уведомление LEAVE.
Для этого MR использует запрос QUERY. Ответ абонента на этот запрос это MEMBERSHIP REPORT, который содержит список всех групп, в которых состоит клиент. Настройка multicast routing. Предположим, что клиенты одной группы смотрят один и тот же мультик, но находятся они в разных сегментах сети (network A и network B).
Для того, чтобы они получили свой мультик и придуман multicast routing. Пример настройки роутеров MR1 и MR2. Network A 10.1.0.0/24 Network B 10.2.0.0/24 Network C 10.3.0.0/24. MR1 MR2 MR1#sh run ip multicast-routing! Interface Ethernet 0 description Multicast Source ip address 10.0.0.1 255.255.255.0 ip pim sparse-mode! Interface Ethernet 1 description Network A ip address 10.1.0.1 255.255.255.0 ip pim sparse-mode!
Interface Ethernet 2 description Network B ip address 10.2.0.1 255.255.255.0 ip pim sparse-mode! Interface Ethernet 3 description Link to MR2 ip address 10.10.10.1 255.255.255.0 ip pim sparse-mode! Ip pim rp-address 10.0.0.2 IPTV override!
Ip access-list standard IPTV permit 224.11.0.0 0.0.0.3 MR2#sh run ip multicast-routing! Interface Ethernet 0 description Link to MR1 ip address 10.10.10.2 255.255.255.0 ip pim sparse-mode! Interface Ethernet 1 description Network C ip address 10.3.0.1 255.255.255.0 ip pim sparse-mode! Ip pim rp-address 10.0.0.2 IPTV override! Ip access-list standard IPTV permit 224.11.0.0 0.0.0.3!
Ip route 10.0.0.0 255.255.255.0 10.10.10.1 Команда ' ip multicast-routing' включает соответствующий routing, если же он выключен, то роутер не пересылает multicast пакеты, т.е. Они не дойдут до недоумевающего зрителя мультиков. Остановимся чуть поподробнее на команде ' ip pim sparse-mode'. Про режимы протокола PIM и сам протокол. PIM (Protocol Independent Multicast) — протокол маршрутизации multicast рассылки.
Он заполняет свою таблицу multicast маршрутизации на основе обычной таблицы маршрутизации. Эти таблицы можно просмотреть с помощью команд “ sh ip mroute” и “ sh ip route” соответственно. Целью протокола PIM является построение дерева маршрутов для рассылки multicast сообщений.
У протокола PIM существует два основных режима: разряженный ( sparse mode) и плотный ( dense mode). Таблица multicast маршрутизации для них выглядит немного по-разному. Иногда эти режимы рассматривают как отдельные протоколы — PIM-SM и PIM-DM. В нашей конфигурации на интерфейсах мы указали режим ' ip pim sparse-mode'. (config-if)# ip pim? Dense-mode Enable PIM dense-mode operation sparse-dense-mode Enable PIM sparse-dense-mode operation sparse-mode Enable PIM sparse-mode operation В чем же разница?
PIM-DM использует механизм лавинной рассылки и отсечения (flood and prune). Другими словами. Роутер MR отправляет всем все multicast потоки, которые на нем зарегистрированы. Если клиенту не нужен какой-то из этих каналов, то он от него отказывается. Если все клиенты, висящие на роутере, отказались от канала, то роутер пересылает “спасибо, не надо” вышестоящему роутеру. PIM-SM изначально не рассылает зарегистрированные на нем TV-каналы.
Рассылка начнется только тогда, когда от клиента придет на нее запрос. В PIM-DM MR отправляет всем, а потом убирает ненужное, а в PIM-SM MR начинает вещание только по запросу. Если члены группы разбросаны по множеству сегментов сети, что характерно для IPTV, PIM-DM будет использовать большую часть полосы пропускания. А это может привести к снижению производительности. В этом случае лучше использовать PIM-SM.
Между PIM-DM и PIM-SM существуют еще отличия. PIM-DM строит дерево отдельно для каждого источника определенной multicast группы, т.е.
Multicast маршрут будет характеризоваться адресом источника и адресом группы. В multicast таблице маршрутизации будут записи вида (S,G), где S — source, G — group. У PIM-SM есть некоторая особенность. Этому режиму необходима точка рандеву ( RP — rendezvous point) на которой будут регистрироваться источники multicast потоков и создавать маршрут от источника S (себя) до группы G: (S,G). Таким образом, трафик идет с источника до RP по маршруту (S,G), а далее до клиентов уже по общему для источников определенной группы дереву, которое характеризуется маршрутом (.,G) — '.' символизирует «любой источник».
Источники зарегистрировались на RP, и далее клиенты уже получают поток с RP и для них не имеет значения, кто был первоначальным источником. Корнем этого общего дерева будет RP.
Точкой рандеву является один из multicast роутеров, но все остальные роутеры должны знать “кто здесь точка RP”, и иметь возможность до нее достучаться. Пример статического определения RP (MR1). Объявим всем multicast роутерам, что точкой рандеву является 10.0.0.1 (MR1): ip pim rp-address 10.0.0.1 IPTV override указываем адрес RP и access-list IPTV access-list определяет какие группы ip access-list standard IPTV регистрироваться на данной точке рандеву permit 224.11.0.0 0.0.0.3 Все остальные роутеры должны знать маршрут до RP: ip route 10.0.0.0 255.255.255.0 10.10.10.1 Существуют так же и другие способы определения RP, это auto-RP и bootstarp router, но это уже тема для отдельной статьи ( если кому-нибудь будет интересно – пожалуйста)? Посмотрим, что будет происходить после настройки роутеров. Мы по-прежнему рассматриваем схему с роутерами MR1 (RP) и MR2.
Как только включаем линк между роутерами MR1 и MR2, то должны увидеть в логах сообщения Для MR1:%PIM-5-NBRCHG: neighbor 10.10.10.2 UP on interface Ethernet3 Для MR2:%PIM-5-NBRCHG: neighbor 10.10.10.1 UP on interface Ethernet0 Это говорит о том, что роутеры установили отношение соседства по протоколу PIM друг с другом. Проверить это также можно с помощью команды: MR1# sh ip pim neighbor PIM Neighbor Table Mode: B — Bidir Capable, DR — Designated Router, N — Default DR Priority, S — State Refresh Capable Neighbor Address Interface Uptime/Expires Ver DR Prio/Mode 10.10.10.2 Ethernet3 00:03:05/00:01:37 v2 1 / DR S Не забываем про TTL. В качестве тестового сервера мне было удобно использовать плеер VLC. Однако, как позже обнаружилось, даже если выставить через GUI достаточный TTL, он все равно (надеюсь только в использованной мной версией) упорно отправлял multicast пакеты с TTL=1. Запускать упрямого пришлось с опцией «vlc.exe –ttl 3» т.к. У нас на пути будет два роутера, каждый из которых уменьшает TTL пакета на единицу.
Как же все таки обнаружить проблему с TTL? Один из способов. Пусть сервер вещает канал 224.12.0.3 с TTL=2, тогда на роутере MR1 пакеты проходят нормально, а за роутером MR2 клиенты уже не смогут смотреть свой мультик. Обнаруживается это с помощью команды «sh ip traffic» на MR2. Смотрим на поле “bad hop count” – это число пакетов, которые “умерли”, как им и отмеряно, по TTL=0.
MR2# sh ip traffic IP statistics: Rcvd: 36788 total, 433 local destination 0 format errors, 0 checksum errors, 2363 bad hop count Если этот счетчик быстро увеличивается, значит — проблема в TTL. Отследить, как источник проходит проверку RPF можно с помощью команды: MR2# sh ip rpf? Hostname or A.B.C.D IP name or address of multicast source MR2# sh ip rpf 10.0.0.2 RPF information for? (10.0.0.2) RPF interface: Ethernet0 RPF neighbor:? (10.10.10.1) RPF route/mask: 10.0.0.0/24 RPF type: unicast (static) RPF recursion count: 0 Doing distance-preferred lookups across tables Ну, вот и появилась та статейка, которую я бы с удовольствием нашла, на начальном этапе изучения multicast routing’а для IPTV. Я не волшебник, я только учусь Потому, с радостью выслушаю все пожелания, замечания и советы.
А так же, очень надеюсь, что для кого-то она окажется полезной. =) UPD: Разрешите представить ее. Елена Сахно — Метки:.
Добавить метки Пометьте публикацию своими метками Метки лучше разделять запятой. Например: программирование, алгоритмы. Уважаемое сообщество, Извините за очень нескромную просьбу. Просто моя девушка тоже хотела бы быть частью сообщества Хабра и под своим именем публиковать статьи по сетям.
В планах написать про: — регистрацию RP (чтобы немного автоматизировать) — multicast vlan registration — PPPoE DSL (чем почти мы все пользуемся) — параметры настройки домашних DSL-модемов — — (что будет интересно) Если кому-нибудь интересно услышать про это, не найдется ли ни у кого небольшой файлик для того, чтобы поделиться опытом настройки ISP? Мы уже направили запрос на регистрацию IPS — это Дальневосточная «Новая Телфонная Компания», НТК. Являющаяся оператором сотовой связи и доступа в интернет (пока по DSL). Так же она там разбирается с WiFi. Есть о чем рассказать. =) Заранее благодарны.
=) Если кому-нибудь интересно услышать про это, не найдется ли ни у кого небольшой файлик для того, чтобы поделиться опытом настройи ISP? Мы уже направили запрос на регистрацию IPS — это Дальневосточная «Новая Телфонная Компания», НТК. Являющаяся оператором сотовой связи и доступа в интернет (пока по DSL). Так же она там настраивает WiFi.
Есть о чем рассказать. =) Заранее премного благодарны (да помилуют нас боги).
Я бы дополнил статью тем фактом, что в режиме PIM-sparse общее дерево, корнем которого является точка рандеву, используется только в начале мультикастовой рассылки. Как только скорость мультикастового потока превышает параметр, заданный командой ip pim spt-threshold kbps, роутер, к которому подключены конечные получатели, переходит на source-tree, т.е. На дерево, построенное напрямую от источника и которое может гнать трафик мимо точки рандеву. Если в этом случае произойдёт отключение точки рандеву, мультикастовый поток не будет прерван, маршрут (S,G) остаётся активен. Если в команде ip pim spt-threshold указать нулевое значение, то переключение на STP будет выполнено сразу же.
Если указать значение infinity, то всегда, независимо от скорости потока, будет использоваться общее дерево (.,G). Что интересно, в режиме sparse-dense данная команда не работает, всегда строится дерево до источника (SPT). Протокол інвентаризаційної комісії приклад заповнення 2015.
. Для Windows EssentialPIM в течении многих лет разработки превратился в гибкую и интуитивно удобную программу, начать пользоваться которой можно за считанные минуты. Все возможности программы обеспечивают вам максимальную продуктивность.
Для Android EssentialPIM для Андроид включает в себя календарь, дела, заметки, контакты и модуль паролей. Все данные идеально синхронизируются с Windows версией EPIM и сервисами Google.
Для iOS EssentialPIM для iPhone/iPad позволяет синхронизировать и управлять данными с PC версии EssentialPIM. Почему наши пользователи выбирают EssentialPIM?. Вся информация в одном месте Данные EssentialPIM хранятся в безопасной, быстрой и расширяемой базе данных. Можно удобно искать нужные данные и линковать их между собой.
Уникальные возможности синхронизации Данные можно легко синхронизировать популярными облачными сервисами, такими как Google Calendar / Contacts / Tasks / Drive, iCloud, Toodledo, SyncML, CalDAV и многими другими. Также имеется встроенная поддержка Dropbox. Перекрёстные ссылки и обозначение данных тегами Возможность устанавливать ссылки на EPIM элементы для мгновенной навигации между ними. Теги позволяют помечать и объединять данные. Безопасно хранимые данные Ваши данные защищены с помощью AES (Rijndael) 256-битного ключа.
Доступ к данным может быть разграничен по модулям. Синхронизация с облачными сервисами проходит через SSL шифрование. Увеличьте свою продуктивность! Получите EssentialPIM Pro.
Лидер продаж Стандартная лицензия Обычная и переносная версии 1 900 руб. Используйте купленную версию бессрочно. Бесплатные обновления в течении года. Приоритетная техническая поддержка. Бессрочная лицензия Обычная и переносная версии 2 900 руб. Получайте все новые версии всегда бесплатно.
Используйте EPIM на двух компьютерах, принадлежащих вам. Приоритетная техническая поддержка. Бизнес лицензия Обычная и переносная версии 2 900 руб.
Поддержка групповой работы по сети. Бесплатные обновления в течении года. Приоритетная техническая поддержка.