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

Capriotti capriotti em fugspbr.org
Seg Dez 16 11:03:14 BRST 2002


(hehehehe, o velho truque da documentação ? hehehe)

Pô ! Eu realemente me apliquei na documentação !

Tanto é que descobri que existe um

net.inet.ip.fw.dyn_udp_lifetime (conteúdo dessa variável é em segundos)

e isso é usado exclusivamenta para regras dinâmicas, portanto 
obrigatoriamente utilizando o keep-state/check-state. Mas eu concordo, UDP 
é stateless sim. Agora, como explicar isso existir E funcionar no ipfw (1 e 
2, com o mesmo comportamento) eu não sei.


Eu realmente não havia atentado para o fato de que a sintaxe de um pipe 
pode ter duplo sentido, ou seja, todos estarem compartilanhdo o mesmo pipe, 
muito embora eu acho que não seja verdade pelo seguinte:

o comando ipfw pipe list (para ipfw2) ou ipfw pipe show (para ipfw1) mostra 
realmente um pipe para cada conexão !

Vejamos:

00010:  40.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     10.249.61.85/2863   200.174.147.10/27015   10      426  0    0   0

00020:  40.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   200.174.147.10/27015  24.126.211.218/3680  25945  3699591  0    0 694


Ao qu eme parece os pipes estão lá, dinâmicos (eles REALMENTE desaparecem 
depois de algum tempo), mas é estranho que tenha esses "soluços"  de 
conexão, *E* também, porque diabos ele diz que está fazendo a limitação a 
40.000 Kbits/s ? Ou será que eu estou interpretando errado ?

Ainda em tempo: O jogo em questão é o Counter-Strike, e a performance de 
rede tem que ser muito limpa.



At 10:05 PM 12/15/2002, you wrote:
>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.

_______________________________________________________________
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