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

Оптимизация шейпера Как бы правильно и с наименьшими задержками?

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

Зверей всего порядка 80чел с тарифами от 1 до 8 мегабит. Правда сейчас запустим сегмент и там тарифы будут до 80мегабит.

Что сейчас имеем:

 

 

cat /scripts/01initshaper.sh

#!/bin/sh

/sbin/iptables -t mangle -F FORWARD

/sbin/tc qdisc add dev eth1 root handle 1:0 htb

/sbin/tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit burst 10k

/sbin/tc qdisc add dev eth0 root handle 1:0 htb

/sbin/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit burst 10k

#

 

Дальше при включении абонента добавляется правила:

# cat /scripts/05addshaper.sh

#!/bin/bash

 

INTIF=eth1

EXTIF=eth0

 

let mark=${ID}+50

let mark2=${mark}+4000

 

/sbin/tc class add dev eth1 parent 1:1 classid 1:$mark htb rate ${SPEED}kbit ceil ${SPD}kbit burst 40k

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 5 handle $mark fw classid 1:$mark

 

/sbin/tc class add dev eth0 parent 1:1 classid 1:$mark2 htb rate ${SPEED}kbit ceil ${SPD}kbit burst 40k

/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle $mark2 fw classid 1:$mark2

 

/sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark

/sbin/iptables -t mangle -A FORWARD -s $IP -j MARK --set-mark $mark2

#

 

То есть никаких наворотов, в этом случае все на одном тазике.

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

Стоит ли стремится тут в сторону hash в tc и как это можно прикрутить сюда?

 

И стоит ли заморачиваться с приоритезацией полосы для конечного абона чтобы допустим пользователю было комфортно сниферить по нету, и общаться по скайпу?

И лучше это реализовывать и дальше на eth0 и eth1 или использовать ib0?

 

Сеть с 0.0/16 серая, есть пользователи которым выдаем внешники, но уже через pppoe с mpd

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


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

1) Нет смысла делать двухшаговый "iptables -t mangle -j MARK --set-mark" и "tc filter".

То же самое можно сделать в один шаг: "iptables -t mangle -j CLASSIFY --set-class".

 

2) На листья внутрь классов HTB лучше явно вешать дисциплину SFQ.

По умолчанию будет совершенно неадекватная PFIFO.

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


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

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

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


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

Join the conversation

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

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

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

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

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

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

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