Биллинговая система Nodeny

Главная категория => Курилка => Тема начата: Efendy от 04 Декабря 2011, 00:57:22



Название: Оптимальное использование канала
Отправлено: Efendy от 04 Декабря 2011, 00:57:22
Не кидайте камнями, но я хочу ограничить агрессивную категорию качальщиков. Да, да, я знаю, что надо не жлобить и закупать нормальный канал и тогда его всем хватит. Но есть категория качальщиков, которые при своем количестве меньше 10% создают нагрузку в 90%. Если проанализировать эту категорию, то увидим, что эти кренделя запускают на постоянку свои торренты и за месяц выкачивают сотни гигабайт,  что обычно превышает размеры их винчестеров.

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

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

Я не говорю о мозгоебстве таких качальщиков. Но хватит о моральной стороне. Как организовать справедливость? Есть вещи типа QoS. Я их пока не использую. Хочу оставить это на потом ибо мои эксперименты не очень хороших результатов достигли в этой области.

В общем, какие имеем варианты.

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

2) Ограничить количество соединений на одного клиента. Это вещь для безопасности и для снижения нагрузки на сервак. На скорость не влияет, так что клиенты не замечают этого.

3) Тут наступает самое интересное: давать клиентам хорошую скорость, только если они активны. Т.е открыл абонентег свой торрент клиент, а там все летает. Поставил на ночь закачку фильма "дерьмо наносит ответный удар" чтобы утром удалить его - скорость понижается. Вот такой динамический шейп. Остается вопрос - как определять активность клиента. Есть законные, а есть незаконные методы. Интересуют законные. Например анализируя трафик. но не выше l3 уровня.

У кого какие мысли и кто как выходит из положения? Или я застрял в 20м веке?


Название: Re: Оптимальное использование канала
Отправлено: stix от 04 Декабря 2011, 01:07:43
да это у всех такие проблемы.

кстати сейчас подключен к триолану, 100мбит тупо канал без шейперов, роутинг свичами
60гигабит внешние каналы.

в одной дочерней нашей компании слабый канал внешний.
UAIX 100мбит (шейпится), а мир от 8 до 50
я погасил UDP от 5000 до 65000 порта в UAIX таблице
проблем небыло, кроме тех, кто юзает Ip телефонию.
затем я создал таблицу с айпи адресами, у кого исключается правила дропа верхних портов и внес этих абонентов.

определял банально tcpdumpом качанов, а иногда и по графикам cacti
nload -m смотрю с какого сегмента валит трафик, вижу валит 80 мбит, смотрю кто.

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


Название: Re: Оптимальное использование канала
Отправлено: smallcms от 04 Декабря 2011, 03:56:20
2) Ограничить количество соединений на одного клиента. Это вещь для безопасности и для снижения нагрузки на сервак. На скорость не влияет, так что клиенты не замечают этого.

3) Тут наступает самое интересное: давать клиентам хорошую скорость, только если они активны. Т.е открыл абонентег свой торрент клиент, а там все летает. Поставил на ночь закачку фильма "дерьмо наносит ответный удар" чтобы утром удалить его - скорость понижается. Вот такой динамический шейп. Остается вопрос - как определять активность клиента. Есть законные, а есть незаконные методы. Интересуют законные. Например анализируя трафик. но не выше l3 уровня.
А как, Вы думаете, я в своё время раздавал одним адсл модемом на 40 (в среднем) участников? Лимиты в ipfw, санкции блокировок совсем оборзевших (Вы реализовали бан запревышение коннектов, жаль само не отбанивало). Чтобы всем хватало 8-ми мегабит - игрался с динашейпером:
1:1500-500:1600-450:1800-400:2000-350:2500-300:3000-256 (для мегабитного тарифа)

А как ещё, кроме как условными безлимитами разруливать ситуации, когда скажем конкурируете с монстрами-монополистами? Вообще в идеале если бы я был такой же умный как Вы, Efendy, я бы анализировал срезы. В админку вывел бы параметр для администрации биллинга:

если последние sr срезов превышают srpc% скорости - начать каждые последующие srbig-srbig-srbig срезов пессимизацию по скорости, иначе, если последние sr срезов снова вышли на нормальный процент потребления, начать обратную плавную оптимизацию скорости к начальной.

но это так сложно - играть со скоростями клиента в течении дня,часа...  :( ??? :-[ :'(


Название: Re: Оптимальное использование канала
Отправлено: ale-x от 04 Декабря 2011, 14:51:04
Тоже с удовольствием придавил бы качков, есть некоторые выкачивают до 1 Тб в месяц при 4 мбитном инете. Вроде как можно по сигнатурам определить торрент это или нет:

http://forum.nag.ru/forum/index.php?showtopic=55025&st=960

http://vurd.name/2011/09/03/%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0-utp-%D0%BD%D0%B0-freebsd-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-ng_bpf/


Название: Re: Оптимальное использование канала
Отправлено: elite от 04 Декабря 2011, 15:19:31
можно пробовать динамический шейпер делать: брать выборку трафика клиента за последние 5-10 мин, если канал загружен более чем на 70%, плавно уменьшать скорость тем пользователям, кто в топе по выборке трафа


Название: Re: Оптимальное использование канала
Отправлено: Maks от 04 Декабря 2011, 15:28:26
А у меня ранее было вообще 2 тарифа (отличались буквой не заметной для абона)
Так делил норм людей и качеров, у норм был норм динам шейпер (подрезал после оч большого обьема)
А для качеров начинал резать начиная с 500 скачаных метров.

Но потом от этого отказался, т.к скоростя выросли и каналы подешевели.
И выделить торрент можно по портам
Срц 1024-65к и дст 1024-65к
Когда этих конектов более 5-10 то ставить шейп на 1 мегабит, для игр, скайпа хватит.

А также можно и по Л7 вычислять, вариантом много, но есть одно но.
Когда вам звонит абон и спрашивает чего у меня маленькая скорость, что вы ему объясните?
Или когда абон который не качер, но к нему приехали родственники, гости и они смотрят качественный фильм на плазме, первый скачался быстро а другой еле ползет.


Название: Re: Оптимальное использование канала
Отправлено: VitalVas от 04 Декабря 2011, 17:33:45
Л7 это совсем круто

у себя сделал акселератор на ночь (т.е. 00-07) бесплатным
сейчас наблюдаю в какти как у человека (тотального торрент-задрота) быстро винты кончаются

есть мысль как сделать динамичный qos на основе трафика абонента за час, сутки, месяц и активациям акселераторов


Название: Re: Оптимальное использование канала
Отправлено: ale-x от 04 Декабря 2011, 23:20:57
По портам не гуд - иргоки задолбут, но торрент работать будет, он прекрасно работает хоть на 22. У меня с 00 до 11 удвоение скорости и динашейпер начинает работать с 10. Качков можно определить в конце месяца - сортировка по трафику на убывание.


Название: Re: Оптимальное использование канала
Отправлено: stix от 05 Декабря 2011, 09:04:38
это ж какие мощности нужно, чтобы по L7 фильтровать?  :o


Название: Re: Оптимальное использование канала
Отправлено: Maks от 05 Декабря 2011, 12:50:42
это ж какие мощности нужно, чтобы по L7 фильтровать?  :o

Если трафика около 20-30 мегабит, то много не надо.


Название: Re: Оптимальное использование канала
Отправлено: Efendy от 05 Декабря 2011, 18:42:59
Вот такие мои замечания:

Блокировать какой-либо трафик не есть правильно ибо сами торренты - это не зло, это довольно полезная технология. Пытаться вычленить тип трафика по сигнатурам - это вечные кошки-мышки. Если клиент не будет юзать торренты, а будет пинговать пол мира - это тоже невыгодно. Речь идем именно о справедливом дележе канала.

Динамический шейп - это работает, но в NoDeny анализируется трафик только за сутки (другой интервал пока сходу не сделаешь), поэтому вовремя прирезать наглеца или наоборот дать трафика хорошему клиенту, к которому пришли гости и он хочет им показать пару фильмов, не получится. Давать ночью неограниченный траф как VitalVas - это еще более невыгодно при _текущем_ динамическом шейпе ибо клиент ставит ночью торрент, выкачивается дохрена трафика и днем шейпер сильно режет, поскольку суточное потребление большое. Кстати, как не удивительно, тут лучше применить совершенной обратный подход - ночью давать хреновую скорость ибо торенщик спит, а служба закачка идет. Это актуально для мелких сетей, которые, пиз покупают канал как конечные абоненты. Таким лучше не светить свои громадные показатели по трафику.

Скоростной коммунизм местами вреден. Дашь клиенту ночью максимальный канал - он не скажет спасибо, а скажет "почему у меня ночью такая скорость, а днем в 10 раз меньше! Отстойный у вас интернет". Более того, поскольку вы в большинстве нихрена не маркетологи, то не обращаете внимание на то, что если клиенту давать отличные условия он будет стремиться перейти на хорошие, но платить меньше. Клиент всегда должен знать "я получаю чуток меньше, потому что плачу дохрена меньше".

А теперь о том, каких я результатов добился. Дал всем максимальную скорость. Канал на 100%, через 20 минут - 50%. Это говорит о том, что большинство торенщиков повыкачивало свои файлы и в очереди не осталось. Конечно, после нескольких таких "просрачек" они смекнут что к чему и будут ставить в очередь по-больше.

После этого я установил самым активным их тарифную скорость, всем остальным максимальный канал. За сутки ни одной "полочки" в канале. Всем все хватает. Т.е предпосылка "всех пида.. в отдельный канал" работает.

Делать постоянной  хорошую скорость - это, как я уже сказал выше, неразумно. Однако, надо не забывать, что чем медленней клиент качает, тем дольше он занимает канал. А что если перед "часами пик" давать клиентам позаканчивать свои закачки, чтобы они освободили место в трудное для всех время? Так я и сделал. В 6 часов вечера динамический шейп врубает оттепель и дает скорость повыше, в 7 возвращает обратно. Пока это работает и для торенщиков, но надо будет их перевести на отдельные тарифы без такой лафы.

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


Название: Re: Оптимальное использование канала
Отправлено: ser970 от 05 Декабря 2011, 19:46:12
Динамический шейп - это работает, но в NoDeny анализируется трафик только за сутки (другой интервал пока сходу не сделаешь)

можно чуть подробнее почему нельзя?
ведь есть текущее значения трафа Х таблица.
есть скорость - значит можно посчитать макс трафик за переуд ядра
превыслил скажем 10 раз подряд 90% от максимального скинули скорость в н раз ну и так далее.
когда как канала не хватало так и делал понижал ступенчато по 2% от тарифной скорости. при 98% загрузке канала .
как загрузка падала до 70% поднимал ступенчато


Название: Re: Оптимальное использование канала
Отправлено: VitalVas от 06 Декабря 2011, 01:10:44
Давать ночью неограниченный траф как VitalVas - это еще более невыгодно при _текущем_ динамическом шейпе ибо клиент ставит ночью торрент, выкачивается дохрена трафика и днем шейпер сильно режет, поскольку суточное потребление большое.

Скоростной коммунизм местами вреден. Дашь клиенту ночью максимальный канал - он не скажет спасибо, а скажет "почему у меня ночью такая скорость, а днем в 10 раз меньше! Отстойный у вас интернет".

Ну почему. Оно само не работает. Абонент сам должен активировать акселератор. Не активировал - сидит на своем тарифе и не рыпается. А так как многие абоненты не умеют толком пользоваться статистикой, то таких активаций на ночь 2-4.
Можно даже не давать полную скорость, а увеличивать на х разов.
Раньше такая услуга стояла 5грн./активация
+ Эта услуга не работает на дешевых тарифах




Название: Re: Оптимальное использование канала
Отправлено: Efendy от 06 Декабря 2011, 08:36:45
Динамический шейп - это работает, но в NoDeny анализируется трафик только за сутки (другой интервал пока сходу не сделаешь)

можно чуть подробнее почему нельзя?
ведь есть текущее значения трафа Х таблица.
есть скорость - значит можно посчитать макс трафик за переуд ядра
превыслил скажем 10 раз подряд 90% от максимального скинули скорость в н раз ну и так далее.
когда как канала не хватало так и делал понижал ступенчато по 2% от тарифной скорости. при 98% загрузке канала .
как загрузка падала до 70% поднимал ступенчато
если я правильно понял, то ты хочешь сказать. что сам  noserver может считать трафик за период как разницу между значениями в X-N и X срезы. Да, мона и так. Как будет время - попробую написать.


Название: Re: Оптимальное использование канала
Отправлено: Efendy от 06 Декабря 2011, 08:37:45
Ну почему. Оно само не работает. Абонент сам должен активировать акселератор.
а. в таком случае норм. Все должно оплачиваться


Название: Re: Оптимальное использование канала
Отправлено: Maks от 07 Декабря 2011, 18:08:34
Отделять качеров от остальных тоже не совсем правильно.
Сам на это накололся пару раз, поэтому и отказался от разных тарифов (для качеров и не качеров)
Т.к есть нормальные люди платящие вовремя,нанимающие высокие посты, но любят смотреть в НD , и они становятса потенциальными качерами.
Когда ты их режешь всплывает вопрос, чего когда я у соседа качаю то быстро а у меня медленнее? А когда им кто то розсказывает про спидтест, то вообще караул.
Так что нужно резать все одинаково, все в разных условиях и тогда можно глянуть в статистику и сказать вы выкачали за сегодня 5 гиг ( а он эт не я.. наверное семья), то и сказать можно что т.к вы качали целый день то для вас приоритет сниже.
В общем если резать то всех одинаково


Название: Re: Оптимальное использование канала
Отправлено: Rico-X от 07 Декабря 2011, 21:12:06
Полностью соглашусь, с появлением кина в 3D количество качеров из торентоводов плавно перешел к VIP клиентам. По этому не в часы пик наоборот даю скорость выше оплаченого канала, быстрее скачают своего "Аватара" быстрее перестанут грузить общую полосу, если открыть график загрузок такого клиента сразу видно что качает большими объемами но не постоянно, а как бы гребешком пару часов максимальная загрузка потом может вообще несколько дней ничего. Не вижу смысла резать клиентам полосу в то время, когда есть запас, лучше дать чуть больше тарифа, чем чуть меньше, клиенты стают более лояльны.