Перейти к содержимому
Калькуляторы

Проблема с шейпером HTB в Centos 6

Пытаюсь настроить шейперы в Centos 6.9.

Есть отдельно шлюз, сервер и клиент. Клиент качает с сервера через шлюз, клиент подключен к интерфейсу eth0 шлюза.

На шлюзе такие настройки:

dev=eth0
tc qdisc add dev $dev root handle 1: htb
tc class add dev $dev parent 1: classid 1:1 htb rate 500Mbit
tc class add dev $dev parent 1:1 classid 1:10 htb rate 64kbit ceil 64kbit
tc qdisc add dev $dev parent 1:10 handle 100: sfq perturb 10
tc filter add dev $dev protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.100.101 flowid 1:10

Начинаю качать файл с сервера на клиент 192.168.100.101. Через некоторое время останавливаю закачку на 192.168.100.101, переподключаюсь и начинаю новую закачку файла. Закачка файла начинается только спустя около 10 секунд.

Как я понял, на шлюзе (с шейпером HTB) есть некий буфер, он в процессе работы наполняется, а когда клиент закрывает соединение, весь трафик от сервера, накопленный в этом буфере, продолжает понемногу (согласно rate) идти клиенту, вместо того чтобы сразу сбросить этот буфер. Причём похоже, что размер буфера одинаковый для всех rate. Это ожидаемое поведение HTB? При переподключении же пакет SYN-ACK от сервера не может пробиться к клиенту через этот мусорный трафик. Но если применить SFQ, который перемешивает пакеты от разных потоков, эффект «затыка» немного нивелируется (без SFQ ждать приходится несколько минут).

Нашёл https://serverfault.com/questions/629838/linux-traffic-controller-linux-tc-hierarchical-token-bucket-htb-packet-queu Там чувак говорит, что дело в параметре txqueue интерфейса. Но я пробовал его менять - безрезультатно.

Конфигурация шлюза: Centos 6.9, kernel: 2.6.32

Поделиться сообщением


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

15 часов назад, Mirraz сказал:

tc qdisc add dev $dev parent 1:10 handle 100: sfq perturb 10

Очень давно настраивал, поэтому не скажу за давностью лет, но у меня строка отличается:

$tc qdisc add dev $INTIF parent 1:$mark handle $mark: sfq perturb 10

handle другой.

Поделиться сообщением


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.