Logo Hardware.com.br
arthas_dk
arthas_dk Super Participante Registrado
871 Mensagens 29 Curtidas

Dúvida sobre utilização de Qos

#1 Por arthas_dk 19/08/2009 - 10:32
Bom dia a todos,

recentemente recebi a ingrata tarefa de fazer um servidor completo para uma empresa (samba pdc, gpo's, squid, openfire,etc) mas estou com um problema:

Não existe a possibilidade neste caso de fazer com que o servidor fique com a segunda placa de rede recebendo a conexão diretamente e o servidor está distante o suficiente para eu fazer:

ROTEADOR --> SERVIDOR --> REDE

Então a dúvida é:

Além do delay pools no squid seria possível tentar aplicar QoS no restante da rede?
Motherboard G8-IRX (Intel ICH2)
Processador Intel Pentium 4 1.70 GHZ
2GB RAM SAMSUNG DDR 4266
SAMSUNG 20GB
2 x SAMSUNG 40GB
GRAVADORA DE DVD LG H-20N
Geforce FX 5500, 256 MB AGP

SO:

Debian Lenny + Kernel 2.6.25-rt8 | Slackware 12 +Kernel 2.6.25-rt8
sosouteiro
sosouteiro Membro Senior Registrado
308 Mensagens 1 Curtida
#2 Por sosouteiro
21/08/2009 - 19:10
arthas_dk disse:
Bom dia a todos,

recentemente recebi a ingrata tarefa de fazer um servidor completo para uma empresa (samba pdc, gpo's, squid, openfire,etc) mas estou com um problema:

Não existe a possibilidade neste caso de fazer com que o servidor fique com a segunda placa de rede recebendo a conexão diretamente e o servidor está distante o suficiente para eu fazer:

ROTEADOR --> SERVIDOR --> REDE

Então a dúvida é:

Além do delay pools no squid seria possível tentar aplicar QoS no restante da rede?


Cara o delay_pools é uma furada. Você deve usar o programa específico para o controle de banda, o cbq, por exemplo. Usando o cbq você controla a velocidade que quiser para cada computador na rede, com o squid isso não acontece. você pode, por exemplo, determinar que o computador do seu chefe navege a 128Kbps e outro computador pode navegar a 256Kbps, isso usando o cbq. É muito simples a configuração.

Finalizando, não use o delay_pools e sim o cbq ou htb, mas esse segundo eu não sei como configurar.
Sl - 37:5 - Entrega o teu caminho ao Senhor, confia Nele, e o mais Ele fará.

[x] - Debian 5 - Cache-Full - Squid + Thunder 3
[x] - Mikrotik Router OS - MTCNA, to chegando...!
[x] - Sistema Anti-clone em provedores wireless - Mikrotik - VPN + L2TP + IPSec, ESP 3DES + Certificado Digital
arthas_dk
arthas_dk Super Participante Registrado
871 Mensagens 29 Curtidas
#3 Por arthas_dk
25/08/2009 - 10:40
Certo mas é possível tentar fazer controle da banda em um computador que NÃO é o gateway da rede?

Atualmente indiretamente todas as máquinas passam por este servidor já que ele é um proxy.
Motherboard G8-IRX (Intel ICH2)
Processador Intel Pentium 4 1.70 GHZ
2GB RAM SAMSUNG DDR 4266
SAMSUNG 20GB
2 x SAMSUNG 40GB
GRAVADORA DE DVD LG H-20N
Geforce FX 5500, 256 MB AGP

SO:

Debian Lenny + Kernel 2.6.25-rt8 | Slackware 12 +Kernel 2.6.25-rt8
sosouteiro
sosouteiro Membro Senior Registrado
308 Mensagens 1 Curtida
#4 Por sosouteiro
25/08/2009 - 19:34
mas você pode colocar o computador "proxy" como o controlador de QoS, sem nenhum problema e ele pode e, acho que, deve ser o getway da rede.
Sl - 37:5 - Entrega o teu caminho ao Senhor, confia Nele, e o mais Ele fará.

[x] - Debian 5 - Cache-Full - Squid + Thunder 3
[x] - Mikrotik Router OS - MTCNA, to chegando...!
[x] - Sistema Anti-clone em provedores wireless - Mikrotik - VPN + L2TP + IPSec, ESP 3DES + Certificado Digital
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#5 Por jqueiroz
25/08/2009 - 19:59
sosouteiro disse:
Cara o delay_pools é uma furada. Você deve usar o programa específico para o controle de banda, o cbq, por exemplo. Usando o cbq você controla a velocidade que quiser para cada computador na rede, com o squid isso não acontece. você pode, por exemplo, determinar que o computador do seu chefe navege a 128Kbps e outro computador pode navegar a 256Kbps, isso usando o cbq. É muito simples a configuração.

Finalizando, não use o delay_pools e sim o cbq ou htb, mas esse segundo eu não sei como configurar.


Porquê??? de_olho.gif
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
--d@niel--
--d@niel-- Veterano Registrado
1.4K Mensagens 18 Curtidas
#6 Por --d@niel--
26/08/2009 - 09:57
Talvez por causa disto:

There are some limitations of delay pools:

  • delay pools are incompatible with slow aborts; quick abort should be set fairly low to prevent objects being retrieved at full speed once there are no clients requesting them (as the traffic allocation is based on the current clients, and when there are no clients attached to the object there is no way to determine the traffic allocation).
  • delay pools only limits the actual data transferred and is not inclusive of overheads such as TCP overheads, ICP, DNS, ICMP pings, etc.
  • it is possible for one connection or a small number of connections to take all the bandwidth from a given bucket and the other connections to be starved completely, which can be a major problem if there are a number of large objects being transferred and the parameters are set in a way that a few large objects will cause all clients to be starved (potentially fixed by a currently experimental patch).
  • in Squid 3.1 the class-based pools do not work yet with IPv6 addressed clients.
  • In squid older than 3.1 the delay pool bucket is limited to 32-bits and thus has a rather low MB cap on both bucket content and refill rate. The bucket size is now raised to 64-bit 'unlimited' values, but refill rate remains low.


Fonte: http://wiki.squid-cache.org/Features/DelayPools

Pela experiência que eu tive com Delay Pools, um cliente pode "secar" a rede facilmente. Não sei se o CBQ ou o HTB são melhores neste ponto, mas o fato é que o recurso do Squid não me pareceu tão bom. Talvez pudesse melhorar alguma coisa tunando alguns parâmetros.

[]s
Linux, AIX, Solaris, HP-UX... Nada contra quem segue ideologias, mas eu estou nessa porque dá $$$! cap_feceiro.png:
sosouteiro
sosouteiro Membro Senior Registrado
308 Mensagens 1 Curtida
#10 Por sosouteiro
26/08/2009 - 19:48
jqueiroz disse:
Não há. A política de fila deve ser aplicada no gateway da rede, senão não funciona.


Com delay_pools tem com o eu determinar várias velocidades para os usuários? Pelo menos, pelo que eu entendi, até hoje, não teria como. Se tiver, por favor, me diz como faz...

Outra coisa, com o delay_pools eu só consigo filtrar o meu tráfego http, não? Ou seja, se alguém usar uma rede p2p sugará toda a banda para ele, estou errado?
Sl - 37:5 - Entrega o teu caminho ao Senhor, confia Nele, e o mais Ele fará.

[x] - Debian 5 - Cache-Full - Squid + Thunder 3
[x] - Mikrotik Router OS - MTCNA, to chegando...!
[x] - Sistema Anti-clone em provedores wireless - Mikrotik - VPN + L2TP + IPSec, ESP 3DES + Certificado Digital
--d@niel--
--d@niel-- Veterano Registrado
1.4K Mensagens 18 Curtidas
#11 Por --d@niel--
26/08/2009 - 23:28
Então, sosouteiro, a parada é assim:
- Existem 3 classes de delay pools, sendo que a 2 e a 3 permitem controle da velocidade por estação. Como você pode ter vários pools ativos, é perfeitamente possível designar diferentes velocidades para diferentes usuários, ou até para diferentes tipos de tráfego. O controle é baseado em ACLs, então é bastante flexível smile.png
- Visto que o Squid só trata HTTP, HTTPS, FTP e Gopher, todo o restante, assim como todo o tráfego válido que por algum motivo não passar por ele, não estará sujeito ao seu controle. Por isto que nestes casos, quando é possível, o bacana é usar CBQ/HTB, que dá estas possibilidades.

[]s
Linux, AIX, Solaris, HP-UX... Nada contra quem segue ideologias, mas eu estou nessa porque dá $$$! cap_feceiro.png:
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#12 Por jqueiroz
26/08/2009 - 23:38
velocidade não, usuário só tem velocidade quando vc corre atrás dele com um porrete na mão. big_green.png

Falando sério, agora, não dá pra setar uma "velocidade" pra cada usuário, mas dá pra colocar um limite na banda que uma estação pode usar.

Mas dá pra criar grupos de usuários, com delay pools diferentes, e fazer com que alguns tenham mais banda que outros. Eu faço isso no serviço, com os servidores --- estes têm banda liberada, a partir de seus IPs, enquanto o populacho só tem direito a 40KB/s (o diretor-presidente não sabe, mas o Squid coloca ele no "populacho" também).

Quanto ao que você disse, que apenas o tráfego http ser controlado, é a mais pura verdade. Outras aplicações podem tentar sugar a banda toda pra si (e talvez conseguir). Por conta disso, nós proibimos esse tipo de aplicação (pelo menos isso eu consigo fazer --- bloquear P2P).

E pra complicar, o squid, por si só, atrapalha a política de filas, uma vez que ele pega o tráfego http de todos os usuários (que poderia ser classificado por IP de origem), e junta tudo como se viesse do próprio servidor. Resultado: não dá mais pra ter controle de banda por usuário após o squid.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
--d@niel--
--d@niel-- Veterano Registrado
1.4K Mensagens 18 Curtidas
#13 Por --d@niel--
27/08/2009 - 09:17
jqueiroz, não sei se eu entendi 100% o que você disse, mas o que eu sei é que dá pra fazer o controle por usuário, e não só por estação. Basta que as ACLs usadas na atribuição das delay pools sejam do tipo proxy_auth. Aí, dentro delas, você define quem são os usuários ou grupos que fazem parte (se o autenticador usado tratar isto), e coloca as diretivas de acesso mais específicas primeiro, e as mais genéricas por último.

Quanto a ele afunilar o tráfego num IP só, sabemos que isto é normal, mas eu não vejo como algo não contornável. Com um pouco de criatividade nas ACLs e na configuração geral, eu vejo possibilidades de aplicar diferentes critérios para diferentes usuários, hosts ou tipos de tráfego tratados pelo Squid, e ainda conformá-los a um total de banda definido pelo administrador. Se você puder dar um cenário onde isto não pareça ser possível, seria legal para darmos uma "zoiada".

[]s
Linux, AIX, Solaris, HP-UX... Nada contra quem segue ideologias, mas eu estou nessa porque dá $$$! cap_feceiro.png:
sosouteiro
sosouteiro Membro Senior Registrado
308 Mensagens 1 Curtida
#15 Por sosouteiro
28/08/2009 - 01:21
--d@niel-- disse:
jqueiroz, não sei se eu entendi 100% o que você disse, mas o que eu sei é que dá pra fazer o controle por usuário, e não só por estação. Basta que as ACLs usadas na atribuição das delay pools sejam do tipo proxy_auth. Aí, dentro delas, você define quem são os usuários ou grupos que fazem parte (se o autenticador usado tratar isto), e coloca as diretivas de acesso mais específicas primeiro, e as mais genéricas por último.

Quanto a ele afunilar o tráfego num IP só, sabemos que isto é normal, mas eu não vejo como algo não contornável. Com um pouco de criatividade nas ACLs e na configuração geral, eu vejo possibilidades de aplicar diferentes critérios para diferentes usuários, hosts ou tipos de tráfego tratados pelo Squid, e ainda conformá-los a um total de banda definido pelo administrador. Se você puder dar um cenário onde isto não pareça ser possível, seria legal para darmos uma "zoiada".

[]s


Como você falou eu tenho que usar o proxy_auth, então não podemos fazer o controle pelo squid se o tráfego não for autenticado, ou seja, nao transparente?

Mas mesmo podendo fazer esse controle pelo squid eu nunca poderei controlar totalmente o tráfego da rede, diferente do controle de QoS feito pelo CBQ ou HTB, não acha?
Sl - 37:5 - Entrega o teu caminho ao Senhor, confia Nele, e o mais Ele fará.

[x] - Debian 5 - Cache-Full - Squid + Thunder 3
[x] - Mikrotik Router OS - MTCNA, to chegando...!
[x] - Sistema Anti-clone em provedores wireless - Mikrotik - VPN + L2TP + IPSec, ESP 3DES + Certificado Digital
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal