Jump to content
Калькуляторы

Равномерное ограничение скорости по ip в linux

Господа, может кто сталкивался - подскажите. Возможно ли в линукс задать один правилом (ну или группой правил) равномерное ограничение по скорости для всей сети, т.е. каждому адресу выделяем, скажем по N-мегабит, при этом не описывая классификаторы и правила для каждого адреса индивидуально. Пример использования - надо ограничить для группы сетей исходящий трафик на определенной скорости. Писать при этом правила на каждый Ip-маразм да и не в лучшую сторону отразится на производительности.

 

На циске я могу сделать это с помощью UBRL, а вот столкнулся с необходимостью сделать на линуксе и испытываю затруднения.

Share this post


Link to post
Share on other sites

Можно попробовать глянуть сюда http://fatooh.org/esfq-2.6/

Если будете пробовать - отпишитесь о результатах - у самого пока руки не дошли на эксперименты

 

Share this post


Link to post
Share on other sites

ESFQ - это улучшенная версия sfq - она просто пытается распределить полосу равномерно на все соединения (даже не ip)

Таких проектов не встречал, хотя потрбность достаточно высока. Хотя вобщем-то при правильном разграничении правил - даже очень большое количество правил (не используемых в данный момент) не сильно грузят сервер

Share this post


Link to post
Share on other sites
ESFQ - это улучшенная версия sfq - она просто пытается распределить полосу равномерно на все соединения (даже не ip)

Таких проектов не встречал, хотя потрбность достаточно высока. Хотя вобщем-то при правильном разграничении правил - даже очень большое количество правил (не используемых в данный момент) не сильно грузят сервер

Именно так вроде бы и улучшенная. Из ссылки "The most useful modification is the ability to change "hash type" so that ESFQ allocates bandwidth fairly per source IP rather than per connection"

Только насколько хорошо работает я не знаю, не пробовал еще.

Share this post


Link to post
Share on other sites
ESFQ - это улучшенная версия sfq - она просто пытается распределить полосу равномерно на все соединения (даже не ip)

Таких проектов не встречал, хотя потрбность достаточно высока. Хотя вобщем-то при правильном разграничении правил - даже очень большое количество правил (не используемых в данный момент) не сильно грузят сервер

Именно так вроде бы и улучшенная. Из ссылки "The most useful modification is the ability to change "hash type" so that ESFQ allocates bandwidth fairly per source IP rather than per connection"

Только насколько хорошо работает я не знаю, не пробовал еще.

Хорошо работает, использую уже давно, больше года точно

именно так как написано, IP получат равную скорость, не зависимо от числа сессий.

 

Но это не то что прсил топикстартер.

 

Share this post


Link to post
Share on other sites

Если жестко х килобит, то не подходит, а если "поровну, но всем вместе не более", то вполне сгодится. Разве UBRL делает не то же самое - равная пропускная способность в пределах общей полосы.

Edited by Beginner

Share this post


Link to post
Share on other sites

Жаль что под линукс нет такой реализации :(

Я то надеялся, что просто отстал от жизни.

 

2yun: Что есть правильно разграничение правил? Можно пример? :)

 

UBRL жестко (без буферизации пакетов) ограничивает трафик по ip-адресам в указанном классе (который например написан в виде аксеслиста сети 192.168.0.0/16) в соответствии с ограничением, т.е. как раз каждому ip выдается ровно столько сколько написано. Делал на Cat6k ограничения для анлимитчиков как раз в соответствии с тарифом и обратный трафик у всех ограничен одинаково.

Share this post


Link to post
Share on other sites

Пример есть в LARTC, глава "Хеш-фильтры"

Share this post


Link to post
Share on other sites
Пример есть в LARTC, глава "Хеш-фильтры"
Там не обязательно равная полоса, там можно что угодно накрутить, это - для того что б быстро классифицировать пакет.

 

http://lartc.org/howto/lartc.adv-filter.hashing.html - что б долго не искали

я делал, работает, но в продакшн не пошло - решили использовать ISG для этих целей

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this