Jump to content
Калькуляторы

Принцип построения профилей для мультикаста (посоветуйте, как будет лучше)

Есть сеть ethernet-провайдера, в которой используется несколько видов коммутаторов доступа (QTECH, SNR, D-Link).

В сети есть IPTV, незашифрованное. Доступ к IPTV осуществляется по пакетам. Адреса каналов (IP-адреса) никак не распределены по пакетам, т.е. нельзя каждому пакету сопоставить свою подсеть.

Шифрование на IPTV-портале в принципе поддерживается и работает, есть даже один тестовый шифрованный канал, но по ряду причин шифровать все каналы поставщик не может.

Поэтому будет работать скрипт, который будет обходить все коммутаторы доступа (по консоли или SNMP) и на каждый порт навешивать ACL, в который будут включены оплаченные пакеты. Доступ к IPTV осуществляется по пакетам, причем адресация каналов произвольная, то есть нельзя задать подсеть, а нужно перечислять в ACL адреса поштучно.

И вот тут есть один принципиальный момент.

Некоторые коммутаторы (например QTECH 2900) позволяют навешивать на порт несколько профилей. Там все просто — для каждого пакета создается свой отдельный профиль, а затем на порт навешивается список из профилей, которые соответствуют подключенным услугам.

Другие коммутаторы (например SNR S2960) на порт позволяют навесить только один ACL. Но таких ACL может быть много (с номерами от 6000 до 7999), поэтому в принципе можно создать ACL для всех возможных сочетаний пакетов и навешивать на порт наиболее подходящее сочетание. Или я выбрал другой способ — на каждый порт я навешиваю отдельный ACL (на порт 1 ACL 6001, на порт 2 ACL 6002 и т.д.) и в ACL просто перечисляю те адреса, к которым нужно предоставить доступ. Это практичнее, чем использовать все возможные сочетания пакетов (разных пакетов 8, соответственно сочетаний может быть 256).

Но есть еще и такие коммутаторы, как D-Link DES-3200 (которых правда немного), у которых на порт можно навесить только один профиль, а профилей может быть не более 24. Правда у меня нет 48-портовых коммутаторов D-Link, поэтому 24 профиля впритык хватает (на транковые порты в этом случае профиль вообще не будет применяться), но тогда не получится использовать правило "если ни один пакет IPTV не подключен, то разрешить доступ только к одному или двум каналам для целей демонстрации".

 

Не поделитесь, как вы бы такую задачу решали?

Share this post


Link to post
Share on other sites

Вы сейчас пишете про огромный мега костыль, который мало того что надо сделать, но и поддерживать его работу.

Так делать не надо.

 

Во первых

IPTV должно приходить только тем абонентам которые оплатили услугу, и работать нужно в принципе с небольшим количеством коммутаторов. Навешивать ACL на все - не есть хорошо.

Во вторых лучше всего эту проблему решает именно шифрование, дабы избежать костылей.

 

А если нет шифрования - в длинках есть возможность фильтровать подписки на определенные группы без всяких ACL.

 

По собственному опыту я вообще не вижу смысла в мультикасте.

ТВ можно отдавать юникастом и регулировать все на стороне сервера. Магистрали давно гигабитные, а клиентов не так много, чтобы были проблемы.

Share this post


Link to post
Share on other sites

С авторизацией по радиусу отдельный вопрос, но судя по экспериментам, в моей сети это использовать не получится.

По поводу шифрования IPTV — поставщик дает контент не только нам, но и многим другим провайдерам. И если он будет шифровать контент, то он будет шифроваться у всех, а ряд провайдеров к этому не готов.

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

По поводу фильтрации подписок на D-Link — там можно настроить igmp-snooping (указать, какие подписки вообще будут слушаться, там у меня указаны две подсети по /16) и дополнительно к этому навесить на порты профили.

 

ТВ можно отдавать юникастом и регулировать все на стороне сервера. Магистрали давно гигабитные, а клиентов не так много, чтобы были проблемы.

Для меня это будет проблемой. Как по пропускной способности (на одном порту агрегации может быть сотня активных абонентов), так и по загрузке сервера/стримера, который будет эти потоки юникастом отдавать. Мне нужно будет закладываться на пару тысяч активных потоков с битрейтом 6-15 Мбит/с, подобный сервер трансляций будет слишком дорогим.

Так что в моем случае альтернативы мультикасту нет.

 

Так что боюсь, что костыли неизбежны, вопрос в том, как сделать так, чтобы они требовали поменьше внимания.

Share this post


Link to post
Share on other sites

А как осуществляется авторизация? По MAC-адресу терминала?

Просто этот способ авторизации удобнее использовать для CLIPS. А у меня авторизация по PPPoE.

И плюс к тому, у меня довольно много коммутаторов QTECH 2900, а они igmp auth не умеют.

Share this post


Link to post
Share on other sites

но судя по экспериментам, в моей сети это использовать не получится.

Хотелось бы поподробней про эксперименты узнать. Не совсем ясно что вам может помешать

Share this post


Link to post
Share on other sites

biox, если бы у меня использовался CLIPS, то я бы отдавал сервисы (интернет, IPTV) на основе MAC-адреса или порта коммутатора доступа.

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

Насколько я понял из пояснений саппорта, я не смогу использовать одну авторизацию (по логину/паролю) для интернета и IPTV.

Share this post


Link to post
Share on other sites

может подключиться из любого места

Вы хотя бы деньги то берёте с абонентов?

Edited by biox

Share this post


Link to post
Share on other sites

Мне нужно будет закладываться на пару тысяч активных потоков с битрейтом 6-15 Мбит/с

Вы действительно планируете пару тысяч абонентов быстро подключить? Завидую.

Коли так - вы крупный оператор и вопросов таких не должно быть в принципе.

 

А у меня авторизация по PPPoE.
Намучаетесь еще с домашними роутерами и маршрутами на компах, которые будут при подключении PPPoE автоматически заворачивать маршруты для IPTV туда.

 

Так что боюсь, что костыли неизбежны, вопрос в том, как сделать так, чтобы они требовали поменьше внимания.

Послушайте добрый совет, не создавайте проблем себе и абонентам.

2000 абонентов и куча профилей на каждом из свичей это мега костыль.

 

Рассмотрите другого поставщика контента, с шифрованием. Поставшиков сейчас найти можно (где вы такого нашли то ??)

Как вариант юзать igmp radius auth на dlink`ах (хотя я не пробовал). А в тех домах где нет длинков - менять свич на длинк. Я сильно сомневаюсь, что абоненты сразу ломанутся подключаться все и сразу - можно этот процесс вести постепенно.

Уровень доступа в принципе не предназначен для того, что вы хотите сделать. Управление должно быть в центре.

 

В остальном - я не вижу проблем по крайней мере с длинками.

Можно сделать шаблоны нужных правил или конфигов свичей и из биллинга заливать их на свичи, хоть snmp хоть телнетом.

Только нужно долго сидеть, ковырять и тестировать все это.

Share this post


Link to post
Share on other sites

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

Да это как раз вопрос решаемый, маршруты на мультикаст и локальные ресурсы отдаются по DHCP (опции 249 и 121), все работает.

 

Рассмотрите другого поставщика контента, с шифрованием. Поставшиков сейчас найти можно

Вопрос не только в том, чтобы найти поставщика, но и в том, чтобы доставить контент.

В моем регионе с этим сложнее, альтернатив я не знаю.

Решением было бы использовать свой CAS (у поставщика есть такое решение), но дороговато получается, и по лицензии, и по серверному железу.

Share this post


Link to post
Share on other sites

Да это как раз вопрос решаемый, маршруты на мультикаст и локальные ресурсы отдаются по DHCP (опции 249 и 121), все работает.

А вы потестируйте на разных версиях винды и роутерах.

Суть проблемы в том, что при подключении PPPoE винда создает маршруты с меньшей метрикой. Были даже зависимости от винды. Там есть что поковырять. Полное решение проблемы только переход на IPOE.

 

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

Таким образом они просто не увидят и не смогут подписаться.

Доморощенные хакеры это обойдут конечно, но обычным людям это не нужно в принципе.

 

Что еще предложить?

Можно протянуть тупо отдельный кабель к каждому желающему ТВ. В кабеле другой влан и другой IP и мультикаст.

Share this post


Link to post
Share on other sites

А вы потестируйте на разных версиях винды и роутерах.

Так я тестировал, поэтому две опции (роутеры и W7 используют стандартную 121, XP и младше используют нестандартную 249).

У IPoE есть свои плюсы, но есть и недостатки. У нас есть некая "мобильность" абонентов, не хотелось бы от этого уходить.

Кроме того, абонент может подключить в порт обычный хаб, к хабу подключить несколько компьютеров (до 5 штук) и с каждого подключаться под отдельным логином, это мы тоже разрешаем и некоторые это используют.

 

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

Для этого есть IPTV-портал, который каждому отдает только его плейлист и (при использовании шифрования) ключи для шифрования.

Но пока шифрование выключено, это можно обойти, сохранив плейлист в файл и открывая его (хотя в этом случае недоступна программа передач).

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

Поэтому и встал вопрос об управлении подписками на порту.

 

Можно протянуть тупо отдельный кабель к каждому желающему ТВ. В кабеле другой влан и другой IP и мультикаст.

Нет, вот такое точно не нужно.

Share this post


Link to post
Share on other sites

Но есть еще и такие коммутаторы, как D-Link DES-3200 (которых правда немного), у которых на порт можно навесить только один профиль

Это не так. На один порт можно повесит много профилей. Например:

config limited_multicast_addr ports 4 add profile_id 1

config limited_multicast_addr ports 4 add profile_id 2

config limited_multicast_addr ports 4 add profile_id 3

config limited_multicast_addr ports 4 add profile_id 4

config limited_multicast_addr ports 4 add profile_id 5

config limited_multicast_addr ports 4 add profile_id 6

config limited_multicast_addr ports 4 add profile_id 7

config limited_multicast_addr ports 4 add profile_id 8

config limited_multicast_addr ports 4 add profile_id 9

config limited_multicast_addr ports 4 add profile_id 10

config limited_multicast_addr ports 4 add profile_id 11

config limited_multicast_addr ports 4 add profile_id 12

config limited_multicast_addr ports 4 add profile_id 13

config limited_multicast_addr ports 4 add profile_id 24

 

А на один профиль можно повесить несколько мультикаст групп

create mcast_filter_profile profile_id 20 profile_name test

config mcast_filter_profile profile_id 20 add 235.5.1.1-235.5.1.1

config mcast_filter_profile profile_id 20 add 235.5.1.5-235.5.1.5

config mcast_filter_profile profile_id 20 add 235.5.1.12-235.5.1.12

config mcast_filter_profile profile_id 20 add 235.5.1.15-235.5.1.15

config mcast_filter_profile profile_id 20 add 235.5.1.24-235.5.1.24

config mcast_filter_profile profile_id 20 add 235.5.1.27-235.5.1.27

config mcast_filter_profile profile_id 20 add 235.5.1.32-235.5.2.40

 

Наверное есть ограничение на к-во адресов в профиле, но я с ним не сталкивался.

 

А как ведут себя свичи SNR-S2960 в реальной эксплуатации?

Надежность? Коллизии хеш записей в fdb таблице?

Share this post


Link to post
Share on other sites

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

 

На мой взгляд нужно это и использовать.

Во первых сделайте чтобы доступ к порталу и в принципе к телевидению имели ТОЛЬКО абоненты с оплаченной услугой телевидения.

А уж дальше мало будет тех, кто заплатит 300 рублей и будет искать и сохрянять и подключать плейлисты и заморачиваться ради того,чтобы посмотреть еще 30-40 каналов за общие 450 руб.

Не знаю как у вас, но у нас подключают ТВ в принципе не технически грамотные люди.

Грамотные - смотрят ТВ и все что им нужно в интернете, скорости позволяют.

Вот например http://torrent-tv.ru

Share this post


Link to post
Share on other sites

Это не так. На один порт можно повесит много профилей.

Надо же, тогда это снимает вопрос с D-Link.

 

А как ведут себя свичи SNR-S2960 в реальной эксплуатации?

У меня используются SNR-S2960 и QTECH 2800 (это одна и та же платформа DCN), вообщем неплохо работают за свои деньги, но есть досадные недостатки.

Из отловленных глюков:

1. При включении IGMP-снупинга почему-то вылезают какие-то левые тайминги (по sh ip igmp snooping vlan 60 у подписок Exp.time 48 с чем-то минут, хотя в настройках указано 5 минут).

2. Иногда по непонятной причине у dhcp-snooping срывает крышу и он блокирует dhcp-пакеты от сервера. Решения не нашел, приходится отключать dhcp-snooping.

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

Share this post


Link to post
Share on other sites

Во первых сделайте чтобы доступ к порталу и в принципе к телевидению имели ТОЛЬКО абоненты с оплаченной услугой телевидения.

Ну это-то можно, но как запретить им передавать плейлисты на флешке и просмотр через VLC?

 

Не знаю как у вас, но у нас подключают ТВ в принципе не технически грамотные люди.

Ну у нас тоже не гении, но обмен плейлистами доступен даже домохозяйкам, если у тех есть более-менее грамотные дети или знакомые.

А чем дальше, чем больше будет информации о таком способе просмотра и тем более доступным он будет.

Я на форумах постоянно вижу темы по обмену плейлистами разных операторов.

 

По хттп отдавайте и не парьтесь. Отпроксируете на нгинх и там доступом как нить порулите.

А сервером кто будет выступать?

В гигабит все не пролезет, нужно ставить карточки на 10G и соответствующее по производительности железо.

Share this post


Link to post
Share on other sites

Для этого есть IPTV-портал, который каждому отдает только его плейлист и (при использовании шифрования) ключи для шифрования.

Но пока шифрование выключено, это можно обойти, сохранив плейлист в файл и открывая его (хотя в этом случае недоступна программа передач).

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

Поэтому и встал вопрос об управлении подписками на порту.

 

Выключить ТВ всем. Сделать в личном кабинете выбор пакета каналов. Каналы сопоставить с фильтрами. Кто выбрал пакет - вешать фильтр на порт. Кто не выбрал - никакого мультикаста не получит, даже если стащит плейлист на флешке.

Мы так и сделали.

Share this post


Link to post
Share on other sites

Так я тестировал, поэтому две опции (роутеры и W7 используют стандартную 121, XP и младше используют нестандартную 249).

 

У меня вроде и семерка и xp и роутеры(длинки по крайней мере) ловят по option 249. Если слать сразу обе опции максимальное кол-во маршрутов снижается?

Share this post


Link to post
Share on other sites

У меня вроде и семерка и xp и роутеры(длинки по крайней мере) ловят по option 249. Если слать сразу обе опции максимальное кол-во маршрутов снижается?

Клиент в запросе указывает какие опции он может и хочет получать.

Виста и выше указывают вроде обе (121 и 249), слать в ответ имеет смысл только одну, лучше 121. Содержание и формат данных для обоих опций одинаков.

Share this post


Link to post
Share on other sites

Амд выше среднего или интел и3 и выше потянут.

Что-то я сомневаюсь.

У меня сейчас более мощный сервер с двумя четырехядерным ксеонами стримит картинку с IP-камер. Суммарный поток около 120 Мбит/с, загрузка процессора - 10-20%.

Гигабит трафика даже он не вытянет, не то что самодельный "тазик", а у меня и больше гигабита будет.

 

Выключить ТВ всем.

Такой вариант тоже рассматривался, на крайний случай.

Однако по возможности хотелось бы мультикаст в сети сохранить — он и для рекламы служит, и для проверки качества работы.

Share this post


Link to post
Share on other sites

Если слать сразу обе опции максимальное кол-во маршрутов снижается?

Нет, насколько я помню. Девайс принимает либо 121 (если работает по RFC), либо 249 (если косит под совместимость с Windows), но не оба одновременно.

Share this post


Link to post
Share on other sites

Что-то я сомневаюсь. У меня сейчас более мощный сервер с двумя четырехядерным ксеонами стримит картинку с IP-камер. Суммарный поток около 120 Мбит/с, загрузка процессора - 10-20%. Гигабит трафика даже он не вытянет, не то что самодельный "тазик", а у меня и больше гигабита будет.

На работе по хттп отдаётся 80-120 мегабит, прога которая раздаёт отжирает меньше 10% одного ядра (Intel® Xeon® CPU E31220 @ 3.10GHz). Там же две копии астры пашут.

У коллег на тесте раздаётся до 1,5 гигабита, нагрузка на одно ядро проца до 70%. (AMD FX™-8120 Eight-Core Processor)

Скоро моя софтина научится по ядрам раскидываться и десятку будет выдавать на более простом железе.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.