Jump to content

Recommended Posts

Posted

выкурил все доки которые только нашел (в том числе на этом сайте) , а решить задачку не могу :((

 

есть канал от провайдера на Х мегабит

есть сеть с 1000 абонентами. у каждого - безлимитный тариф

тарифов всего несколько штук (например 256 килобит\сек, 512 килобит\сек и 1 мегабит\сек)

 

если всех юзеров с их тарифныи планами сложить вместе, то получится гораздо больше , чем X мегабит (в разы). это нормально, т.к. мы изначально оговораиваем, что продаем не гарантированую полосу.

 

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

 

на ipfw это сделать - как плюнуть. а на pf по какому принципу это можно оранизовать ?

 

заводить для каждого абонента свою очередь ? если да, то с какими параметрами? какие планировщики использовать и как впихнуть 1000 очередей (на каждого человека)

в X-мегабитный канал , ведь это изначально даже в конфиге описать нельзя?

 

p.s. а трафик надо ограничивать еще в обе стороны... геморрой короче...

 

но возвращаться к ipfw с его пайпами тоже не хочется :(

Posted

Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал.

Posted (edited)

Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал.

а если создать количество очередей равное количеству анлимов и с их скоростями, а пользователей запихивать в таблицы, которых столько же сколько анлимов, и таблицы засовывать в очереди?

Edited by kapa
Posted

Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал.

а если создать количество очередей равное количеству анлимов и с их скоростями, а пользователей запихивать в таблицы, которых столько же сколько анлимов, и таблицы засовывать в очереди?

проверил - не получается - все абоненты засунутые в одну очередь делят её скорость поровну :(

 

очень огорчён - хотел использовать pf для того, чтобы не городить кучу правил кратную количеству абонентов, а использовать его таблицы...теперь даже не знаю...

Posted (edited)

Копайте в сторону,

ipfw add pipe 1 ip from any to table(1)

ipfw pipe 1 config mask src-ip 0x0000ffff bw 1Mbit/s

 

ipfw add pipe 2 ip from table(1) to any

ipfw pipe 2 config mask src-ip 0x0000ffff bw 1Mbit/s

и будет вам счастье.

P.S.

А с помощью новой возможности FreeBSD, ipfw pipe tablearg ip from table(1) to any, можно вообще сделать сверхкомпактный шейпер.

Edited by Ascent77
Posted

v ipfw 2 pojevilas chtota tipa altq , gde mozna kazdij pipe ogranichetj i zagnatj v ocheredj. V forume gdeta zdes uze gatovoj sample.conf proskakival.

 

PF pri takom kalichestve pravel ubjot CPU

Posted
Есть скальпель, но пытаюсь решить проблему топором.

P.S.

Удивляюсь вашему удивлению.

это почему PF топор, а IPFW скальпель? о_О

я не спорю, что, возмжно, придётся всё-таки реализовывать всё на IPFW, но чем он лучше-то?

  • 1 year later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.