alibek Posted April 24, 2013 Есть сеть 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 не подключен, то разрешить доступ только к одному или двум каналам для целей демонстрации". Не поделитесь, как вы бы такую задачу решали? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted April 24, 2013 Вы сейчас пишете про огромный мега костыль, который мало того что надо сделать, но и поддерживать его работу. Так делать не надо. Во первых IPTV должно приходить только тем абонентам которые оплатили услугу, и работать нужно в принципе с небольшим количеством коммутаторов. Навешивать ACL на все - не есть хорошо. Во вторых лучше всего эту проблему решает именно шифрование, дабы избежать костылей. А если нет шифрования - в длинках есть возможность фильтровать подписки на определенные группы без всяких ACL. По собственному опыту я вообще не вижу смысла в мультикасте. ТВ можно отдавать юникастом и регулировать все на стороне сервера. Магистрали давно гигабитные, а клиентов не так много, чтобы были проблемы. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
biox Posted April 24, 2013 есть ещё igmp radius auth....... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 С авторизацией по радиусу отдельный вопрос, но судя по экспериментам, в моей сети это использовать не получится. По поводу шифрования IPTV — поставщик дает контент не только нам, но и многим другим провайдерам. И если он будет шифровать контент, то он будет шифроваться у всех, а ряд провайдеров к этому не готов. Собственно поставщик и сообщил, что один из его клиентов на Урале как раз и использует свои собственные способы управления доступом, полагаю похожие на данный костыль. По поводу фильтрации подписок на D-Link — там можно настроить igmp-snooping (указать, какие подписки вообще будут слушаться, там у меня указаны две подсети по /16) и дополнительно к этому навесить на порты профили. ТВ можно отдавать юникастом и регулировать все на стороне сервера. Магистрали давно гигабитные, а клиентов не так много, чтобы были проблемы. Для меня это будет проблемой. Как по пропускной способности (на одном порту агрегации может быть сотня активных абонентов), так и по загрузке сервера/стримера, который будет эти потоки юникастом отдавать. Мне нужно будет закладываться на пару тысяч активных потоков с битрейтом 6-15 Мбит/с, подобный сервер трансляций будет слишком дорогим. Так что в моем случае альтернативы мультикасту нет. Так что боюсь, что костыли неизбежны, вопрос в том, как сделать так, чтобы они требовали поменьше внимания. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
secandr Posted April 24, 2013 Юзаем igmp radius auth на dlink`ах пол года - полёт нормальный. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 А как осуществляется авторизация? По MAC-адресу терминала? Просто этот способ авторизации удобнее использовать для CLIPS. А у меня авторизация по PPPoE. И плюс к тому, у меня довольно много коммутаторов QTECH 2900, а они igmp auth не умеют. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
biox Posted April 24, 2013 но судя по экспериментам, в моей сети это использовать не получится. Хотелось бы поподробней про эксперименты узнать. Не совсем ясно что вам может помешать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 biox, если бы у меня использовался CLIPS, то я бы отдавал сервисы (интернет, IPTV) на основе MAC-адреса или порта коммутатора доступа. Но у меня используется PPPoE и нет никаких привязок абонента к какой-то конкретной точке доступа, он может подключиться из любого места. Насколько я понял из пояснений саппорта, я не смогу использовать одну авторизацию (по логину/паролю) для интернета и IPTV. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
biox Posted April 24, 2013 (edited) может подключиться из любого места Вы хотя бы деньги то берёте с абонентов? Edited April 24, 2013 by biox Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted April 24, 2013 Мне нужно будет закладываться на пару тысяч активных потоков с битрейтом 6-15 Мбит/с Вы действительно планируете пару тысяч абонентов быстро подключить? Завидую. Коли так - вы крупный оператор и вопросов таких не должно быть в принципе. А у меня авторизация по PPPoE. Намучаетесь еще с домашними роутерами и маршрутами на компах, которые будут при подключении PPPoE автоматически заворачивать маршруты для IPTV туда. Так что боюсь, что костыли неизбежны, вопрос в том, как сделать так, чтобы они требовали поменьше внимания. Послушайте добрый совет, не создавайте проблем себе и абонентам. 2000 абонентов и куча профилей на каждом из свичей это мега костыль. Рассмотрите другого поставщика контента, с шифрованием. Поставшиков сейчас найти можно (где вы такого нашли то ??) Как вариант юзать igmp radius auth на dlink`ах (хотя я не пробовал). А в тех домах где нет длинков - менять свич на длинк. Я сильно сомневаюсь, что абоненты сразу ломанутся подключаться все и сразу - можно этот процесс вести постепенно. Уровень доступа в принципе не предназначен для того, что вы хотите сделать. Управление должно быть в центре. В остальном - я не вижу проблем по крайней мере с длинками. Можно сделать шаблоны нужных правил или конфигов свичей и из биллинга заливать их на свичи, хоть snmp хоть телнетом. Только нужно долго сидеть, ковырять и тестировать все это. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 Намучаетесь еще с домашними роутерами и маршрутами на компах, которые будут при подключении PPPoE автоматически заворачивать маршруты для IPTV туда. Да это как раз вопрос решаемый, маршруты на мультикаст и локальные ресурсы отдаются по DHCP (опции 249 и 121), все работает. Рассмотрите другого поставщика контента, с шифрованием. Поставшиков сейчас найти можно Вопрос не только в том, чтобы найти поставщика, но и в том, чтобы доставить контент. В моем регионе с этим сложнее, альтернатив я не знаю. Решением было бы использовать свой CAS (у поставщика есть такое решение), но дороговато получается, и по лицензии, и по серверному железу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted April 24, 2013 Да это как раз вопрос решаемый, маршруты на мультикаст и локальные ресурсы отдаются по DHCP (опции 249 и 121), все работает. А вы потестируйте на разных версиях винды и роутерах. Суть проблемы в том, что при подключении PPPoE винда создает маршруты с меньшей метрикой. Были даже зависимости от винды. Там есть что поковырять. Полное решение проблемы только переход на IPOE. Вот еще мысль к размышлению - на канал надо как то подписаться, для этого нужно выбрать его в списке каналов на компе или приставке. Можно подумать в сторону динамических списков каналов - показывать каждому абоненту свой список каналов в зависимости от его IP. Таким образом они просто не увидят и не смогут подписаться. Доморощенные хакеры это обойдут конечно, но обычным людям это не нужно в принципе. Что еще предложить? Можно протянуть тупо отдельный кабель к каждому желающему ТВ. В кабеле другой влан и другой IP и мультикаст. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 А вы потестируйте на разных версиях винды и роутерах. Так я тестировал, поэтому две опции (роутеры и W7 используют стандартную 121, XP и младше используют нестандартную 249). У IPoE есть свои плюсы, но есть и недостатки. У нас есть некая "мобильность" абонентов, не хотелось бы от этого уходить. Кроме того, абонент может подключить в порт обычный хаб, к хабу подключить несколько компьютеров (до 5 штук) и с каждого подключаться под отдельным логином, это мы тоже разрешаем и некоторые это используют. Вот еще мысль к размышлению - на канал надо как то подписаться, для этого нужно выбрать его в списке каналов на компе или приставке. Можно подумать в сторону динамических списков каналов - показывать каждому абоненту свой список каналов в зависимости от его IP. Таким образом они просто не увидят и не смогут подписаться. Для этого есть IPTV-портал, который каждому отдает только его плейлист и (при использовании шифрования) ключи для шифрования. Но пока шифрование выключено, это можно обойти, сохранив плейлист в файл и открывая его (хотя в этом случае недоступна программа передач). Но обычных людей не нужно недооценивать, они также любят халяву и сохранить плейлист сумеют. Поэтому и встал вопрос об управлении подписками на порту. Можно протянуть тупо отдельный кабель к каждому желающему ТВ. В кабеле другой влан и другой IP и мультикаст. Нет, вот такое точно не нужно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kdserg Posted April 24, 2013 Но есть еще и такие коммутаторы, как 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 таблице? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted April 24, 2013 Но обычных людей не нужно недооценивать, они также любят халяву и сохранить плейлист сумеют. На мой взгляд нужно это и использовать. Во первых сделайте чтобы доступ к порталу и в принципе к телевидению имели ТОЛЬКО абоненты с оплаченной услугой телевидения. А уж дальше мало будет тех, кто заплатит 300 рублей и будет искать и сохрянять и подключать плейлисты и заморачиваться ради того,чтобы посмотреть еще 30-40 каналов за общие 450 руб. Не знаю как у вас, но у нас подключают ТВ в принципе не технически грамотные люди. Грамотные - смотрят ТВ и все что им нужно в интернете, скорости позволяют. Вот например http://torrent-tv.ru Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted April 24, 2013 По хттп отдавайте и не парьтесь. Отпроксируете на нгинх и там доступом как нить порулите. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 Это не так. На один порт можно повесит много профилей. Надо же, тогда это снимает вопрос с 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. Ну и еще что-то было по мелочи. Коллизий хешей вроде бы не было, хотя сетка большая (в сегменте до тысячи маков). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 24, 2013 Во первых сделайте чтобы доступ к порталу и в принципе к телевидению имели ТОЛЬКО абоненты с оплаченной услугой телевидения. Ну это-то можно, но как запретить им передавать плейлисты на флешке и просмотр через VLC? Не знаю как у вас, но у нас подключают ТВ в принципе не технически грамотные люди. Ну у нас тоже не гении, но обмен плейлистами доступен даже домохозяйкам, если у тех есть более-менее грамотные дети или знакомые. А чем дальше, чем больше будет информации о таком способе просмотра и тем более доступным он будет. Я на форумах постоянно вижу темы по обмену плейлистами разных операторов. По хттп отдавайте и не парьтесь. Отпроксируете на нгинх и там доступом как нить порулите. А сервером кто будет выступать? В гигабит все не пролезет, нужно ставить карточки на 10G и соответствующее по производительности железо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted April 24, 2013 тазик с фрёй или линухом. Амд выше среднего или интел и3 и выше потянут. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted April 25, 2013 Для этого есть IPTV-портал, который каждому отдает только его плейлист и (при использовании шифрования) ключи для шифрования. Но пока шифрование выключено, это можно обойти, сохранив плейлист в файл и открывая его (хотя в этом случае недоступна программа передач). Но обычных людей не нужно недооценивать, они также любят халяву и сохранить плейлист сумеют. Поэтому и встал вопрос об управлении подписками на порту. Выключить ТВ всем. Сделать в личном кабинете выбор пакета каналов. Каналы сопоставить с фильтрами. Кто выбрал пакет - вешать фильтр на порт. Кто не выбрал - никакого мультикаста не получит, даже если стащит плейлист на флешке. Мы так и сделали. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bos9 Posted April 25, 2013 Так я тестировал, поэтому две опции (роутеры и W7 используют стандартную 121, XP и младше используют нестандартную 249). У меня вроде и семерка и xp и роутеры(длинки по крайней мере) ловят по option 249. Если слать сразу обе опции максимальное кол-во маршрутов снижается? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted April 25, 2013 У меня вроде и семерка и xp и роутеры(длинки по крайней мере) ловят по option 249. Если слать сразу обе опции максимальное кол-во маршрутов снижается? Клиент в запросе указывает какие опции он может и хочет получать. Виста и выше указывают вроде обе (121 и 249), слать в ответ имеет смысл только одну, лучше 121. Содержание и формат данных для обоих опций одинаков. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 25, 2013 Амд выше среднего или интел и3 и выше потянут. Что-то я сомневаюсь. У меня сейчас более мощный сервер с двумя четырехядерным ксеонами стримит картинку с IP-камер. Суммарный поток около 120 Мбит/с, загрузка процессора - 10-20%. Гигабит трафика даже он не вытянет, не то что самодельный "тазик", а у меня и больше гигабита будет. Выключить ТВ всем. Такой вариант тоже рассматривался, на крайний случай. Однако по возможности хотелось бы мультикаст в сети сохранить — он и для рекламы служит, и для проверки качества работы. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted April 25, 2013 Если слать сразу обе опции максимальное кол-во маршрутов снижается? Нет, насколько я помню. Девайс принимает либо 121 (если работает по RFC), либо 249 (если косит под совместимость с Windows), но не оба одновременно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted April 25, 2013 Что-то я сомневаюсь. У меня сейчас более мощный сервер с двумя четырехядерным ксеонами стримит картинку с IP-камер. Суммарный поток около 120 Мбит/с, загрузка процессора - 10-20%. Гигабит трафика даже он не вытянет, не то что самодельный "тазик", а у меня и больше гигабита будет. На работе по хттп отдаётся 80-120 мегабит, прога которая раздаёт отжирает меньше 10% одного ядра (Intel® Xeon® CPU E31220 @ 3.10GHz). Там же две копии астры пашут. У коллег на тесте раздаётся до 1,5 гигабита, нагрузка на одно ядро проца до 70%. (AMD FX-8120 Eight-Core Processor) Скоро моя софтина научится по ядрам раскидываться и десятку будет выдавать на более простом железе. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...