Привет всем.
Прошу вашей помощи для получения полного представление о трубах, очередях и приоритету трафика.
Для этого рассмотрим пример (взят из одной стати на www.opennet.ru). В скобках буду писать свое представления о данной команде.1) ipfw pipe 1 config bw 64Kbit/s queue 20 ( создает трубу с мак. пропускной способностью 64 Кбит\с и очередь в 20 слотов (1500 байт * 20 = 30 Кбайт)
2) ipfw queue 1 config pipe 1 weight 50 queue 20 mask dst-addr(ip) 0xffffffff (создаем очередь для первой трубы входящего трафика с приоритетом (весом) 50 и очередью в 20 слотов)
3) ipfw add queue 1 ip from any to 192.168.0.0/24 (запускаем трафик в очередь)
Теперь возникает вопрос:
- допустим в сети 192.168.0.0\24 - 2 пользователя. Вот я полагаю что выше описанные правила будут вести себя такТруба 64 Кбит/с
-----------------------------------------------------------------------------------------------------
20 слотов, 1 польз. 20 Слото, 2 польз 20 Слотов, 1 польз.
------------------------- -------------------------- ------------------------------------------------------------------------------------------------------------------------------
или же будут так работатьТруба 64 Кбит/с
-----------------------------------------------------------------------------------------------------
10 слотов, 1 польз. 10 Слотов, 2 польз |10 Слотов, 1 польз.
------------------------- -------------------------- | ------------------------
|
------------------------------------------------------------------------------|-----------------------
конец очереди
или может как-то по другому?????
То есть я хотелбы узнать как будут поступать пакеты(данные) пользователям имеющие одинаковый вес(приоритет)????
З.Ы Не судите меня строго :)
аууу :)
Посл. раз подымим тему :)
>1) ipfw pipe 1 config bw 64Kbit/s queue 20 ( создает трубу
>с мак. пропускной способностью 64 Кбит\с и очередь в 20 слотов
>(1500 байт * 20 = 30 Кбайт)
>
>2) ipfw queue 1 config pipe 1 weight 50 queue 20 mask
>dst-addr(ip) 0xffffffff (создаем очередь для первой трубы входящего трафика с приоритетом
>(весом) 50 и очередью в 20 слотов)
>
>3) ipfw add queue 1 ip from any to 192.168.0.0/24 (запускаем
>трафик в очередь)
>
>Теперь возникает вопрос:
>- допустим в сети 192.168.0.0\24 - 2 пользователя. Вот я полагаю что
>выше описанные правила будут вести себя такМогу заблуждаться, сам только в такие дебри полез, раньше только статические трубы создавал ;)
Однако мне все видеться так:
weight - это точно не приоритет... В мане написано:
Note that weights are not priorities; a flow with a lower weight is still guaranteed toget its fraction of the bandwidth even if a flow with a higher weight is permanently backlogged.1) конфигурим/создаем pipe 1 с bandwidth 64Kbit/s и queue в ней на 20 maxsized ethernet packets (1500 bytes).
2) конфигурим/создаем queue 1 делаем reference на pipe 1 созданный в п.1 с выделением 50% от bandwidth of pipe 1 под flow, который будет создан в п.3 с queue в ней (самой очереди) на 20 maxsized ethernet packets (1500 bytes).
3) Создаем flow упомянутый в п.2 для queue 1.Таким образом получаем в результате следующее:
Имеет трубу шириной 64Kbit/s и очередью 20 слотов. В этой трубе выделено 50% от ширины для потока, который характеризуется трафиком "ip from any to 192.168.0.0/24" с очередью так же в 20 слотов.
а куда еще 50 процентов подевалось?
>а куда еще 50 процентов подевалось?
А никуда.. они не используются.... видимо ;)
В мане сказано так:...flows linked to the same pipe share the pipe's bandwidth proportionally to their weights.
На сколько я понял выигрышь использования queue как раз проявляется в возможности разделения одной трубы для нескольких потоков с возомжностью задания фиксированной ширины для каждого такого потока. При этом суммарное процентное соотношения ширины для queue в трубе может не быть 100%.