Страница 1 из 1

Ограничение скорости скачивания

Добавлено: 2010-08-04 6:33:00
yrslv
Имеется интернет шлюз на FreeBSD и канал шириной 1Мбит. Инет раздается через squid четырем юзерам.
Доступ в инет оганичен по скорости по 256кбит на юзера (В IPFW).
Хочется чтобы ограничение по скорости было не фиксированоое а в зависимости от использования канала.
То есть : если в инет полез только один юзер то он мог бы юзать весь мегабит, а если подключился еще один то уже по 512 кбит,
ну и в зависимости от загрузки если второй юзер не качает особо а просто серферит то нет смысла ему 512 выделять, другой если чего качает
ему скорость нужнее.
Есть ли стандартные средства для решения подобного рода задачи?

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 8:15:13
hizel
да, очереди в трубах

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 8:32:12
yrslv
hizel писал(а):да, очереди в трубах
Сейчас так и сделано. Но это не совсем то что нужно.
Нужно не жестко ограничивать скорость а в зависимости от использования канала.

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 8:49:38
hizel
телепаты в отпуске, а очереди в трубе одной так и действуют

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 10:26:57
zeus4all
понимаю что смешно звучит, но в данном случае подойдет отсутвие какого либо ограничания на канал. а вот как заставить сервер понимать кто серфит а кто все время льет это вопрос интересный, тут я пас, нету практического опыта в етом вопросе.

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 11:17:19
freeman
Через встроенное в PF ALTQ это делается на раз, даже в дефолтных FAQ и примерах.
Как в IPFW через dummunet хз, не заморачивался/ Скрипты придётся дописывать наверно :)

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 12:42:43
princeps
zeus4all писал(а):понимаю что смешно звучит, но в данном случае подойдет отсутвие какого либо ограничания на канал. а вот как заставить сервер понимать кто серфит а кто все время льет это вопрос интересный, тут я пас, нету практического опыта в етом вопросе.
По номерам портов? 80-й поставить с меньшим приоритетам, чем все остальные

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 13:25:54
freeman
princeps писал(а):По номерам портов? 80-й поставить с меньшим приоритетам, чем все остальные
И торренты будут забивать канал на полную, а погоду даже глянуть у других не получится (на 80м порту :) )

Логика правил на PF такая, например само примитивное из 2х строчек-правил думаю сойдёт:
юзеру 1 дать 30% канала, с возможностью занять 100% если юзер 2 не использует.
юзеру 2 гарантировано дать 70% канала.

Напишите мне это на IPFW

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 13:33:39
hizel

Код: Выделить всё

$fw pipe 20 config bw 1024Kbit/s queue 35
$fw pipe 21 config bw 1024Kbit/s queue 35
$fw queue 200 config pipe 20 queue 40 weight 70 mask dst-ip 0xffffffff
$fw queue 201 config pipe 21 queue 40 weight 70 mask src-ip 0xffffffff
$fw queue 202 config pipe 20 queue 40 weight 30 mask dst-ip 0xffffffff
$fw queue 203 config pipe 21 queue 40 weight 30 mask src-ip 0xffffffff
чмоки адептам pf-ерам

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 14:03:04
freeman
Найпримитивнейший случай привёл к возможности частности ("заимствования") ? :)
И вообще есть ли оно там, а то я дамминет не юзаю, но "вес" это аналог приоритета в PF и ни о каких % даже с такими выкрутасами говорить не приходится. weight 70 заберёт себе 100% (сколько сможет) трубы 20, тоже самое с 21й и всё это поделится потом на 2 в 35 й ? Итого пошлёт 2го куда подальше, на том всё и кончится ?
Или чмоки всё же не бумеранг и оно может:
Подели 70% на 1 и 3го юзера по 35 и аналогично возможность занимать 30% 2го вдвоём поровну или каждому если он вообще один.
Не говоря уже о конструкции первые (непрерывные) 2мб на скорости х, а дальше x/5 чтоб не качали 24 часа в сутки ?
Напишите и можете чмокать IPFW :)

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 14:47:38
hizel
ничо не понял

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 15:17:21
freeman
Чтож уточню короче
1. не уверен что код работает как надо.
2. а сможет IPFW на 3х поделить как я уточнил задание ?

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 15:36:41
hizel
freeman писал(а):Чтож уточню короче
1. не уверен что код работает как надо.
с этого и надо начинать, кстати а где твой пример для pf?
freeman писал(а): 2. а сможет IPFW на 3х поделить как я уточнил задание ?
что на трех? в примере ip делятся на две группы по весу , будет работать на любое кол-во ip

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 15:57:38
freeman
Вес это приоритет ? Если да, то о чём мы говорим ? Всё получит тот, у кого больший приоритет и всё. В PF по крайней мере так. Посему и юзают дополнительно к приоритетам (priority 2 в примере) cbq, hsfc

Код: Выделить всё

  queue http bandwidth 60% priority 2 cbq(borrow red) \
           { employees, developers }
     queue  developers bandwidth 70% cbq (red)
     queue  employees bandwidth 30% cbq (borrow ecn)

Re: Ограничение скорости скачивания

Добавлено: 2010-08-04 18:47:44
princeps
Вроде как тот, у кого больший вес, получит ровно столько, во сколько раз его вес больше того, у кого меньший вес. Потому и юзают ipfw ;)

Re: Ограничение скорости скачивания

Добавлено: 2010-08-05 8:05:18
freeman
princeps писал(а):Вроде......
Потому и юзают ipfw ;)
Я так и понял что юзают "штатный" кто точно ничё не знает :)
Вес указывает приоритет пакетов, а никак не гарантированную полосу пропускания. Оттого и приходится в ipfw сооружать конструкции из труб, очередей, что в ALTQ (не только в PF) делается одной строчкой.