Перейти до

ESFQ 'нечестно' делит канал


Рекомендованные сообщения

Поставил ESFQ с надеждой на то, что он реализует основное свое достоинство - будет делить канал независимо от кол-ва потоков в программах-закачках (а-ля FlashGet) поровну между всеми клиентами. Однако ожидаемого эффекта не наблюдаю. Например, канал 1 Мбит используют юзер А (700 Кбит) и юзер Б (300 Кбит). (что, кстати, уже ненормально, как по мне - ведь хочется 500 на 500). Так вот юзер Б, оказывается, качает файл меньшим кол-вом потоков. Юзер Б добавляет еще один поток и соотношение становится 600 на 400. Меня такая ситуация совсем не устраивает.

Итак, конфигурация (7 юзеров, канал на Украину 1 Мбит):

 

US=143Kbit

 

/sbin/tc qdisc del dev eth1 root

/sbin/tc qdisc add dev eth1 root handle 1 htb default 0 r2q 10

 

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

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:21 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:21 handle 21 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 210 fw classid 1:21

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:22 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:22 handle 22 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 211 fw classid 1:22

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:23 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:23 handle 23 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 212 fw classid 1:23

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:24 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:24 handle 24 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 213 fw classid 1:24

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:25 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:25 handle 25 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 218 fw classid 1:25

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:26 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:26 handle 26 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 220 fw classid 1:26

 

/sbin/tc class add dev eth1 parent 1:20 classid 1:27 htb rate $US ceil 1Mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:27 handle 27 esfq perturb 5 hash dst

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 224 fw classid 1:27

 

Т.е. траффик классифицируется по меткам.

Помечается украинский траффик вот так:

 

iptables -t mangle -N UAIX2

 

iptables -t mangle -A POSTROUTING -o eth1 -m geoip --src-cc UA -j UAIX2

iptables -t mangle -A POSTROUTING -p tcp -o eth1 -s 192.168.12.33 --sport 3130 -j UAIX2

 

iptables -t mangle -A UAIX2 -d 192.168.12.10 -j MARK --set-mark 210

iptables -t mangle -A UAIX2 -d 192.168.12.12 -j MARK --set-mark 212

iptables -t mangle -A UAIX2 -d 192.168.12.13 -j MARK --set-mark 213

iptables -t mangle -A UAIX2 -d 192.168.12.16 -j MARK --set-mark 211

iptables -t mangle -A UAIX2 -d 192.168.12.18 -j MARK --set-mark 218

iptables -t mangle -A UAIX2 -d 192.168.12.20 -j MARK --set-mark 220

iptables -t mangle -A UAIX2 -d 192.168.12.24 -j MARK --set-mark 224

iptables -t mangle -A UAIX2 -j ACCEPT

 

Прим.: с порта 3130 идет траффик специально запущенной версии СКВИДА, через который идет весь HTTP украинский траффик.

192,168,12,10-192,168,12,24 - клиенты

192,168,12,33 - сервер

 

 

Итак, прошу помощи, господа. Правильно ли настроен весь этот механизм или ESFQ так и должен себя вести. Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...