[FUG-BR] PF/AltQ/CBQ limita velocidade, mas nao o suficiente

Marcelo/Porks marcelorossi em gmail.com
Sábado Outubro 20 16:14:17 BRST 2007


Mandei a mensagem dia 17, mas estavamos com problemas na lista e creio
que ela não chegou... Então tá ai:

Pessoal, não marquei como OFF Topic, pois implantei há 2 anos esse
mesmo esquema num debian e funcionou, portanto acho que é algo com o
PF/AltQ no FreeBSD.

Ah.. se as linhas estiverem quebrada no e-mail (80 colunas), vocês
podem le-lo no endereço:
http://www.mii.com.br/freebsd_pf_altq_cbq.txt

Estou implantando um controle de banda aqui, mas não está funcionando
conforme o planejado.

Estou usando PF com CBQ, vejam minhas regras no pf.conf:
----------------------------
[root at mt /]# cat /etc/pf.conf | grep queue
altq on $IF_Ext1 cbq bandwidth 512Kb queue { ce, pe, resto }
queue resto bandwidth 400Kb cbq (default)
queue ce bandwidth 5.6Kb cbq
queue pe bandwidth 5.6Kb cbq
pass in log on rl1 from $Usr_PE to any keep state queue pe
pass in log on rl1 from $Usr_CE to any keep state queue ce
[root at mt /]#
----------------------------
usando o tcpdump -i pflog0 -ttt eu consigo ver que os pacotes estão
entrando na fila:
----------------------------
000000 IP ce.xxxx.com.br.57852 > mt.xxxx.com.br.domain:  25851+[|domain]
000889 IP ce.xxxx.com.br.61638 > mt.xxxx.com.br.domain:  25852+[|domain]
000648 IP ce.xxxx.com.br.62900 > xxxx.http: S 1052851878:1052851878(0)
win 65535 <mss 1460,nop,wscale 1,[|tcp]>
----------------------------
Obs: essas três linhas acima aparecem no pflog0 imediatamente após eu
iniciar o download no host em questão (comando fetch)

na fila 'ce' a velocidade é de 5.6Kb/s (kilobits por segundo)
mas olhem só a velocidade que eu faço download:
----------------------------
[root at ce /]# fetch http://www.xxxxx.com.br/aaaa/YYYY.wce5.Apache.ARMV4.CAB
YYYY.wce5.Apache.ARMV4.CAB                       4% of 6685 kB    9 kBps 10m46s
YYYY.wce5.Apache.ARMV4.CAB                       8% of 6685 kB 8945  Bps 11m45s
YYYY.wce5.Apache.ARMV4.CAB                      12% of 6685 kB 8515  Bps 11m45s
YYYY.wce5.Apache.ARMV4.CAB                      16% of 6685 kB 8465  Bps 11m17s
YYYY.wce5.Apache.ARMV4.CAB                      20% of 6685 kB 8504  Bps 10m43s
YYYY.wce5.Apache.ARMV4.CAB                      25% of 6685 kB 8396  Bps 10m09s
YYYY.wce5.Apache.ARMV4.CAB                      30% of 6685 kB 8392  Bps 09m29s
YYYY.wce5.Apache.ARMV4.CAB                      35% of 6685 kB 8394  Bps 08m47s
YYYY.wce5.Apache.ARMV4.CAB                      40% of 6685 kB 8353  Bps 08m04s
----------------------------
Ou seja, o download vem a 8 KB/s, portando 64 kilobits por segundo

A saida do meu 'pfctl -vv -sq' mostra que a velocidade da fila 'ce'
está em 5.25 kb/s (kilobits por segundo):
----------------------------
[root at mt /]# pfctl -vv -sq
queue root_ed0 bandwidth 512Kb priority 0 cbq( wrr root ) {resto, ce, pe}
 [ pkts:      10359  bytes:    1142088  dropped pkts:      0 bytes:      0 ]
 [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
 [ measured:    10.9 packets/s, 5.92Kb/s ]
queue  resto bandwidth 400Kb cbq( default )
 [ pkts:       5137  bytes:     795819  dropped pkts:      0 bytes:      0 ]
 [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
 [ measured:     1.0 packets/s, 646.44 b/s ]
queue  ce bandwidth 5.60Kb
 [ pkts:       5183  bytes:     342334  dropped pkts:      4 bytes:    264 ]
 [ qlength:   6/ 50  borrows:      0  suspends:    109 ]
 [ measured:     9.9 packets/s, 5.25Kb/s ]
queue  pe bandwidth 5.60Kb
 [ pkts:         39  bytes:       3935  dropped pkts:      0 bytes:      0 ]
 [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
 [ measured:     0.1 packets/s, 29.25 b/s ]
----------------------------

Alguém tem idéia do porque o pfctl diz que a fila está na velocidade
de 5.25kbps, mas no host em questão o download é feito a 64kbps?
Sendo que os pacotes do host realmente entram na fila 'ce'?


Ah.. e se eu mudar no pf.conf:
queue ce bandwidth 5.6Kb cbq

para:
queue ce bandwidth 50.6Kb cbq

A velocidade do donwload vai para mais de 30kB/s, ou seja: mais que
240 kilobits por segundo.

Valeu, pessoal.

-- 
Marcelo Rossi
"This e-mail is provided "AS IS" with no warranties, and confers no rights."


Mais detalhes sobre a lista de discussão freebsd