LINUX.ORG.RU
ФорумAdmin

Подскажите по приоритизации трафика

 


0

1

Подскажите, возможно ли как-то уйти в htb от привязки к пропускной способности канала? Проблема в том, что скорость канала не является гарантированной и легко может плавать. Задача - нужно повысить приоритет трафика с одним сервером. Канал - внутригородской vpn.

Сделал так

#!/bin/bash

iface="tap0"
speed="80mbit"
rate_hi="10mbit"
rate_low="10mbit"

tc qdisc del dev $iface root
tc qdisc add dev $iface root handle 1: htb default 20 r2q 100

tc class add dev $iface parent 1: classid 1:1 htb rate $speed
tc class add dev $iface parent 1:1 classid 1:10 htb rate $rate_hi  ceil $speed burst 15k prio 0
tc class add dev $iface parent 1:1 classid 1:20 htb rate $rate_low ceil $speed burst 15k prio 5

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

tc filter add dev $iface parent 1:0 prio 0 protocol ip handle 11 fw flowid 1:10
В классификатор трафик заворачивается метками netfilter. Чтоб работало, скорость приходится указывать 80 мегабит, при том что канал обещают, что 100. А в час пик может еще подсесть. Как бы выйти из положения?

★★

тогда prio:

tc disc add dev tap0 root handle 1: prio bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 tc qdisc add dev tap0 parent 1:0 handle 10: sfq perturb 10 tc qdisc add dev tap0 parent 1:0 handle 20: sfq perturb 10

ну а дальше фильтрами заворачиваешь пакеты в нужную очередь.

только, насколько я понимаю, tap0 это исходящий интерфейс, так что приоритизация будет работать в сторону отправки пакетов вовне.

anonymous
()
Ответ на: комментарий от anonymous

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

#!/bin/bash

iface="tap0"

tc qdisc del dev $iface root

tc qdisc add dev $iface root handle 1: prio bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tc qdisc add dev $iface parent 1:1 handle 10: sfq perturb 10
tc qdisc add dev $iface parent 1:2 handle 20: sfq perturb 10

tc filter add dev $iface parent 1:0 prio 0 protocol ip handle 11 fw flowid 1:2

Davyd ★★
() автор топика
Последнее исправление: Davyd (всего исправлений: 1)
Ответ на: комментарий от selivan

Что-то у меня drr вообще не заработало, по статистике пакеты не попадают в класс, хотя фильтр срабатывает.

tc qdisc add dev $iface root handle 1: htb
tc class add dev $iface parent 1: classid 1:1 htb rate 85mbit
tc qdisc add dev $iface parent 1:1 handle 2: drr
tc class add dev $iface parent 2: classid 2:1 drr quantum 600
tc class add dev $iface parent 2: classid 2:2 drr quantum 1400

tc qdisc add dev $iface parent 2:1 pfifo limit 50
tc qdisc add dev $iface parent 2:2 pfifo limit 50

tc filter add dev $iface parent 1: protocol ip prio 1 u32 match ip dst 10.0.0.3/32 classid 2:1
tc filter add dev $iface parent 1: protocol ip prio 1 u32 match ip dst 10.0.0.2/32 classid 2:2

Что ж я делаю не так?

Davyd ★★
() автор топика
Последнее исправление: Davyd (всего исправлений: 1)
Ответ на: комментарий от Davyd

Дунул трафика в сторону 10.0.0.2 и 10.0.0.3 - а все по нулям осталось.

class htb 1:1 root leaf 2: prio 0 rate 85000Kbit ceil 85000Kbit burst 44253b cburst 44253b
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 65093 ctokens: 65093

class drr 2:1 root leaf 800b: quantum 600b
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 deficit 0b
class drr 2:2 root leaf 800c: quantum 1400b
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 deficit 0b

Davyd ★★
() автор топика
Ответ на: комментарий от Davyd

Давно было, с ходу уже не вспомню :( Может дома покопаюсь

selivan ★★★
()
20 мая 2015 г.
Ответ на: комментарий от Davyd

tc filter add dev $iface parent 1:0 prio 0 protocol ip handle 11 fw flowid 1:2

Почему ты направляеш в класс с нисшим приоритет здесь? Нужно flowid 1:1

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

john33
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.