[FUG-BR] ajudinha Pf+altq+hfsc+muitas regas de forma equalizada

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Sexta Dezembro 12 11:54:36 BRST 2008


renato martins escreveu:
> Pessoal alguem aqui na lista poderia me dar uma ajuda no altq+hfsc
> 
> ja procurei no histórico da lista e no google milhares de vezes mas sempre
> encontro os mesmos exemplos simples com 4 ou 5 filas desta forma eu já uso a
> muito tempo , mas agora eu preciso de implementar umas 200 filas divididas
> em 4 interfaces pois utilizo ipfw no free e cbq com linux e esses linuxs
> penso em trocando por bsd mas precisaria de um esquema de distribuição de
> link de forma que todos os hosts não fiquem sem link (o velho problema de
> fifo).
> 
> 
>  Sei que a solução deve ser algo com pf+altq+hfsc ou outro agendador , só
> preciso de uma exemplo com muitas fila de forma que seja feita uma
> distribuição justa mesmo em filas com velocidades diferentes e prioridades
> diferentes por estarem em outro plano sem o problema do estouro do link
> total que 'e muito comum no pf+altq+hfsc quando colocamos mais do que temos
> na fila oque não acontece com ipfw pois eles não sabe quanto tem de link, só
> sabe que tem que reduzir o link mas por outro lado ele também não faz o qos
> (bom eu não sei fazer qos com ipfw) .
> 
> 
>  Peço ao pessoal da lista uma ajudinha para que já passou por isso e tenho
> certeza que como eu muitos outros usuários aqui da lista sambem passam por
> isso.
> 
> 
>  Muito obrigado a todos que puderem me ajudar
>

Era um vez, uma tremenda solução de enfileiramente alternativo de 
pacotes em kernel chamado ALTQ, criado/mantido pelo projeto KAME. Nesse 
projeto, dois individuos, Stiliads e Varna viram a possibilidade de ter 
em código sua disciplina de enfileiramento justo de pacotes, WFQ; e o 
KAME colocou WFQ no ALTQ.

Era um vez a Cisco, que viu que viu que prioridade era legal mas 
inadequado e muitas situações. E dois funcionários da Cisco, Hui Zang 
(zhang, sei la) e John Bennett, criaram uma variação mais legal do WFQ, 
o WF2Q+, e colocaram e roteadores Cisco.

Era uma vez o OpenBSD que resolveu colocar ALTQ na base e "monopolizar" 
a tecnologia associando-a ao seu firewall. Era uma vez o OpenBSD que ao 
portar o ALTQ, colocou o PRIQ e o CBQ que são quase inúteis quando se 
tem o HFSC, e incluiu o HFSC, mas não incluiu o WFQ, ou seja perdeu 
metade das melhores coisas que o ALTQ  oferecia (que na minha opinião 
vale pelo HFSC e o WFQ). Ai o povo do Open achou flowvalve, o BLUE e o 
FIFOQ eram também recursos dispensáveis e não incluiu. Aproveitaram e 
dispensaram também o LOCALQ, o JOBS e o CDNR Ou seja o ALTQ q passamos a 
ter não era metade do que era o original.

Era um vez outros BSD (FreeBSD, DfBSD e NetBSD) que acharam legal o que 
o OpenBSD fez e passaram a ter PF e ALTQ. Assim sendo passaram a ter 
seus drivers escritos para suportar o ALTQ integrado ao PF e o ALTQ 
original passou a não pode ser mais usado em sistemas BSD de produção. 
Alguns desenvolvedores ficaram putos porque não seria mais possível ter 
o ALTQ de verdade nesses sistemas e só teríamos um ALTQ "amputado" com o 
PF. Porém ALTQ não estava na base e o projeto KAME nunca mantinha 
up-to-date com os sistemas mais recentes (ja estavamos no FreeBSD 5 e o 
ALTQ só rodava no 4...), ou seja o Core Team arbitrou e decidiu que o 
pf/ALTQ entrava na base.

Era uma vez eu, que adorava o altq.conf, e que acredito, com o Chris 
(Giese, Skywalker), talvez fossemos os poucos que usavam intensamente a 
bagaça; e não sei quanto ao Chris mas enquanto todos ficavam felizes por 
ter o ALTQ no PF eu ficava puto, e hoje sou saudosista.

Era uma vez o Luigi Rizzo que em sua tese de doutorado implementou a 
única versão Open Source funcional do WF2Q+, no Dummynet. O que você 
quer, Renato, você consegue com WF2Q+ de forma fácil:

http://www.fug.com.br/historico/html/freebsd/2008-04/msg00877.html

Porém, consegue também com HFSC, impondo condições valores constantes e 
proporcionais pra realtime e upperlimit por queue; caso em que a 
primeira coisa é alterar o máximo de filas (HFSC_MAX_CLASSES) em 
/usr/src/sys/contrib/altq/altq/altq_hfsc.h, exemplo de uso em:

http://www.nnseek.com/e/comp.unix.bsd.freebsd.misc/pf_altq_hfsc_queuing_problems_239481984t.html

Boa sorte.



-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd