[FUG-BR] PF + ALTQ com PRIQ
Rafael - Gmail
rafajsp em gmail.com
Quarta Fevereiro 28 16:58:21 BRT 2007
Nossa Alessandro, muito obrigado!
Tive lendo o man do pf.conf, e achei o que o HFSC faz
"hfsc Hierarchical Fair Service Curve. Queues attached to an interface
build a tree, thus each queue can have further child queues. Each queue can
have a priority and a bandwidth assigned. Priority mainly controls the time
packets take to get sent out, while bandwidth has primarily effects on
throughput. hfsc supports both link-sharing and guaranteed real-time
services. It employs a service curve based QoS model, and its unique feature
is an ability to decouple delay and bandwidth allocation."
Com certeza você já deve saber disso, mas tive o prazer de postar, pois
alguém um dia vai precisar ... realmente muito bom para o que eu desejo
implementar.
Vou testar e retorno pra lista o resultado.
Att,
Rafael Simão
----- Original Message -----
From: "Alessandro de Souza Rocha" <etherlinkii em gmail.com>
To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
<freebsd em fug.com.br>
Sent: Wednesday, February 28, 2007 4:00 PM
Subject: Re: [FUG-BR] PF + ALTQ com PRIQ
Em 28/02/07, Rafael - Gmail<rafajsp em gmail.com> escreveu:
> Boa tarde,
>
> Estou tentando implementar um esquema de controle de Banda PF + ALTQ e
> somente me interessa priq, pois só quero controle no upload.(Me corrijam
> se
> eu estiver errado)
> Pois bem, andei estudando alguns artigos, o histórico da lista, e o manual
> do PF no qual eu peguei a base para minhas regras, que estão a seguir:
>
> # Controle de banda
> altq on $ext_if priq bandwidth 1Mb queue { trafego_out, normal_out,
> voip_out }
> queue trafego_out priq(default)
> queue normal_out priority 13
> queue voip_out priority 15
>
> # Filtro
> pass out on $ext_if proto tcp from <voip> to any modulate state queue
> voip_out
> pass out on $ext_if proto udp from <voip> to any keep state queue voip_out
>
> Analisando o que acabei de implementar:
>
> # pfctl -vv -sq
> queue trafego_out priq( default )
> [ pkts: 7194 bytes: 815446 dropped pkts: 0 bytes:
> 0 ]
> [ qlength: 0/ 50 ]
> [ measured: 30.7 packets/s, 24.45Kb/s ]
> queue normal_out priority 13
> [ pkts: 0 bytes: 0 dropped pkts: 0 bytes:
> 0 ]
> [ qlength: 0/ 50 ]
> [ measured: 0.0 packets/s, 0 b/s ]
> queue voip_out priority 15
> [ pkts: 0 bytes: 0 dropped pkts: 0 bytes:
> 0 ]
> [ qlength: 0/ 50 ]
> [ measured: 0.0 packets/s, 0 b/s ]
>
> Me parece que estou errando em alguma parte, pois não calcula.
>
> Att,
> Rafael Simão
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
olha este exemplo
# 768kbit upload, using hfsc (78kB/s 624kbit/s max via ftp, pftop
shows 85kB/s or 680kbit/s)
altq on $ext hfsc bandwidth 768Kb qlimit 150 queue { root_out }
# only give out 95% of the bandwidth, this helps improve overall queue
handling, esp latency
queue root_out bandwidth 95% hfsc(linkshare 89% upperlimit 89%)
{oCtl, oAck, oDly, oBrst, oRel, oTput}
# icmp control traffic
queue oCtl bandwidth 16Kb qlimit 15 hfsc( realtime 16Kb
linkshare 16Kb )
# tcp ack traffic
queue oAck bandwidth 32Kb qlimit 150 hfsc( realtime 64Kb
linkshare 32Kb red )
# latency sens traffic
queue oDly bandwidth 160Kb qlimit 50 hfsc( realtime 164Kb
linkshare 160Kb )
# burst-prone traffic (256Kb of realtime for the first 6 seconds,
then drops to 94Kb)
queue oBrst bandwidth 84Kb qlimit 50 hfsc( realtime (256Kb 6000
94Kb) linkshare (192Kb 6000 84Kb) )
# reliable traffic
queue oRel bandwidth 128Kb qlimit 100 hfsc(
linkshare 128Kb ) { oRelTCP, oRelUDP }
queue oRelTCP bandwidth 64Kb qlimit 50 hfsc(
linkshare 64Kb default red )
queue oRelUDP bandwidth 64Kb qlimit 50 hfsc(
linkshare 64Kb)
# throughput-oriented traffic
queue oTput bandwidth 100Kb qlimit 25 hfsc(
linkshare 100Kb red )
### Outgoing Queues on Internal Bridge Interface (from internet to
local) Traffic Conditioning/Shaping
altq on $int hfsc bandwidth 1240Kb queue { root_in }
queue root_in hfsc(linkshare 95%) {iCtl, iAck, iDly, iBrst, iRel,
iTput }
queue iCtl bandwidth 3% qlimit 15 hfsc( realtime 16Kb
linkshare 16Kb )
queue iAck bandwidth 20% qlimit 1000 hfsc( realtime 64Kb
linkshare 64Kb red )
queue iDly bandwidth 20% qlimit 25 hfsc( realtime 128Kb
linkshare 128Kb )
queue iBrst bandwidth 20% qlimit 25 hfsc( realtime (256Kb
8000 128Kb) linkshare (512Kb 8000 128Kb)
queue iRel bandwidth 20% qlimit 150 hfsc( realtime 512Kb
linkshare 256Kb default)
queue iTput bandwidth 10% qlimit 50 hfsc(
linkshare 128Kb
--
Alessandro de Souza Rocha
Administrador de Redes e Sistemas
Freebsd-BR User #117
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Mais detalhes sobre a lista de discussão freebsd