Jump to content

Recommended Posts

Posted

Задаю клиенту полосу пропускания следующим образом:

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

Вопрос: почему так происходит?

Posted

во первых в таких случаях принято указывать какая OS, желательно какой камень и так далее, вплоть до настроек ядра и загрузки проца.

 

у вас вероятнее всего маленький Hz, поэтому большая погрешность шейпера.

  • 4 weeks later...
Posted
Задаю клиенту полосу пропускания следующим образом:

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.

 

макс кол-во пайпов в манах я не нашел, на практике не проверял. это всего лишь версия. но выглядит очень правдоподобно :)

Posted

да, кстати о птичках - лучше пишите так:

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

чтоб сэкономить производительность шейпера

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 и с Политикой конфиденциальности.