QoS: Definindo prioridades

Inicialmente disponível apenas em firmwares alternativos como o DD-WRT e em roteadores enterprise, o QoS tem passado a estar disponível também em um número crescente de roteadores de consumo. O QoS, ou “Quality of Service” permite definir prioridades de acesso, fazendo com que chamadas do Skype e jogos multiplayer tenham prioridades sobre o bittorrent por exemplo. O QoS é útil sobretudo em redes com muitos clientes e se bem utilizado pode melhorar sensivelmente a qualidade da conexão, reduzindo a necessidade de um link mais rápido. Embora este tópico seja baseado nas opções do DD-WRT, os fundamentos podem ser aplicados em outras situações de uso, onde a lógica de configuração será sempre fundamentalmente a mesma.

A grande vantagem de usar o DD-WRT nesse caso é que ele pode ser instalado em um grande número de APs e roteadores de baixo custo (hoje em dia ele é compatível até mesmo com muitos modelos da TP-Link e outros fabricantes menos consagrados) e permite que você tenha sempre as mesmas opções à disposição, diferente dos módulos proprietários dos fabricantes, que mudam de acordo com a família e modelo.

Começando do básico, o DD-WRT permite que você estabeleça regras de tráfego baseadas em três fatores:

a) Serviços de rede: A configuração mais comum, onde você pode indicar diretamente um serviço de rede (Skype, Bittorrent, etc.). A interface oferece regras pré-programadas que já incluem a configuração de portas necessária. Esta é a configuração mais usada e as regras podem ser aplicadas automaticamente para toda a rede, fazendo com que as chamadas do Skype ou partidas multiplayer do Left 4 Dead tenham prioridade sobre transferências P2P por exemplo.

b) Endereço IP, máscara ou endereço MAC: É possível também criar regras complementares, baseadas em endereços IP, máscara de sub-rede ou endereços MAC, limitando ou priorizando o tráfego de um determinado endereço ou faixa de endereços da rede, independentemente de qual tipo de tráfego seja utilizado. Isso permite que você segmente a rede, dando prioridade para determinados segmentos (funcionários trabalhando, por exemplo) em detrimento de outros (visitantes, etc.).

c) Porta Ethernet: Nos modelos que oferecem um switch integrado, é possível também criar regras com base em portas ethernet específicas, afetando todos os PCs conectados a um switch ou dispositivos conectados a um outro ponto de acesso, por exemplo. A vantagem de criar regras com base em portas em vez de endereços é que você elimina a possibilidade de que os clientes bipassem as regras modificando os endereços. Uma observação é esta função funciona apenas em modelos baseados no chipset ADM6996L e alguns poucos outros chipsets.

O primeiro passo para configurar o QoS é estabelecer limites gerais para o uso da banda. Isso permite que o QoS tenha espaço para respirar, ficando sempre com uma percentagem do link livre para uso imediato: 

 

A recomendação geral é que você especifique um valor (em kbits) equivalente à 85% da velocidade da conexão. Se você tem um link com 8 megabits de download e 1 megabit de upload por exemplo, o cálculo recomendável seria:

Downlink: 8 * 1028 * 0.85 = 6953 kbps
Uplink: 1 * 1024 * 0.85 = 870 kbps

Naturalmente, o cálculo deve levar em conta as velocidades reais e não os valores prometidos pela prestadores de serviços. Se você tem uma conexão de “2 megabits” que na prática oferece apenas 500 kbps, então o cálculo deve ser aplicado aos 500 kbps.

Pode parecer contra-produtivo já começar a configuração do QoS limitando a velocidade da conexão (afinal, a ideia seria melhorar a velocidade e não reduzi-la) mas esta é a única forma de fazer o QoS funcionar adequadamente. Toda a ideia por trás da operação do QoS é que o gargalo da rede passe a ser o roteador, onde as regras podem ser aplicadas e o tráfego priorizado. Se o gargalo passa a ocorrer em outro ponto da rede (sobre o qual o sistema não tem controle) as regras deixam de funcionar. O princípio é justamente sacrificar um pequeno percentual da banda da rede em troca de um uso mais eficiente da conexão e priorização das tarefas mais importantes, como no caso do Skype e outros serviços VoIP, onde o mais importante é a latência e não a velocidade da conexão.

Para o QoS, é mais importante limitar a taxa de upload do que de download, já que é mais fácil limitar a velocidade em que as requisições saem do que tentar limitar a velocidade com a qual os dados voltam (que depende do servidor remoto e do link do provedor). Depois de testar os limites por algum tempo e ver que o QoS está funcionando corretamente, você pode experimentar aumentar o percentual da taxa de download para 90 ou mesmo 95% da velocidade da conexão, mantendo apenas o upload nos 85%. Na maioria dos casos, o QoS continuará tendo espaço para fazer seu trabalho, mas você não precisará sacrificar um percentual tão grande do link.

O DD-WRT inclui uma série de filtros L7 pré-configurados, que permitem criar rapidamente regras para a maior parte das aplicações. Em vez de serem baseados em uma simples faixa de porta ou outra regra estática, os filtros L7 atuam monitorando o fluxo de dados e buscando por padrões de uso relacionados a cada aplicativo. Graças a isso, eles são muito difíceis de burlar do lado do cliente, acabando com os problemas em limitar o tráfego de protocolos “rebeldes”, que são muito difíceis de limitar por outros meios, como no caso do Edonkey. Você pode ver uma lista de portas e definições de vários aplicativos, bem como regras L7 para eles no http://protocolinfo.org/wiki/List_of_protocols.

De volta à configuração, a opção “Port” permite definir se as regras serão aplicadas apenas à conexão com a Internet (WAN) ou se as regras devem ser aplicadas de forma geral a todas as portas, incluindo as transferências dentro da rede (LAN & WAN). Naturalmente, na grande maioria dos casos você vai preferir usar a opção “WAN”, já que não existirá um bom motivo para limitar a velocidade do acesso a compartilhamentos de rede, impressoras e outros recursos da rede. A exceção ficaria por conta de situações onde a velocidade da rede wireless é muito baixa (muitos clientes conectados, muitos repetidores, etc.) e você quer limitar a velocidade da rede local para priorizar o tráfego de Internet. 

 

A opção “Optimize for Gaming” é uma opção antiga, que inclui uma lista pré-programada com alguns jogos obsoletos, ela não é muito efetiva e deve ser removida em futuras versões. Caso queira otimizar para jogos, especifique o título manualmente (caso ele esteja presente na lista) ou crie uma nova classificação informando as portas usadas por ele.

Finalmente, temos o nível de prioridade do tráfego aplicado a cada regra:

Bulk: Esta é a prioridade mais baixa. Caso a rede esteja livre, os aplicativos com tráfego classificado dentro da regra podem usar até 100% da banda da rede (os valores definidos nas opções Downlink e Uplink) mas assim que outros tipos de tráfego com maior prioridade precisarem de banda, o tráfego Bulk é automaticamente limitado, podendo ficar com apenas 1.5% da banda total. O Bulk é recomendável para aplicativos P2P, downloads e (se a intenção for desestimular o uso da conexão para passatempos) streaming de vídeo.

Standard: É o nível seguinte de priorização, onde os clientes tem garantido 10% da banda da rede, mas também podem utilizar até 100% caso a rede esteja livre, ou esteja sendo utilizada por tráfego categorizado como Bulk. Esta regra é recomendável para a maioria dos protocolos, incluindo tráfego http de uma forma geral.

Express: Esta regra oferece um bom nível de priorização, adequada para acesso a webmails, protocolos de acesso remoto e assim por diante. Além de priorizar sobre as duas categorias anteriores, ela garante que os clientes disponham de pelo menos 15% da banda da rede, independentemente da situação.

Premium: Esta é a categoria máxima, que garante tratamento especial em detrimento de todos os outros tipos de tráfego. Ela deve ser utilizada apenas para aplicações onde uma boa latência é essencial e que consomem pouca banda da rede, como no caso da maioria dos jogos multiplayer e serviços de VoIP. Ela deve ser usada com parcimônia, uma vez ela garante 75% da banda da rede, de forma que se um dos serviços priorizados passar a consumir muita banda, ele poderá deixar a rede extremamente lenta para todos os demais.

Exempt: Esta regra permite especificar exceções, serviços que poderão acessar a rede diretamente, usando toda a banda suportada pelo link, sem se preocupar com os 85% da velocidade setados no Uplink/Downlink e outros detalhes. Ela pode ser utilizada caso você queira reservar a possibilidade de fazer downloads usando toda a velocidade do link em um PC específico, por exemplo, mas tenha em mente que o QoS essencialmente deixará de funcionar nos momentos em que fizer isso.

Um bom conjunto de regras deve especificar tanto as tarefas e aplicativos que você deseja priorizar, como no caso de VoIP, administração remota e jogos multiplayer (Express ou Premium), e também regras para os que deseja desestimular, como no caso do P2P (Bulk). Todos os demais receberão por default uma prioridade mediana, entre os dois extremos:

 

Uma observação importante é que as regras L7 pré-programadas consomem muita memória, o que é um problema nos aparelhos com apenas 8 MB de memória RAM. No caso deles, tente limitar o número de regras e liberar o máximo de memória RAM possível desativando serviços que não forem essenciais. De outra forma, você pode ter problemas de desempenho ou mesmo estabilidade, com o roteador arriando em situações de tráfego intenso. De uma forma geral, é recomendável usar modelos com 16 MB ou mais de RAM (consulte no http://www.dd-wrt.com/site/support/router-database) quando desejar fazer uso intenso das regras de QoS, sobretudo em redes com vários clientes.

Além das regras L7 pré-estabelecidas, Você pode criar novas regras manualmente usando o “Add/Edit Service”, especificando as portas utilizadas pelo aplicativo ou protocolo desejado. Estas regras manuais oferecem a vantagem de não consumirem muita memória RAM, o que as torna uma opção útil nos modelos com apenas 8 MB. 

 

Continuando, temos as regras baseadas em faixas de endereços IP e endereços MAC, que permitem enquadrar máquinas ou faixas específicas. Para enquadrar uma faixa, especifique a faixa (terminando com zero) e a máscara (24). Para enquadrar um único endereço, especifique o endereço com a máscara “0”. Neste exemplo, temos uma rede dividida em duas faixas (192.168.1.x e 192.168.0.x), sendo que o endereço 192.168.1.10 está liberado para navegar sem a aplicação das regras e a faixa 192.168.0.x fica apenas com as sobras da banda, entrando na categoria bulk:

 

Da mesma forma, você pode criar regras baseadas em endereços MAC, mas só são realmente úteis caso os usuários não tenham muito conhecimento sobre a configuração da rede, já que é fácil modificar o endereço MAC da placa via software.

A terceira opção, “Ethernet Port Priority” é bem útil, já que permite limitar a banda usada por cada porta, permitindo que você segmente a rede, ligando cada faixa a uma porta específica e crie limites de tráfego para cada uma rapidamente. O grande problema é que esta opção está disponível apenas em alguns poucos modelos (basicamente, algumas séries dentro da família WAG54G), o que faz com que o uso seja muito limitado.

Concluindo, além de permitir racionalizar o uso da banda uma uma conexão compartilhada entre vários usuários, ou entre várias atividades que não se combinam (torrents e jogos multiplayer, por exemplo), o QoS pode ser usado para limitar o uso de banda em seções específicas da rede.

Imagine por exemplo que você quer oferecer acesso básico à web para visitantes, sem com isso comprometer a segurança da rede nem muito menos dar condições para que algum visitante abusado consumisse toda a banda baixando 30 torrents simultaneamente. Uma solução simples seria instalar um roteador wireless extra com o DD-WRT, configurado para limitar a banda dos usuários a apenas uma fração da velocidade total do link (basta usar as opções “Uplink” e “Downlink” para criar uma limitação geral para todos os clientes conectados ao roteador), usando uma faixa diferente de endereços, e configurado para bloquear o acesso dos clientes públicos à parte privada da rede.

Se você tem um link de 8 megabits, por exemplo, os clientes da parte pública da rede poderiam ficar limitados a 1 megabits por exemplo, o que já é mais do que suficiente para acesso básico (bem mais rápido que uma típica conexão 3G de terceiro mundo) mas não para atrapalhar o acesso dos demais clientes. 

 

Se a rede principal foi configurada para utilizar a faixa 192.168.1.x, por exemplo, a rede pública pode utilizar o 192.168.2.x. Basta conectar o roteador wireless ao roteador principal através da porta “WAN” e configurá-lo da forma usual para re-compartilhar a conexão via NAT. Para garantir a segurança, você (no próprio roteador wireless com o DD-WRT) criaria regras de firewall para bloquear o acesso a endereços da faixa 192.168.1.x, evitando assim que clientes da parte pública possa acessar a parte privada da rede, sem contudo precisar fazer modificações ou criar regras adicionais no roteador principal.

Opcionalmente, você pode ativar o módulo do NoCatSplash no DD-WRT para criar uma página de boas-vindas para os visitantes, com a marca da empresa e outras informações que achar pertinentes. Ela funciona da mesma forma que as páginas de aviso que muitas operadoras de telefonia utilizam para as conexão 3G, onde o primeiro acesso é direcionado para a página de aviso e a partir daí o cliente pode navegar normalmente.

 

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X