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

linux tc: хочется странного class в зависимости от rate

Добрый день,

 

Хочется реализовать такой алгоритм управления трафиком: есть два класса - скажем c1 и c2. Есть некий хост IP (вообще их много, нужно подумать о хешировании), который занимает (потребляет) некоторую полосу R (байт/сек). Пока R<L (L - некий заданный лимит полосы), трафик для IP классифицируется в c1. При превышении (когда R>L) - весь трафик для IP (а не только "перелив") переклассифицируется в с2. При уменьшении занимаемой полосы R ниже лимита L трафик для IP возвращается обратно в c1. В итоге, идея простая: "начал качать, превысил некий лимит байт/сек - пожалуй в другой класс".

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


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

Почему нельзя сразу дать качать на максимальной скорости, которой можно? Или я не верно понял задачу?

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


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

Почему нельзя сразу дать качать на максимальной скорости, которой можно? Или я не верно понял задачу?

 

Можно качать сразу на макс. скорости. Надо, чтобы весь трафик (а не только overlimit) к качающему уходил в менее приоритетный класс, если он (качающий) начал занимать полосу сверх определенного лимита. Или, другими словами, более приоритетный класс должен "освобождаться" от трафика "качающего много" чтобы быть доступным (свободным) "качающим мало".

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


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

Чудесная система какая то. Ну в прочем, вы в праве творить что хотите.

Думаю в таком случае разумнее будет следить за тем, сколько по ремени "качающий" использует по максимуму свой менее приоритетный класс, и если это время превышает определённый лимит, то значит "ему нужно" и он отправляется в более быстрый класс. Ибо иначе как вы пймёте, что ему " это нужно"?

А в сторону понижения приоритета, так же само.

Изменено пользователем bomberman

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


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

А чего тут чудесного? ) До недавнего времени очень востребованная схема. Но только средствами tc это не реализуется. Можно например раз в час создавать отчеты в биллинге по трафику каждого абонента и делить его на скорость по тарифу. Если этот коэффициент превысит некое определенное вами значение, то запускать скрипт, который перекинет качка в какой вам нужно класс. как то так...

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


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

connbytes/connrate в помощь.
imho RATEEST+rateest лучше подойдёт, так как не привязан к conntrack-соединению. А для большого количества IP можно и нелинейные правила сделать.

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


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

Join the conversation

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

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

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

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

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

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

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