Обсуждение статьи тематического каталога: Почему 3 карточки )Ссылка на текст статьи: http://www.opennet.me/base/net/transparent_shaper.txt.html
Привет. Все-спрошу: почему три карточки? :) Заранее спасибо за ответ.
Внимательно читай почему 3:
em0 используется для доступа к серверу на самом деле задачу можно было разрулить через vlan ;)
$cmd add allow all from any to any via em0эти используются для пользователей
lan=em1 # Net0 на корпусе сервера
wan=em2 # Net1 на корпусе сервера
Люди, подскажите, одного не могу понять.
При такой конфигурации, трафик проходящий через gtcp попадает во все три очереди, в том числе и в очередь с наименьшим весом.
Вопрос1: если трафик встает в очереди 112 и 212 наряду с остальным tcp (напр p2p), то в чем смысл приоритетности очередей 111 и 211?
Вопрос2: если каждый тип трафика в данном примере (gtcp, udp и весь остальной) загонять в предназначенную им соответствующую очередь по одному разу, то каким образом будет работать приоритетность хождения пакетов?
> При такой конфигурации, трафик проходящий через gtcp попадает
> во все три очереди, в том числе и в очередь с наименьшим весом.
> Вопрос1: если трафик встает в очереди 112 и 212 наряду с остальным
> tcp (напр p2p), то в чем смысл приоритетности очередей 111 и 211?Цель в том, чтобы он попадал только в свою очередь. Если у Вас по результатам тестов оказывается, что этот трафик попал во все три очереди, то конфигурацию надо изменить. Возможно здесь имеет действие sysctl one_pass (полное имя не помню, я Яндексе или в man ipfw найдёте).
> Вопрос2: если каждый тип трафика в данном примере (gtcp, udp и
> весь остальной) загонять в предназначенную им соответствующую
> очередь по одному разу, то каким образом будет работать
> приоритетность хождения пакетов?Трафик всех трёх очередей оказывается в одном канале (трубе pipe) с установленной в конфигурации шириной полосы. В данном примере 95 мегабит. Теперь dummynet будет расчитывать ширину полосы для каждой очереди исходя из количества очередей и их весов. Точного алгоритма я не знаю, но думаю для первого приблежения можно предположить например такой:
Создаём на каждый абонентский IP-адрес по динамической очереди для каждого класса трафика. Получаем например 4900 динамических очередей. Допустим к абонентам (download) их будет 2900. Все 2900 динамических очередей оказываются в одной трубе (канал pipe). Складываем все веса. В примере это 2+3+4=9. Принимаем условное число 9 за 100% ширины канала, которая равна 95 мегабит. Дальше пропорция - трафику с весом 2 отдать 2/9 канала, трафику с весом 3 отдать 3/9 канала, трафику с весом 4 отдать 4/9 канала. Потом берём каждую получившуюся часть трубы и делим на количество активных очередей этого класса в трубе. Например в 2900 очередей в конкретный момент времени оказалось 1000 очередей класса 2, 1000 очередей класса 3 и 900 очередей класса 4. Тогда 95 мегабит умножить на 2/9 и разделить на 1000 даст ширину полосы в мегабитах для траффика класса 2 каждого абонента 0,0211111111111111 мегабит (21,11111111111111 килобит), если я в расчётах не ошибся. Аналогично и для остальных классов.