G.Y.S. Posted March 23, 2006 · Report post ${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 ? Спасибо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
G.Y.S. Posted March 29, 2006 · Report post up, обращаясь к коллетивному разуму)), неужели никто не сталкивался... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stalex Posted January 11, 2007 (edited) · Report post ${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: 16Target 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 January 11, 2007 by stalex Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
-=DOmen=- Posted December 26, 2008 (edited) · Report post Спасибо парни. то что я искал Edited December 26, 2008 by -=DOmen=- Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lanc Posted September 8, 2009 · Report post G.Y.S. какие параметры дали наилучший результат? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...