Имя пользователя:
Пароль:
 

Название темы: Сеть
Показать сообщение отдельно
ihc ihc вне форума

Аватара для ihc

Старожил


Сообщения: 194
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Итак, некоторые размышления на тему поставленной выше задачи. Напомню вкратце: есть два класса юзеров, одни "лимитчики", которые до прихода "пацанов" берут весь канал, после чего только 20% его. Для приведённого решения надо заранее знать:

1) пропускную способность канала (bandwidth, стандартные единицы)
2) средний размер пакета (лучше сделать некую репрезентативную выборку) (avpkt, байты)

Итого. Создаём очередь:
Код: Выделить весь код
tc qdisc add dev eth0 handle 1:0 root cbq avpkt 500 bandwidth 100Mbit
Далее, вешаем корневой класс (так рекомендуют)
Код: Выделить весь код
tc class add dev eth0 parent 1:0 classid 1:1 cbq rate 100Mbit allot 1500 prio 5 bounded isolated
Канал описали, теперь вешаем "лимитчиков":
Код: Выделить весь код
tc class add dev eth0 parent 1:1 classid 1:11 cbq rate 100Mbit allot 1500 prio 5 bounded
Так мы определили класс, который отъедает весь канал (100Mbit) с приоритетом (prio) 5 и может делиться своей полосой с другими классами, не забирая себе от них (bounded). Дальше "пацаны":
Код: Выделить весь код
tc class add dev eth0 parent 1:1 classid 1:12 cbq rate 80Mbit allot 1500 prio 1 isolated
Т.е. отдали 80Мбит, но с приоритетом 1, сказали забирать полосу у других, не отдавая самому (isolated). Как навесить фильтры, чтобы раскидывать траффик -- см. выше. Надо не забывать, что очереди вешаются на исходящий траффик, т.е. должны быть на интерфейсе к клиенту.

Таким образом, при нагрузке от обоих классов получаем, что 80% отъедят "пацаны", а всё, что останется -- "лимитчики". Тут есть тонкость в том, что последние при отсутствии первых будут иметь весь канал, в то время как первые будут железно иметь 80Мбит в любых условиях -- это немного не то, что требовалось, но при наличии большего количества "лимитчиков" по сравнению с "пацанами" это покатит вполне.

Последнее -- это результат некоторых размышлений, ещё не тестировал, и не скажу, насколько хорошо сработает.

Отправлено: 17:49, 16-03-2005 | #32

Название темы: Сеть