Online video hd

Смотреть армянское видео

Официальный сайт openclass 24/7/365

Смотреть видео бесплатно

wat_che 28.03.2011 16:09

Есть проблема!Шейпер, и равномерный делёж канала

Подскажите, кто знает, что нужно подкрутить, чтоб клиенты из сети 10.10.7.0/255.255.255.224 делили канал 95 кбит поровну, а не по количеству потоков с одного ip (многопоточные качалки).

/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 30 r2q 6

/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 100mbit

/sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 97mbit ceil 97mbit
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 10.10.7.1/255.255.255.224 classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.0/255.255.255.0 classid 1:10

/sbin/tc class add dev eth1 parent 1:2 classid 1:20 htb rate 100kbps ceil 100kbps

/sbin/tc class add dev eth1 parent 1:20 classid 1:30 htb rate 95kbps ceil 95kbps
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.10.7.0/255.255.255.224 classid 1:30

/sbin/tc class add dev eth1 parent 1:2 classid 1:30 htb rate 10kbps ceil 9000kbps


Тэги: шейпер
+ 1 -
Похожие Поделиться

gardarea51 28.03.2011 21:59 #
+ 1 -
С многопоточными качалками как раз все сложно, потому что они берут потоками.. вот могу процитировать "повесть о линукс и управлении трафиком":
ESFQ, Extended Stochastic Fair Queuing

Концептуально, эта дисциплина обработки очереди ничем не отличается от
SFQ, но дает больше возможностей по настройке очереди. Имея
возможность управлять используемым алгоритмом хэша, пользователь может
достичь более равномерного распределения полосы пропускания. Используя
данную дисциплину, можно вручную задать параметры depth (максимально
возможное количество "псевдо-очередей", в SFQ жестко задано значение
1024), limit (количество пакетов хранящихся в буфере, в SFQ равняется
128), hash (тип хэша: classic -- аналогичный используемому в SFQ, src
-- по адресу источника и dst -- по адресу получателя) и divisor (длина
хэша в битах, в SFQ равно 10).

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

А так как ESFQ в ядре нет (надо патчить), но оказывается есть какой то аналог-внешний классификатор для SFQ под именем SFQ flow classifier, то погуглите на эту тему.
gardarea51 29.03.2011 09:32 #
+ 2 -
Кажется все у вас нормально написано, правда несколько запутанно, но вроде как надо, кроме этого участка:

/sbin/tc class add dev eth1 parent 1:2 classid 1:20 htb rate 100kbps ceil 100kbps
/sbin/tc class add dev eth1 parent 1:20 classid 1:30 htb rate 95kbps ceil 95kbps
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.10.7.0/255.255.255.224 classid 1:30
/sbin/tc class add dev eth1 parent 1:2 classid 1:30 htb rate 10kbps ceil 9000kbps

Тут как я понимаю создается класс 1:20 и его потомок (который является умолчальным) 1:30.. а смысл этого делать? можно написать в 1:20 rate 95kbps ceil 100kbps.. и фильтром отправлять нужные пакеты в 1:20.. мне в общем видится лишний класс.. Кроме того - вы два рада определяете класс 1:30, только с разными родителями, но суть не меняется: класс определен два раза, и работать будет, очевидно, только последний (или я чего-то не знаю? =)

Еще рекомендуется на концы htb классов вешать бесклассовую дисциплину sfq, например так:tc class add dev $IN_DEV parent 1:1 classid 1:13 htb rate 64kbit ceil 64kbit prio 3
tc qdisc add dev $IN_DEV parent 1:13 handle 13: sfq perturb 10
Но она, как уже писали, не сильно то помогает при многопоточных закачках, остается читать про новый SFQ flow classifier, которым был призван заменить собой esfq (для использования которого надо патчить tc и ядро)..

И еще, приоритеты не расставляете? Незнаю насколько это важно, но логичнее было бы обрабатывать вперед пользователей, которые имеют маленькую скорость, все таки они и так страдают больше всех =) и можете оформить шейпер в скрипт, который будет выглядеть примерно так, так оно и читается удобнее и ошибки искать проще, хотя это уже конечно мелочи.. Надеюсь, что я тут написал что-то полезное.. =)
gardarea51 29.03.2011 09:33 #
+ 0 -
Блин.. не туда ответ вставил нечаянно, сам на свой ответил.. (((
gardarea51 28.03.2011 22:03 #
+ 0 -
Кстати, странно, что вы пишете 95Кбит, а в шейпере у вас rate 97mbit ceil 97mbit.. к тому же дальше видно что опять же rate 100kbps ceil 100kbps.. это неправильно, у вас весь канал съест первый же, кто попадет под правило.. что такое rate & ceil знаете? Вы датете гарантированную полосу и тут же она у вас равна максималньо доступной.. Если есть интерес, опишите схему как хотите поделить, а я завтра вам шейпер нарисую простой.. часов этак через 10-11.. как на работе буду работу делать =)
gardarea51 28.03.2011 22:09 #
+ 1 -
ТЬфу, кажется я все перепутал, простите, завтра уже на свежую голову гляну.. пардон.. =)
wat_che 29.03.2011 09:10 #
+ 0 -
жду свежую голову :) В двух словах, локалка на фул спиде- 100мбит поэтому вот такие правила.
gardarea51 29.03.2011 09:12 #
+ 2 -
Уже понял.. сейчас посмотрю более внимательно.. =)
gardarea51 29.03.2011 09:37 #
+ 0 -
Ответ выше, не туда закомментил.. что-то у меня с этим проблемы..
wat_che 29.03.2011 10:00 #
+ 0 -
чтение про новый SFQ flow classifier мне ничего пока не дало сейчас подкорректирую и выложу, то что выйдет. Останется вопрос только с SFQ flow classifer.
wat_che 29.03.2011 10:14 #
+ 0 -
Получилось вот так
# корневая дисциплина
/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 30 r2q 6

/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 100mbit
# локалка
/sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 97mbit ceil 97mbit
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 10.10.7.1/255.255.255.224 classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.0/255.255.255.0 classid 1:10
# инет
/sbin/tc class add dev eth1 parent 1:2 classid 1:20 htb rate 100kbps ceil 100kbps
/sbin/tc qdisc add dev eth1 parent 1:20 handle 20 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.10.7.0/255.255.255.224 classid 1:20

/sbin/tc class add dev eth1 parent 1:2 classid 1:30 htb rate 10kbps ceil 9000kbps
gardarea51 29.03.2011 11:44 #
+ 1 -
Все вроде правильно.. а насчет sfq flow classifier я сам ни разу не пробовал использовать его, даже до тестов руки не дошли, мало информации по нему, но вот что я пока нашел, может быть вам пригодится: http://lwn.net/Articles/236200/ и вот человек заменял ранее использовавшуюся sfq. Честно говоря самому интересно бы разобраться в этом вопросе, но пока некогда, если бы вы разобрались и отписались было бы круто =)
wat_che 29.03.2011 12:12 #
+ 0 -
Это я тоже находил, но что-то не доганяю как это сделать. Тем более в самом вразумительном посте цитата "No. I still use ESFQ." наталкивает на мысль что ничего у него не вышло.
gardarea51 29.03.2011 12:16 #
+ 1 -
Жаль что документации и особенно на русском по этому делу мало..
gardarea51 29.03.2011 11:48 #
+ 1 -
Еще например человек делал так: tc qdisc add dev eth1 parent 1:7 handle 10: sfq perturb 10
tc filter add dev eth1 protocol ip parent 10: handle 2 flow hash keys src,dst divisor 1024
gardarea51 29.03.2011 12:08 #
+ 1 -
И опять дополню, вот еще интересный тред и посмотрите что говорит man tc-drr.
wat_che 29.03.2011 16:40 #
+ 0 -
добавил такую штуку
tc filter add dev eth1 parent 1: protocol ip handle 20 flow hash keys dst divisor 32

ядро скушало, но как проверить работу не знаю.
gardarea51 29.03.2011 16:48 #
+ 1 -
Попросить пользователей врубить торрент-качалки и смотреть статус сколько чего дропнуло..
wat_che 06.04.2011 16:28 #
+ 0 -
факир был пьян и фокус не удался. Ничего из этого не вышло.
Shilov 22.06.2011 08:59 #
+ 2 -
тут инфа более актуальная:
Наложение патчей IMQ, ESFQ и Layer7
wat_che 22.06.2011 15:29 #
+ 0 -
но менее применима для "боевых условий". Хотелось бы обойтись без патчей, а методом sfq flow classifier Может кто сталкивался?
Shilov 22.06.2011 18:52 #
+ 1 -
тут есть моё поделие:
WonderShaper

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

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн