[FUGSPBR] Re: [FUGSPBR] ipfw2 e limitação de banda.

Antonio Torres antonio.torres em newspace.net.br
Dom Dez 15 23:05:55 BRST 2002


On Sun, 15 Dec 2002 20:45:22 -0300
Capriotti <capriotti em cee.com> wrote:

> Pois  é, gente...
> 
> Que fiasco essas regras de controle de velocidade, para mim...
> 
> Por algum motivo as regras, do jeito que estão descritas aí embaixo, ficam 
> interrompendo a conexão, e a performance final é deplorável, para quem 
> depende de conexão estável e fluída (para jogo).
> 
> >
> >         ${fwcmd} add check-state
> >
> >         # create a 5.5Kbps limit for CS gammers
> >         ${fwcmd} add pipe 10 udp from any to me 27015 keep-state
> >         ${fwcmd} add pipe 20 udp from me 27015 to any keep-state
> >
> >         ${fwcmd} pipe 10 config bw 5Kbytes/s
> >         ${fwcmd} pipe 20 config bw 5Kbytes/s
> >
> >O objetivo ;e criar uma regra dinêmica para cada pessoa que se conecta 
> >para que cada um só possa usar 5 Kbytes/s de banda, mas não sei até que 
> >ponto está realmente funcionando... Tenho uns resultados estranhos, com 
> >banda ABAIXO do especificado, dentre outros...
> >
> >Fiz algo de errado ou alguém sabe tem algum bug mesmo ?

parefraseando Maxell Smart (agente 86) :
"O velho truque da documentação do ipfw..."

-----
(tirado do man ipfw)
 The pipe and queue configuration commands are the following:
           pipe number config pipe-configuration
-----
note:  "number" é o número *do pipe* e não *de pipes* 


Somente olhando as regras (sem ter realmente acompanhado as mensagens anteriores):

voce criou regras para que *todas* as conexões na porta 27015 compartilhem 5kbps !!!
voce só tem 2 pipes: 1 de entrada e 1 de saida

não sei que jogo é, mas qualquer jogo rodando "em um unico modem de 4800bps" deve realmente ficar lento.


*se* a ideia é ter *um pipe por conexão* as regras deveriam ser muito diferentes:

1 - definir o numero maximo de conexões simultãneas
2 - criar 1 pipe para cada conexão possivel
3 - (aqui está o problema) identificar o IP de cada conexão e criar uma regra para ele.

acho que para fazer isso, somente as regras do ipfw *não são suficientes*; provavelmente vai ser necessario um script que fique acrescentando e removendo regras.

Mais uma nota: UDP, por definição, é 'stateless' ; as opções de 'check-state', 'keep-state' etc. , com UDP, só servem para diminuir, muito pouco, o processamento do ipfw.


[]s

P.S. se voce esta usando o -CURRENT, atenção para os sources: o ipfw2 (userland) ainda está com vários problemas de compatibilidade com a sintaxe do ipfw1, algumas regras acabam sendo "interpretadas" de maneira erronea (voce quer uma coisa e ele acaba 'fazendo outra'), fora, é claro, a documentação

P.P.S. mas *nada que afete a segurança*

-- 
Antonio Torres
antonio.torres em newspace.net.br
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd