Jump to content

Recommended Posts

Posted

${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 ?

 

Спасибо.

  • 9 months later...
Posted (edited)
${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 ...

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

Edited by stalex
  • 1 year later...
  • 8 months later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.