Перейти к содержимому
Калькуляторы

dummynet, sysctl и dynamic pipe - помогите разобраться

${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1

${ipfw} pipe 1 config mask dst-ip 0xffffffff bw 1Mbit/s

${ipfw} add 20 pipe 2 ip from table1 to any out via vlan1

${ipfw} pipe 2 config mask src-ip 0xffffffff bw 1Mbit/s

 

по данным правилам пакеты попадаеющие под правила 10 и 20 dummynet будет генерить pipes (если они имееют разные dst-ip и src-ip соответственно)

 

1. параметр pipe - net.inet.ip.dummynet.hash_size - как написано в мане обозначет размер хэш таблицы (1а. что это?) (по умолчанию) 64 (1б. чего?) И как видно, макс. кол-во pipes которые генерит каждый pipe config mask ______ 0xffffffff как раз равно 64. Если pipe config mask ______ 0xffffffff задан параметр buckets, то размер хэш таблицы будет браться оттуда (1в. верно?)

1г. - dynamic pipe, которые мы видим в ipfw show pipe, имееют ли какое нибудь время жизни?

(скажем по pipe-у, который был создан каким нить src-ip уже не ходит трафик, сколько времени он будет жить)

1д. - очередной ip влетая в ${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1 хочет создать pipe. А у нас уже все 64 pipe созданы при этом по всем идет трафик, что будет? как настраивается?

1е. - очередной ip влетая в ${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1 хочет создать pipe. А у нас уже все 64 pipe созданы при этом НЕКОТОРЫМ dynamic pipe ТРАФИК НЕ ХОДИТ, что будет?как настраивается?

 

 

2. sysctl net.inet.ip.dummynet.max_chain_len: 16

Target value for the maximum number of pipes/queues in a hash bucket.

(2а. не понял я как раз вижу что maximum number of pipes/queues in a hash bucket задается предыдущим параметром (1)

 

The product max_chain_len*hash_size is used to determine the threshold over which empty pipes/queues will be expired even when net.inet.ip.dummynet.expire=0.

2б. а как этот threshold может быть достигнут если количество dynamic pipe не может быть больше чем значение hash_size (задаваемое net.inet.ip.dummynet.hash_size )

 

3. net.inet.ip.fw.dyn_buckets: 256

The number of buckets in the hash table for dynamic rules. Must

be a power of 2, up to 65536. It only takes effect when all

dynamic rules have expired, so you are advised to use a flush

command to make sure that the hash table is resized.

разьясните что значит

4. dynamic pipe - в концепции ipfw - это dynamic rules ?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

up, обращаясь к коллетивному разуму)), неужели никто не сталкивался...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1

${ipfw} pipe 1 config mask dst-ip 0xffffffff bw 1Mbit/s

${ipfw} add 20 pipe 2 ip from table1 to any out via vlan1

${ipfw} pipe 2 config mask src-ip 0xffffffff bw 1Mbit/s

 

по данным правилам пакеты попадаеющие под правила 10 и 20 dummynet будет генерить pipes (если они имееют разные dst-ip и src-ip соответственно)

 

1. параметр pipe - net.inet.ip.dummynet.hash_size - как написано в мане обозначет размер хэш таблицы (1а. что это?) (по умолчанию) 64 (1б. чего?) И как видно, макс. кол-во pipes которые генерит каждый pipe config mask ______ 0xffffffff как раз равно 64. Если pipe config mask ______ 0xffffffff задан параметр buckets, то размер хэш таблицы будет браться оттуда (1в. верно?)

1a элемент хеш таблицы - один поток данных попадающих под маску.

1в верно

 

1г. - dynamic pipe, которые мы видим в ipfw show pipe, имееют ли какое нибудь время жизни?

(скажем по pipe-у, который был создан каким нить src-ip уже не ходит трафик, сколько времени он будет жить)

зависит от того, выставлен ли параметр: net.inet.ip.dummynet.expire=1

если 0 - то правила удаляются если превышен порог:

net.inet.ip.dummynet.max_chain_len: 16

Target value for the maximum number of pipes/queues in a hash

bucket. The product max_chain_len*hash_size is used to determine

the threshold over which empty pipes/queues will be expired even

when net.inet.ip.dummynet.expire=0.

если 1 = ""Lazily delete dynamic pipes/queue <b>once</b> they have no pending traf-

fic."

1д. - очередной ip влетая в ${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1 хочет создать pipe. А у нас уже все 64 pipe созданы при этом по всем идет трафик, что будет? как настраивается?
создается pipы скажем c номерами(bucket'a) 3,3,3,3. в норм ситуаци они были бы 1,2,3,4

ну и трафик по ним ходит в соответствии с bw отдельного pipa. те полностью раздельные bw остаются

 

1е. - очередной ip влетая в ${ipfw} add 10 pipe 1 ip from any to table1 in via vlan1 хочет создать pipe. А у нас уже все 64 pipe созданы при этом НЕКОТОРЫМ dynamic pipe ТРАФИК НЕ ХОДИТ, что будет?как настраивается?
опять таки зависит от: net.inet.ip.dummynet.expire

в норме если не ходит траффика, то и pip'ы нету. особено в случае с icmp пакетами, для которых

ни SYN ни ACK нету. на практике - pipe для icmp живет меньше секунды.

 

2. sysctl net.inet.ip.dummynet.max_chain_len: 16

Target value for the maximum number of pipes/queues in a hash bucket.

(2а. не понял я как раз вижу что maximum number of pipes/queues in a hash bucket задается предыдущим параметром (1)

 

The product max_chain_len*hash_size is used to determine the threshold over which empty pipes/queues will be expired even when net.inet.ip.dummynet.expire=0.

2б. а как этот threshold может быть достигнут если количество dynamic pipe не может быть больше чем значение hash_size (задаваемое net.inet.ip.dummynet.hash_size )

как показали тесты на freebsd6.1, вполене может быть больше bucket's чем задано. в тестовом варианте

доходило до 80-90 при ограниченни в 64. и при превышеннии buckets 64 вроде бы более аггресивно удалялись динамические pip'ы

3. net.inet.ip.fw.dyn_buckets: 256

The number of buckets in the hash table for dynamic rules. Must

be a power of 2, up to 65536. It only takes effect when all

dynamic rules have expired, so you are advised to use a flush

command to make sure that the hash table is resized.

разьясните что значит

см ниже
4. dynamic pipe - в концепции ipfw - это dynamic rules ?
dynamic rules относятся к конструкция keep-state ...

насколько я понимаю

Изменено пользователем stalex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо парни. то что я искал

Изменено пользователем -=DOmen=-

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

G.Y.S. какие параметры дали наилучший результат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.