Ключевые слова:freebsd, shaper, bandwidth, altq, dummynet, (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Igor Timkin 2:5020/400 19 Oct 99 22:57:22
Subj : [FreeBSD] ALTQ, Dummynet and rate control
________________________________________________________________________________
From: Igor Timkin <ivt@gamma.ru>
Vitaly V Belekhov <vitaly@riss-telecom.ru> wrote:
: Скажем так: altq рулит очередью на исходящем интерфейсе, а dummynet может
: рулить очередью еще и на входящем. Если у тебя на машине выделенка к
провайдеру
Чего ? Каким образом рулит -- провайдер будет просто дропать пакеты.
Либо они будут дропаться во входной очереди интерфейса.
altq в таких случаях работает значительно эффектитвнее.
: и более чем один интерфейс внутрь, то надо использовать именно dummynet. Да и
: вообще он хоть нормально работает, в отличии от altq.
Как раз altq работает нормльно, dummynet это примитивный shaper.
А в altq это побочный эффект. У меня на 2.2.6 и достаточно древней
версии altq (с небольшими правками под себя) без проблем работает
на 10 каналах поверх ethernet (10/100) от 16K до 2M. Притом это
не на локальные сетки, а на коммерческих клиентов.
--- ifmail v.2.14dev3 * Origin: Gamma Ltd., Moscow, Russia (2:5020/400)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Vitaly V Belekhov 2:5020/400 20 Oct 99 12:31:56
Subj : [FreeBSD] ALTQ, Dummynet and rate control
________________________________________________________________________________
From: "Vitaly V Belekhov" <vitaly@riss-telecom.ru>
Привет!
Igor Timkin <ivt@gamma.ru> wrote:
> : Скажем так: altq рулит очередью на исходящем интерфейсе, а dummynet может
> : рулить очередью еще и на входящем. Если у тебя на машине выделенка к
> провайдеру
> Чего ? Каким образом рулит -- провайдер будет просто дропать пакеты.
> Либо они будут дропаться во входной очереди интерфейса.
> altq в таких случаях работает значительно эффектитвнее.
ALTQ на входящем интерфейсе работать просто не может. Что значит тогда
эффективнее? Я именно это и имел в виду. А то что пакеты будут
дропаться - так это и с altq тот же хрен будет.
> : и более чем один интерфейс внутрь, то надо использовать именно dummynet. Да
> и : вообще он хоть нормально работает, в отличии от altq.
> Как раз altq работает нормльно, dummynet это примитивный shaper.
> А в altq это побочный эффект. У меня на 2.2.6 и достаточно древней
> версии altq (с небольшими правками под себя) без проблем работает
> на 10 каналах поверх ethernet (10/100) от 16K до 2M. Притом это
> не на локальные сетки, а на коммерческих клиентов.
Да, в altq есть хорошие средства для управления очередями (RED,ECN),
но работает он криво, не надо меня переубеждать, я с ним за год намучился...
и использовал его поинтенсивнее. :(
Да и точность нарезания у него, мягко говоря, маленькая, о чем честно и
написано в доках. ( несколько процентов от реальной скорости интерфейса,
вот и режь после этого каналы по 16K на 10M Ethernet ). Плюс зависания классов
периодические (типа все работает, но один класс - никак).
А что касается безпроблемной работы - у тебя 10 каналов на ОДHОЙ карте или
на разных?
provider ---- router -ed0--- client A
|
+-ed1----- client B
Вопрос: как ты поделишь канал до провайдера между клиентами A и B в этом
случае? Без простого жесткого разрезания на две части? ( это ведь и dummynet
сделает :)
--
Vitaly Belekhov
RISS-Telecom Networking Center, Novosibirsk
--- ifmail v.2.14dev3 * Origin: Sovam Teleport public server (2:5020/400)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Igor Timkin 2:5020/400 20 Oct 99 13:11:54
Subj : [FreeBSD] ALTQ, Dummynet and rate control
________________________________________________________________________________
From: Igor Timkin <ivt@gamma.ru>
Vitaly V Belekhov <vitaly@riss-telecom.ru> wrote:
:> Чего ? Каким образом рулит -- провайдер будет просто дропать пакеты.
:> Либо они будут дропаться во входной очереди интерфейса.
:> altq в таких случаях работает значительно эффектитвнее.
: ALTQ на входящем интерфейсе работать просто не может. Что значит тогда
Зачем его ставить на входящий ?
: эффективнее? Я именно это и имел в виду. А то что пакеты будут
: дропаться - так это и с altq тот же хрен будет.
Да не тот же. Всегда можно задать необходимый размер очереди.
Да и дрпаться будут пакеты не случайным образом на входном интерфейсе,
а только клиенту, который выбрал свою полосы. Остальные этого
не заметят. Всегда можно пустить интерактивные протоколы
с большим приоритетом, чем тот же самый ftp, который обычно
забивает канал. При необходимости обределённым клиентам поднят
приоритет. Это основные плюсы altq по сранению с dummynet,
с моей точки очень существенные.
: Да и точность нарезания у него, мягко говоря, маленькая, о чем честно и
: написано в доках. ( несколько процентов от реальной скорости интерфейса,
: вот и режь после этого каналы по 16K на 10M Ethernet ). Плюс зависания
классов
Я ещё в версиях 0.X сделал патч, который позволял задавать абсолютную
скорость (она и так передаётся в ядро). В версях 1.X автор сам
добавил этот параметр. Окраничение в 16K используется:
Class 7 on Interface ed0:
priority: 2 depth: 0 offtime: 748046 [us] wrr_allot: 68 bytes
nsPerByte: 500000 (16.00 Kbps), Measured: 16.86 [Kbps]
pkts: 12830, bytes: 5344452
overs: 1137, overactions: 5809
borrows: 0, delays: 1133
drops: 149, drop_bytes: 165144
QCount: 25, (qmax: 30)
AvgIdle: -582 [us], (maxidle: 494140 minidle: -23438 [us])
:
: периодические (типа все работает, но один класс - никак).
Увы, редко, но бывает. У меня критутся cbqstat, который проверяет
эту ситацию и делает reset (случается раз в 3-7 дней на одном
из классов, реально никто не замечает). Тексты смотреть было лень, тем более
у меня использутся девняя версия (1.0.1). Hадо на этот роутер ставить
3.3 и последний altq и разбираться.
: А что касается безпроблемной работы - у тебя 10 каналов на ОДHОЙ карте или
: на разных?
Hа одной. Стоит hub, с которого клиенты получают свою полосу.
А какая разница. Точнее карты две, один клиент по оптике подключен,
из-за большого расстояни пришлось включать full duplex (5-6 км),
switch под это дело ставить дороговато. Все остальные на одной.
: provider ---- router -ed0--- client A
: |
: +-ed1----- client B
: Вопрос: как ты поделишь канал до провайдера между клиентами A и B в этом
: случае? Без простого жесткого разрезания на две части? ( это ведь и dummynet
: сделает :)
А у меня такой проблемы нет с каналом нет :)
А кто мешает на интерфейсе в стороны провайдера повесть altq.
Клиентам ставиться заказанная полоса. суммарное переполнение
будет резаться каналом (или провайдером). Если суммарная скорость
клиентов значительно больше, чем канал к провайдеру, можно им
выделить гарантированные полосы, а остальные они будут добирать,
если канал до провайдера не полностью загружен (borrow). Опять
приоритеты для разных протоколов.
--- ifmail v.2.14dev3 * Origin: Gamma Ltd., Moscow, Russia (2:5020/400)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Vitaly V Belekhov 2:5020/400 20 Oct 99 13:33:50
Subj : [FreeBSD] ALTQ, Dummynet and rate control
________________________________________________________________________________
From: "Vitaly V Belekhov" <vitaly@riss-telecom.ru>
Привет!
Igor Timkin <ivt@gamma.ru> wrote:
> : ALTQ на входящем интерфейсе работать просто не может. Что значит тогда
> Зачем его ставить на входящий ?
Я в конце того сообщения вопрос задал. :)
> Да не тот же. Всегда можно задать необходимый размер очереди.
> Да и дрпаться будут пакеты не случайным образом на входном интерфейсе,
> а только клиенту, который выбрал свою полосы. Остальные этого
> не заметят. Всегда можно пустить интерактивные протоколы
> с большим приоритетом, чем тот же самый ftp, который обычно
> забивает канал. При необходимости обределённым клиентам поднят
> приоритет. Это основные плюсы altq по сранению с dummynet,
> с моей точки очень существенные.
Все это можно сделать с dummynet, там нет только приоритетов, которые, впрочем,
в altq использовать не рекомендуют (и небезосновательно).
Даже borrow можно сделать. :)
Этож обычные firewall-правила, как хочешь, так и верти. :)
> Я ещё в версиях 0.X сделал патч, который позволял задавать абсолютную
> скорость (она и так передаётся в ядро). В версях 1.X автор сам
> добавил этот параметр. Окраничение в 16K используется:
Я именно с твоим патчем и работал. :) А в версиях 1.X я не видел в упор
задания абсолютной скорости (вплоть до версии 1.1.2). Да и точность от
этого не растет...
> Увы, редко, но бывает. У меня критутся cbqstat, который проверяет
> эту ситацию и делает reset (случается раз в 3-7 дней на одном
> из классов, реально никто не замечает). Тексты смотреть было лень, тем более
> у меня использутся девняя версия (1.0.1). Hадо на этот роутер ставить
> 3.3 и последний altq и разбираться.
Во! А у меня нагрузка на роутер стала расти и начало это происходить до раза
в 30 минут...
Что касается 3.x - я долго искал, отчего после перехода с 2.2.8 на 3.2-STABLE
у меня роутер главный падает, нашел в результате cbqd... :(
> : А что касается безпроблемной работы - у тебя 10 каналов на ОДHОЙ карте или
> : на разных?
> Hа одной. Стоит hub, с которого клиенты получают свою полосу.
> А какая разница. Точнее карты две, один клиент по оптике подключен,
> из-за большого расстояни пришлось включать full duplex (5-6 км),
> switch под это дело ставить дороговато. Все остальные на одной.
> : Вопрос: как ты поделишь канал до провайдера между клиентами A и B в этом
> : случае? Без простого жесткого разрезания на две части? ( это ведь и
> dummynet : сделает :)
> А у меня такой проблемы нет с каналом нет :)
> А кто мешает на интерфейсе в стороны провайдера повесть altq.
> Клиентам ставиться заказанная полоса. суммарное переполнение
> будет резаться каналом (или провайдером). Если суммарная скорость
> клиентов значительно больше, чем канал к провайдеру, можно им
> выделить гарантированные полосы, а остальные они будут добирать,
> если канал до провайдера не полностью загружен (borrow). Опять
> приоритеты для разных протоколов.
Да только какой провайдер на это пойдет... да и задеру я его изменениями
постоянными. А на своей тачке я не могу поставить, именно из-за того что
на входящем интерфейсе altq не живет... :( А трафиком надо рулить именно
входящим от провайдера, isn't it? :)
--
Vitaly Belekhov
RISS-Telecom Networking Center, Novosibirsk
--- ifmail v.2.14dev3 * Origin: Sovam Teleport public server (2:5020/400)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Igor Nikolaev 2:5030/266 20 Oct 99 05:52:06
Subj : [FreeBSD] traffic-shape on FreeBSD.
________________________________________________________________________________
Eduard V. Goroshko <eddie@sbor.ru> wrote:
> А не поделиться ли кто-нибудь опытом, что же все-таки юзабельнее
> - dummynet или altq ???
dummynet есть в ядре сразу от Луиджи и довольно
просто конфигурится.
altq/cbq нужно привинчивать руками, это более сложный
объект, может он существенно больше и написан существенно
аккуратнее.
Если задачи незатейливые, то проще настроить dummynet.
Если же нужно что-то достаточно серьёзное, то без
altq не обойтись.
> * Eduard V. Goroshko * [eddie@sbor.ru] [http://www.sbor.ru/~eddie]
--
Игорь Hиколаев
--- ifmail v.2.12.os.sensi * Origin: net for dummies (2:5030/266@fidonet)