Dyr Posted August 23, 2006 Posted August 23, 2006 Задаю клиенту полосу пропускания следующим образом: ipfw add 100 pipe 100 all from any to $ClientIP ipfw add 200 pipe 200 all from $ClientIP to any ipfw pipe 100 config bw 32Kbit/s ipfw pipe 200 config bw 64Kbit/s Проблема: суммарная скорость входящего и исходящего трафика равна не сумме толщины двух труб, т.е. 96Kbit/s, а толщине самой толстой из них, т.е. 64Kbit/s. Проверяли простым способом - скачивали и закачивали одновременно и по очереди. При прекращении, например, скачки, скорость закачки увеличивалась на величину скорости этой скачки. И наоборот. Пример вывода ipfw: root@nas2>ipfw show | grep 172.16.72.5 00400 2453 1493312 pipe 11825 ip from any to 172.16.72.5 00400 2730 2271080 pipe 21825 ip from 172.16.72.5 to any root@nas2>ipfw pipe show 11825 11825: 64.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 0 tcp 67.15.121.40/80 85.259.155.5/4754 13015 9686300 0 0 159 root@nas2>ipfw pipe show 21825 21825: 128.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 0 udp 172.16.72.5/13269 239.255.255.250/1900 14630 8843464 0 0 2 Вопрос: почему так происходит? Вставить ник Quote
zyxman Posted August 29, 2006 Posted August 29, 2006 во первых в таких случаях принято указывать какая OS, желательно какой камень и так далее, вплоть до настроек ядра и загрузки проца. у вас вероятнее всего маленький Hz, поэтому большая погрешность шейпера. Вставить ник Quote
balamutang Posted September 24, 2006 Posted September 24, 2006 Задаю клиенту полосу пропускания следующим образом:ipfw add 100 pipe 100 all from any to $ClientIP ipfw add 200 pipe 200 all from $ClientIP to any ipfw pipe 100 config bw 32Kbit/s ipfw pipe 200 config bw 64Kbit/s Проблема: суммарная скорость входящего и исходящего трафика равна не сумме толщины двух труб, т.е. 96Kbit/s, а толщине самой толстой из них, т.е. 64Kbit/s. Проверяли простым способом - скачивали и закачивали одновременно и по очереди. При прекращении, например, скачки, скорость закачки увеличивалась на величину скорости этой скачки. И наоборот. .... Вопрос: почему так происходит? ну во первых вы пишете так: ipfw add 100 pipe 11825 all from any to $ClientIP ipfw add 200 pipe 21825 all from $ClientIP to any ipfw pipe 11825 config bw 32Kbit/s ipfw pipe 21825 config bw 64Kbit/s а не так как привели выше. чото интуиция мне подсказывает что количество пайпов ограничено 9999 штуками. значит ipfw понимает ваш конфиг так : ipfw add 100 pipe 1825 all from any to $ClientIP ipfw add 200 pipe 1825 all from $ClientIP to any ipfw pipe 1825 config bw 32Kbit/s ipfw pipe 1825 config bw 64Kbit/s из чего следует что у вас получается вместо двух пайпов - один, причем работающий в обе стороны и с шириной 64 Kbit/s. макс кол-во пайпов в манах я не нашел, на практике не проверял. это всего лишь версия. но выглядит очень правдоподобно :) Вставить ник Quote
balamutang Posted September 24, 2006 Posted September 24, 2006 да, кстати о птичках - лучше пишите так: WAN=интерфейс смотрящий на шлюз в инет ipfw add 100 add allow any to any via ${WAN} ipfw add 1010 pipe 1 all from any to $ClientIP out ipfw add 1020 pipe 2 all from $ClientIP to any in чтоб сэкономить производительность шейпера Вставить ник Quote
t0ly Posted September 24, 2006 Posted September 24, 2006 как прочитал первое сообщение сразу же бросилось в глаза то что описал предыдущий оратор Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.