Подскажите как понимать параметр weight в правилах ipfw queue config?
На сколько я понимаю, чем больше значение weight тем быстрее пакет будет пролетать, хотя у меня происходит все наоборот.
Можно сделать несколько трубок и в каждую по несколько очередей.
Каждая очередь со своим приоритетом.
Пока в трубе есть место - все идет само по себе, как только
труба заполнена - каждая очереь занимет трубу согласно приоритету.есть pipe - труба, есть queue - очереди.
Труба ограничивает полосу пропускания.
Заводим очереди (по типам трафика к примеру)
Даем им weight (приоритет). Приоритет по умолчанию - 30 (кажется)Пока ширины трубы хватает для всех очередей, все идет само по себе.
Как только труба наполнена - очереди будут опоржняться в соотвествии со своим приоритетом. Если есть 100мбит, труба с весом 10 и труба с весом 90,
то после переполнения очередей на трубу с весом 90 отдадут 90 мбит.
Типичные случаи возникновения ошибок:
1) очень большой параметр queue в определении pipe:
fwcmd pipe 1 config bw 128Kbit/s queue 64Kbytes
будет страшно долго ждать. Трафик будет идти рывками.2) при определнии очереди взята маска по IP,
при этом, к примеру для smtp, вес очереди будет применяться к каждому соединению на 25 порт, а не ко всему трафику.
Если задать такую маску для низкоприоритетного трафика, то у тебя окажется много(1) низкоприоритетных потоков.3) все очередизаданы с весом ниже 30, тогда любой неописанный трафик окажется более приоритетным. (IMHO, не уверен)
труба
fwcmd pipe 1 config bw 128Kbit/s queue 4Kbytes
# четыре очереди
fwcmd queue 1 config pipe 1 weight 10
fwcmd queue 2 config pipe 1 weight 15
fwcmd queue 3 config pipe 1 weight 45
fwcmd queue 2 config pipe 1 weight 99
# почту ставим в самую неприоритетную очередь
fwcmd add 10 queue 1 tcp from any 25 to any
fwcmd add 11 queue 1 tcp from any to any 25
# и т.д.
fwcmd add 12 queue 2 tcp from any 80 to any
fwcmd add 13 queue 2 tcp from any to any 80
>Можно сделать несколько трубок и в каждую по несколько очередей.
>Каждая очередь со своим приоритетом.
>Пока в трубе есть место - все идет само по себе, как
>только
>труба заполнена - каждая очереь занимет трубу согласно приоритету.
>
>есть pipe - труба, есть queue - очереди.
>Труба ограничивает полосу пропускания.
>Заводим очереди (по типам трафика к примеру)
>Даем им weight (приоритет). Приоритет по умолчанию - 30 (кажется)
>
>Пока ширины трубы хватает для всех очередей, все идет само по себе.
>
>Как только труба наполнена - очереди будут опоржняться в соотвествии со своим
>приоритетом. Если есть 100мбит, труба с весом 10 и труба с
>весом 90,
>то после переполнения очередей на трубу с весом 90 отдадут 90 мбит.
>
>
>
>Типичные случаи возникновения ошибок:
>1) очень большой параметр queue в определении pipe:
>fwcmd pipe 1 config bw 128Kbit/s queue 64Kbytes
>будет страшно долго ждать. Трафик будет идти рывками.
>
>2) при определнии очереди взята маска по IP,
>при этом, к примеру для smtp, вес очереди будет применяться к каждому
>соединению на 25 порт, а не ко всему трафику.
>Если задать такую маску для низкоприоритетного трафика, то у тебя окажется много(1)
>низкоприоритетных потоков.
>
>3) все очередизаданы с весом ниже 30, тогда любой неописанный трафик
>окажется более приоритетным. (IMHO, не уверен)
>
>
> труба
>fwcmd pipe 1 config bw 128Kbit/s queue 4Kbytes
># четыре очереди
>fwcmd queue 1 config pipe 1 weight 10
>fwcmd queue 2 config pipe 1 weight 15
>fwcmd queue 3 config pipe 1 weight 45
>fwcmd queue 2 config pipe 1 weight 99
># почту ставим в самую неприоритетную очередь
>fwcmd add 10 queue 1 tcp from any 25 to any
>fwcmd add 11 queue 1 tcp from any to any 25
># и т.д.
>fwcmd add 12 queue 2 tcp from any 80 to any
>fwcmd add 13 queue 2 tcp from any to any 80Стало немного по понятней, но не все.
У меня следующая ситуация: есть туннель, через него летят пакеты в другую сеть и через эту сеть в Internet, пакеты между сетями в туннеле я шифрую, таким образом высокоприоритетный траффик - это ESP пакеты. Пишу следующее:
#ipfw pipe 10 config
#ipfw queue 10 config weight 100 pipe 10
#ipfw queue 20 config weight 1 pipe 10
#ipfw add queue 10 esp from X.X.X.X to Y.Y.Y.Y out
#ipfw add queue 20 ip from X.X.X.X to Y.Y.Y.Y outПо видимому я не учел то, что пока труба не переполнена все идет своим чередом, но как управлять полосой пропускания в трубе, понять не могу.
Туннель вяжет два обычных интерфейса с MTU 1500, через gif интерфейс с MTU 1280. Каких параметров не хватает в определении pipe, чтобы и канал сильно не заузить, и приоритет esp пакетам дать больший?К стати по умолчанию weight=1.