Доброго времени суток. Имеется на данный момент 6 серверов доступа 8ми горшковых Xeon пограничный маршрутизатор и шейпер бридж между ними. Все данное хозяйство работает на FreeBSD 7.0 + ipfw. Абонентский межсегментный трафик гуляет между серверами доступа напрямую не проходя через шейпер а интернет трафик проходит через шейпер бридж и далее попадает на пограничный маршрутизатор и наоборот). На данный момент на шейпер сливается из биллинга UTM5 около 2300 пайпов и более нечего там нет. В последние 2 недели во время пиковых нагрузок т.е. при наибольшем количестве не прокачиваемого трафика а наибольшем количестве активных абонентов(пайпов) начал замечать потери пакетов и задержку пинг 10-20мс между пограничным маршрутизатором и серверами доступа т.е. трафик проходящий через шейпер. Подкинули мне идейку мои Linux-друзьяя о том, что у них шейпинг выполняют сами сервера доступа и политики обработки трафика настроены таким макаром, что межабонентский трафик не шейпится а шейпится только интернет трафик.
Уважаемые Гуру кто из Вас может подсказать как реализовать подобное в IPFW?
Также хотелось узнать как можно оптимизировать количество правил так, чтобы они применялись только к подсетям которые пренадлежат текущему серверу доступа ибо биллинг сливает все пайпы без разбора а хотелось обрабатывать только те которые актуальны для текущего сегмента(сервера доступа) соответственно снизив нагрузку?
P.S. Сервера доступа выполняют функцию РРРоЕ терминатора на базе MPD5.3 и доступ на базе VLAN(для абонентов) и имеют не большое количество статик роутов. NAT работает только на пограничном маршрутизаторе там же и netflow.
может и не совсем в тему, но читал что народ предлагал шейпить с помощью ng_car, говорят гораздо менее ресурсоемко. Вот сходу вроде здесь например есть про это -- http://www.opennet.me/base/net/ng_car_ipfw.txt.html
>может и не совсем в тему, но читал что народ предлагал шейпить
>с помощью ng_car, говорят гораздо менее ресурсоемко. Вот сходу вроде здесь
>например есть про это -- http://www.opennet.me/base/net/ng_car_ipfw.txt.htmlМогли бы Вы посоветовать какую-нибудь полную документацию по ipfw tables и ng_car? Поиски в гугле почемуто не дают ожидаемого результата.
freebsd 7.3, tablearg, net.inet.ip.dummynet.io_fast
>freebsd 7.3, tablearg, net.inet.ip.dummynet.io_fastСпасибо)). А кто чем шейпит? Можете поделится информацией?
>>freebsd 7.3, tablearg, net.inet.ip.dummynet.io_fast
>
>Спасибо)). А кто чем шейпит? Можете поделится информацией?а да, это я по dummynet ключевых слов набросил
>Спасибо)). А кто чем шейпит? Можете поделится информацией?Я шейплю через IPFW/DUMMYNET. Для нарезки фиксированных полос - пайпы. Для "справедливой" дележки общей полосы - динамические очереди с развесовкой.
>>Спасибо)). А кто чем шейпит? Можете поделится информацией?
>
>Я шейплю через IPFW/DUMMYNET. Для нарезки фиксированных полос - пайпы. Для "справедливой"
>дележки общей полосы - динамические очереди с развесовкой.А сколько пайпов на сервере? На каких серверах шейпите? Какой сервер стоит?
>А сколько пайпов на сервере? На каких серверах шейпите? Какой сервер стоит?Самая крупная обслуживаемая мной сеть - это местный университет, 1100+ хостов.
Шейпер крутится на Е5504 с 4Гб ОЗУ, сетевые - три em и две igb. Это не выделенный шейпер, это "все в одном" - и прокси, и нат, и почта и все остальное, кроме хттпд. Шейпер реализует "полусправедливую" дележку - в каждый момент времени все клиенты равного приоритета получают равную долю канала. Уровней приоритета всего два, высший приоритет имеют менее десятка машин.Пайпов в конфиге 12. Динамических очередей - 4к+. Загрузка канала прямо сейчас - 100%. Дамминет в пиках съедает 5-6% одного из четырех ядер. Вот вывод топа:
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
13 root 1 171 ki31 0K 8K CPU0 0 111.6H 99.90% [idle: cpu0]
11 root 1 171 ki31 0K 8K CPU2 2 112.7H 96.97% [idle: cpu2]
10 root 1 171 ki31 0K 8K RUN 3 112.5H 93.70% [idle: cpu3]
12 root 1 171 ki31 0K 8K CPU1 1 113.8H 92.43% [idle: cpu1]
15 root 1 -32 - 0K 8K WAIT 0 41:43 4.20% [swi4: clock sio]
63 root 1 -68 - 0K 8K - 1 98:10 3.86% [dummynet]
14 root 1 -44 - 0K 8K WAIT 0 72:05 1.56% [swi1: net]
28 root 1 -68 - 0K 8K WAIT 3 61:05 1.42% [irq257: igb0]
50 root 1 -68 - 0K 8K WAIT 3 58:30 1.17% [irq265: em1]
27 root 1 -68 - 0K 8K WAIT 2 17:06 0.10% [irq256: igb0]
30 root 1 -68 - 0K 8K - 1 19:17 0.00% [igb0 taskq]
17 root 1 44 - 0K 8K - 0 14:08 0.00% [yarrow]
51 root 1 -68 - 0K 8K WAIT 0 9:20 0.00% [irq266: em1]
49 root 1 -68 - 0K 8K - 0 5:37 0.00% [em1 taskq]
>>Спасибо)). А кто чем шейпит? Можете поделится информацией?
>
>Я шейплю через IPFW/DUMMYNET. Для нарезки фиксированных полос - пайпы. Для "справедливой"
>дележки общей полосы - динамические очереди с развесовкой.Вопрос. А поддерживает ли altq многопроцессорный режим работы? Судя по всему DUMMYNET не поддерживает.
>Вопрос. А поддерживает ли altq многопроцессорный режим работы? Судя по всему DUMMYNET
>не поддерживает.Дамминет поддерживает.
>Дамминет поддерживает.ссылку плз. всегда знал обратное
>
>>Дамминет поддерживает.
>
>ссылку плз. всегда знал обратноеВаша правда. Диспетчер очередей в дамминете сугубо однопоточен by design, судя по исходникам.