>[оверквотинг удален]
>
>К примеру есть канал 2 МБита и нужно динамически делить его поровну
>между активными пользователями(IP адресами).
>Пробовал использовать дисциплину SFQ шейпера tc, но столкнулся с тем, что SFQ
>оперирует сессиями и распределение канала зависит от количества сессий с одного
>IP. Например торрент качалки забирают большую часть канала, мешая другим нормально
>пользоваться Интернетом.
>Нашёл описание дисциплины ESFQ, похоже решает эту задачу, но требует наложения патчей
>на ядро, но в системе стоит ядро гораздо новее, чем последний
>патч. ну вообще-то патч на ядро необязательно накладывать, можно просто собрать esfq как модуль,
например используя dkms (конечно tc все равно придется патчить).
не помню, начиная с какого ядра (кажется c 2.6.25 ) для этих целей возможно использовать
flow classifier.
по умолчанию потоки в sfq разбиваются так:
tc filter add .... flow hash \
keys src,dst,proto,proto-src,proto-dst divisor 1024
нужно переделать на :
tc filter add dev eth0 protocol ip pref 1 parent x: handle y \
flow hash keys dst divisor 1024
есть или нет в ядре flow classifier - можно поглядеть в исходниках в районе pkt_cls.h или
посмотреть параметр NET_CLS_FLOW в конфигурации ядра.
>Какие ещё варианты решения данной задачи? На данный момент рассматриваются любые решения,
>но хотелось бы решение на линухе.