Sunday, August 26, 2012

Roaming - A razão de existir das Redes Wireless


Mobilidade ou roam é o que se espera das redes wireless. Apesar de que muitos usuários em um ambiente corporativo mantem-se em sua baia ao longo do dia e pode estar usando a rede wireless, o verdadeiro sentido das redes wireless é a mobilidade.
  Podemos considerar que ainda pode ser discreta a utilização das redes wi-fi por dispositivos como celulares e tablets em ambientes corporativos para fins profissionais, afinal, até para notebooks ainda é,mas isso tende a mudar rapidamente.
  Porém, o que dizer quando alguém reclama que não consegue levar seu notebook de sua baia até a sala de reunião sem perder sua conexão com a rede, isso em um ambiente onde roam deveria estar funcionando. A suspeita sempre recai sobre a infra-estrutura wireless e o analista será cobrado cedo ou tarde. Porém, o que poucos sabem é que isso nem sempre é problema da infra-estrutura wireless. Da parte da infra-estrutura, é preciso garantir que haja sinal  de boa qualidade em todos os ambientes da empresa,onde precise ter acesso a rede wireless. Uma ótima condição seria algo em torno de -35 dBm RSSI e  42 dBm SNR. Essa seria uma condição excelente.
 Satisfeita essas condições, considerando que estamos falando de uma estrutura LWAPP, ou CAWAPP, que suas controllers  estejam devidamente configuradas, então temos que voltar nossa atenção para a segunda parte desse sistema: O dispositivo móvel.
 Se você é o responsável também pelos dispositivos móveis, então terá muito trabalho a fazer.
  O fato é que  as placas de redes wireless parecem serem feitas pensando em um único AP. Elas são cegas dentro da rede. Porém, alguns esforços estão sendo feitos no sentido de melhorar essa deficiência e isso é o que veremos nesse post.
  Antes é preciso dizer que um dos grandes desafios dos fabricantes de dispositivos móveis é a economia de energia. Ter baterias que durem mais pode ser um fator determinante na escolha de um dado produto pelo cliente e os fabricantes estão cientes disso. Isso é, na verdade, levado muito a sério.
 As decisões tomadas pelos adapitadores wireless interferem diretamente no consumo de energia do dispositivo.
 Um dos primeiros algoritimos desenvolvidos e ainda usado é o SRA : Sticky roaming Algorithm. Pelo nome já é possível descobrir qual era a idéia do mesmo. Era manter-se em um mesmo AP até as últimas condições possíveis. Então, se você possui um notebook que claramente parece preferir um AP mesmo que esteja distante do mesmo e próximo de outros, provavelmente o algoritimo SRA está rodando nessa placa de rede.
 A idéia desse algoritimo é  aumentear a potencia o sinal e manter-se conectado ao mesmo AP como forma de economia de energia quando na verdade não.
 Enviando dados a uma distância maior, a possibilidade de retransmissão aumenta, ou seja, será preciso mais tempo de transmissão para conseguir se comunicar. O aumento da potência no envio do sinal também influenciará no consumo de energia. Ora, sendo assim, então qual a justificativa para a implementação desse algoritimo ? Para respondermos essa pergunta, temos que analisar qual seria a outra opção do dispositivo móvel: Mudar para outro AP.
 Isso pode parecer óbvio e simples mas acredite, não é. Muito pelo contrário. Como dito acima, os dispositivos móveis são cegos em relação a rede de forma que, para se associar a outro AP, ele terá que descobrir outro AP. Mas se ele está próximo de um outro AP não é fácil para ele descobrir ? Não. Considerando que os APs trabalham em frequências diferentes e que um dispositivo móvel não fica analisando o ambiente para economizar bateria, o processo de descoberta é bem mais complicado do que parece.
 Uma evolução do algoritimo SRA é o algoritimo ERA: Enterprise Roaming Algorithm. Percebam que aqui aparece a palavra enterprise.
 Esse algoritimo possibilita dois tipo de Scans que o dispositivo pode realizar para procurar um AP: Passivo ou Ativo.

 Quando o sinal do AP se tornar muito fraco e o dispositivo não tiver outra opção a não ser procurar outro AP um processo é iniciado. No método passivo, o AP irá para um outro canal,canal adjacente, e escutará  por um período de tempo na esperança de ouvir beacons vindo de algum AP candidato. Porém, isso também tem suas complicações. O tempo máximo que um AP consegue ficar em outro Canal, sem prejudicar a conexão original é de 100 TU ou 102,4 ms. Antes de ir para outro canal, porém, ele enviará um quadro para seu AP  informando sua ausência do canal de forma que o AP armazenará em buffer os pacotes destinados ao dispositivo em um periodo de tempo. Entretando, ele não poderá se ausentar mais do que esse periodo que é controlado por um tipo de quadro chamado DTIM - Delivery Traffic Indication  Message.
  Se cada  DTIM é enviado sincronizado com os quadros beacons e se o AP precisa estar em outro canal para ouvir os beacons de outro AP, imagina o malarismo que está sendo realizado pelo dispositivo para tentar se associar a outro AP. E o que é mais dramático, isso consome um enorme montante de energia..
 A situação é ainda mais conplicada se você considerar que o dispositivo poderá não encontrar, depois de várias tentativas, nenhum AP no outro canal . Imagine ainda que podemos estar falando de uma rede 802.11a onde temos 23 canais non-overlap.
  O outro método é o método  Ativo. Esse método é mais eficiente,porém, consome ainda mais energia. Nesse método o dispositivo passa para o canal adjacente e envia beacons ao invés de ficar esperando por eles no canal. Isso aumenta sobremaneira as chances do dispositivo de encontrar  um AP.Ainda assim, existem algumas considerações a serem feitas. A resposta ouvida pelo AP pode ser a de um AP que pode estar em condições não muito boa. Como ele irá saber se num outro canal não haverá um AP em condições muito melhor( -32 dBm RSSI, 42 dBm SNR) ? Ele não tem como saber a menos que novamente percorra todos os canais, ou seja, se  tiver com sorte, talvez encontre rapidamente um AP emitindo beacons nas condições acima.
 Se seu notebook se associa a um AP que aparentemente está em piores condições que um outro AP, por exemplo, se associa a um AP do piso inferior ou superior quando exitem APs no mesmo piso, provavelmente o algoritimo implementado em sua placa de rede está deixando a desejar. Muito provavelmente o dispositivo pulou para um outro canal,  enviou quadros beacons e assim que teve uma resposta, se associou ao AP sem levar em consideração as condições. Isso é muito mais comun do que parece.

 Analisamos então dois tipos de algoritimo ERA e os dois deixaram a desejar e ainda consomen bastante energia. Como resposta a esse problema, um terceiro algoritimo foi desenvolido: HARA.Hybrid Adaptative Roaming Alrorithm.
 Esse algoritimo executa os dois tipos de scanning, passivo e ativo.Além de implementar Packet Loss Ratio. Com essa técnica, se o dispositivo observar que a taxa de pacotes perdidos está aumentando, é hora de pensar em outro AP.
 No algoritimo HARA os dispositivos já realizam scanning da rede por iniciativa próprio e já ha casos, Intel por exemplo, em que ao observar outros APs na rede, o dispositivo reconhece que está em um ambiente corporativo e se comporta de uma forma. Se apenas um AP é encontrado então o ambiente é HOME e o comportamento é alterado. Por exemplo, o Scanning da rede, que consome muita energia, é desativado, ora, para que escanear uma rede de um AP apenas ?
  Essa inteligência maior faz com que o dispositivo não seja mais cego no ambiente. Ele passa a ter consciência de onde está e consegue tomar decisoes mais acertadas. Certamente que o aumento no consumo de energia é inevitável, mas o benefícios também são enormes.
  Outros eforços, principalmente da Cisco, tem sido feito para tornar a integração entre a infra-estrutura de rede e os dispositivos móveis ainda mais inteligente e produtivo. Mas isso vai ficar para um próximo post. Por hoje é só.




No comments:

Post a Comment