Wireless QoS
O objetivo deste primeiro post no blog do MBC é falar sobre um tópico muito importante e crítico em qualquer implantação de rede sem fio, o Quality of Service (QoS).
By WELLINGTON ASSIS
Fala pessoal, tudo certo? Aqui é o Wellington Assis, especialista em mobilidade e um dos integrantes do MBC.
O objetivo deste primeiro post no blog do MBC é falar sobre um tópico muito importante e crítico em qualquer implantação de rede sem fio, o Quality of Service (QoS).
Normalmente algumas pessoas podem pensar que a rede Wireless é apenas instalar e que por si só deverá funcionar sozinha, sem apresentar qualquer problema, mas como sabemos isso é bem diferente no dia a dia, pois o processo de implantação em ambientes corporativos envolve uma série de estudos, começando pelo levantamento de requisitos, Site Survey, instalação e configuração dos equipamentos e ajustes finos necessários em qualquer implantação.
Entre essas fases citadas, temos a de levantamento de requisitos, onde normalmente já procuramos saber quais aplicações deverão ser utilizadas no ambiente, aplicações estas que podem ser desde apenas dados, mas também de voz e vídeo, e é aí que entra a importância do QoS, para justamente diferenciar esse tráfego durante o processo de transmissão de um dado utilizando à rede sem fio.
Para entender o funcionamento do QoS em redes wireless, devemos primeiramente ter visibilidade do funcionamento básico de uma rede sem fio, que é justamente o fato de trabalhar em half-duplex, fazendo com que o dispositivo tenha que aguardar a disponibilidade do meio físico antes da transmissão de um dado, evitando ao máximo possíveis colisões durante as transmissões. Para este processo, basicamente o equipamento aguarda um tempo padrão, chamado de Contention Window/Backoff Timer e representado na imagem abaixo, antes de verificar a disponibilidade do meio físico para efetuar a sua transmissão e apenas após ter certeza que este se encontra livre, realiza a transmissão do dado.
Conforme podemos identificar na imagem acima, este tempo varia de acordo com o número de tentativas de transmissão de um equipamento, ou seja quanto mais o meio físico estiver congestionado mais tempo o dispositivo terá que aguardar antes de efetuar a sua transmissão.
Então como efetuar a priorização de um tráfego na rede wireless sabendo que cada equipamento irá verificar o meio, aguardar um tempo, verificar novamente e se estiver livre, daí sim transmitir o seu dado? Justamente fazendo com que o tempo padrão de espera seja alterado de acordo com a aplicação a ser utilizada, ou seja permitir ao equipamento verificar diversas vezes se o meio físico está disponível para transmissão, pois este utilizará um tempo menor de contagem com base em sua aplicação.
Para atender essa necessidade, foi criado o protocolo 802.11e (QoS over Wireless) que estabelece padrões de contagem com base nos tipos de aplicação, conforme abaixo:
- Categorias (Access Categories – AC)
Background (AC_BK): considerada como a mais irrelevante para um tráfego de rede sem fio e normalmente utilizada para configurações em redes de visitantes, de forma a não priorizar qualquer tipo de tráfego vindo dos equipamentos conectados à estas redes.
Best Effort (AC_BE): considerada como a de “Melhor Esforço”, ou seja, utiliza tempos melhores para transmissão se comparados a categoria anterior, e normalmente é usada como um padrão para o tráfego de rede sem fio que venha a ser transmitido sem qualquer marcação.
Video (AC_VI): considerada como a categoria para priorização de tráfego de vídeo, onde os tempos são bem otimizados se comparados as categorias de Background e Best Effort.
Voz (AC_VO): considerada como a categoria mais prioritária devido a sensibilidade do tráfego de voz em redes sem fio, onde os tempos são os mais otimizados possíveis, de forma a permitir que um tráfego de voz com marcação consiga ser transmitido diversas vezes dentro de um período curto de tempo.
Abaixo está a tabela com as categorias e as formulas por categoria junto com o valor de contagem de tempo (Contention Window/Backoff Timer) utilizado pela máquina para aguardar, verificar o meio físico e posteriormente realizar a transmissão do dado utilizando à rede sem fio:
Essas categorias têm marcações específicas nos frames wireless que são chamadas de User Priorities (UP), conforme abaixo:
Conforme, podemos identificar a categoria menos relevante é a de Background e a de mais relevância é a de Voz.
Para classificação desses frames em categorias, basicamente o SO necessita realizar a marcação da aplicação com valores de DSCP e a placa wireless por sua vez irá fazer a conversão dos valores de DSCP para UP e realizar a marcação antes da transmissão, conforme abaixo:
Por isso, faz-se importante que durante a implantação seja solicitado ao cliente que a marcação de DSCP seja realizada diretamente na aplicação de voz ou de vídeo para que o tráfego seja priorizado utilizando os tempos adequados (Contention Window/Backoff Timer) e priorizando assim a transmissão via rede sem fio.
Observo que essas categorias são identificadas diretamente no frame L2 transmitido via rede wireless, onde existe a conversão do valor de DSCP para UP, conforme imagens abaixo:
Na imagem acima, temos um tráfego de RTP sendo enviado do cliente para o AP e sendo priorizado com o valor de DSCP 46 (QoS em redes L3) e o valor de UP 5, mas não se assuste rsrs, pois por padrão o Windows acaba usando a tabela tradicional de DSCP para CoS (QoS L2 em rede cabeada) fazendo com que os valores de UP para um tráfego de Voz com marcação de DSCP 46 seja traduzido para o valor de UP 5. Essa configuração é nativa do sistema operacional e a única forma de alterar é justamente aumentando o valor de DSCP padrão para um valor superior fora do padrão para tráfego de voz (não recomendado, pois o valor de DSCP 46 é utilizado para priorização fim a fim de tráfego de voz em redes L3 tradicionais).
Na imagem acima, temos o tráfego de saída do AP para o cliente, onde podemos identificar o valor de DSCP 46 junto ao UP6, ou seja, o AP honra a tabela de conversão de DSCP para UP.
Na imagem acima, temos o tráfego HTTP sendo gerado por um cliente e enviado ao AP, onde conseguimos identificar que este foi classificado como Best Effort tanto em L3 com o valor zero quanto em L2 com o valor 0.
Na imagem acima, temos o retorno do tráfego vindo do servidor e sendo transmitido do AP para o cliente, onde é possível identificar que também não há a priorização do dado, ou seja este foi tratado como Best Effort.
Ao receber qualquer dado com marcação de DSCP, a placa de rede wireless e o AP também irão avaliar a prioridade desse dado e coloca-lo na frente da fila para transmissão priorizando a contagem e efetuando a marcação de UP no Frame L2 da rede Wireless, conforme imagem abaixo:
É importante termos visibilidade que as marcações são realizadas tanto pelos APs quanto pelos clientes, ou seja, em uma implantação apesar de realizarmos a configuração de marcações diretamente na configuração da controladora wireless (WLC) e APs, isso não faz com que o cliente realize a priorização em sua contagem, ou seja é importantíssimo que a marcação de DSCP seja feita também na máquina, senão estaremos apenas priorizando do AP para a rede cabeada e do AP para o cliente (Downstream) e nunca do cliente para o AP (Upstream) podendo impactar assim na qualidade do serviço, pois este estará sendo tratado como um tráfego qualquer pelo próprio dispositivo e utilizará a política de melhor esforço (Best Effort) fazendo com que um tráfego de voz e vídeo seja tratado da mesma forma que um backup ou um upload muito comum pelos usuários.
Além de tudo isso, ainda temos também as interferências externas (fatores muito comuns em redes wireless), alta utilização dos canais que impactam consideravelmente um tráfego de voz e vídeo, no entanto entre um cenário onde não há priorização nenhuma e um em que há a priorização, com certeza o que há a priorização irá se comportar muito bem, mesmo em cenários adversos.
Como podemos ver, o QoS em redes wireless tem um funcionamento complexo e faz-se importante que esta funcionalidade seja implantada da forma correta e utilizando as priorizações de DSCP indicadas diretamente nas aplicações utilizadas no SO e também na configuração da infraestrutura respeitando as categorias indicadas neste artigo. Dessa forma, tenho total certeza que uma rede wireless implantada utilizando as priorizações adequadas tende a atender todas as necessidades de uma rede sem fio que exija tráfego de voz e vídeo de alta qualidade, mesmo tendo uma série de usuários trabalhando com carga massiva de tráfego de dados, especialmente em cenários de alta densidade.