URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 67315
[ Назад ]

Исходное сообщение
"Тематический каталог: Почему 3 карточки )"

Отправлено auto_topic , 24-Май-10 19:45 
Обсуждение статьи тематического каталога: Почему 3 карточки )

Ссылка на текст статьи: http://www.opennet.me/base/net/transparent_shaper.txt.html


Содержание

Сообщения в этом обсуждении
"Почему 3 карточки )"
Отправлено Sergey , 24-Май-10 19:45 
Привет. Все-спрошу: почему три карточки? :) Заранее спасибо за ответ.

"'Справедливый' прозрачный шейпер на FreeBSD (transparent bandwidth shaper dummynet queue ipfw freebsd)"
Отправлено NiX , 21-Окт-10 04:31 
Внимательно читай почему 3:
  
em0 используется для доступа к серверу на самом деле задачу можно было разрулить через vlan ;)
$cmd add allow all from any to any via em0

  эти используются для пользователей
lan=em1 # Net0 на корпусе сервера
wan=em2 # Net1 на корпусе сервера


"'Справедливый' прозрачный шейпер на FreeBSD (transparent bandwidth shaper dummynet queue ipfw freebsd)"
Отправлено jiks , 03-Дек-12 15:24 
Люди, подскажите, одного не могу понять.
При такой конфигурации, трафик проходящий через gtcp попадает во все три очереди, в том числе и в очередь с наименьшим весом.
Вопрос1: если трафик встает в очереди 112 и 212 наряду с остальным tcp (напр p2p), то в чем смысл приоритетности очередей 111 и 211?
Вопрос2: если каждый тип трафика в данном примере (gtcp, udp и весь остальной) загонять в предназначенную им соответствующую очередь по одному разу, то каким образом будет работать приоритетность хождения пакетов?

"'Справедливый' прозрачный шейпер на FreeBSD (transparent ban..."
Отправлено Аноним , 20-Апр-15 11:36 
> При такой конфигурации, трафик проходящий через 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 килобит), если я в расчётах не ошибся. Аналогично и для остальных классов.