Discuta este tópico no fórum

Se este conteúdo te ajudou, deixe um presente!

segunda-feira, 4 de novembro de 2024

OpenWrt: múltiplos APs e fast roaming (e o tal de mesh)

Mais um artigo da série sobre o OpenWrt.

A frase "a internet está horrível hoje" certamente já foi dita por todos em algum momento. Com muita frequência, isso é devido a perda de pacotes. Qualquer perda de pacotes acima de 1% torna a conexão inviável. E qual o problema de perder uns pacotinhos se ainda tem os outros 99%?

De forma bem simplificada, o protocolo de transmissão de dados mais usado, o TCP, oportunisticamente vai aumentando rapidamente a velocidade que os pacotes são enviados até que esgotamos a capacidade de transmissão de dados em algum ponto entre a origem e o destino. Nesta situação, ocorre a perda de pacotes. O protocolo, então, volta a uma velocidade baixa e novamente vai aumentando a velocidade, repetindo o ciclo. Perder pacotes nesta situação é o esperado pois serve como um sinal de que o canal está cheio. O problema ocorre quando esta perda de pacotes é devido a um problema no canal, que faz o pacote se perder muito antes de você usar a capacidade disponível. O protocolo se confunde com a perda, achando que o canal está congestionado, e reinicia o processo de subida da velocidade de transmissão lá de baixo. Como a velocidade nunca sobe muito, você terá a sensação da "internet horrível".

Quando eu era pequeninho lá em Barbacena (link se você não tem idade para ter entendido a referência), o grande vilão que gerava perda de pacotes era o ruído do canal analógico da conexão discada. Porém, hoje com conexões digitais, fibra e planos de centenas de megabits por segundo, é mais difícil o problema ser o canal com a operadora (se for o seu caso, saiba que isso não é normal). O mais comum mesmo é perder pacotes dentro da rede local, ou melhor, perder pacotes na conexão da WiFi. Não importa muito o motivo da redução na qualidade do sinal da Wifi (espelho, estrutura de ferro, canos de água), mas a solução varia entre colocar um AP com mais potência e melhor antena ou multiplicar a quantidade de APs.

Nota: vou usar AP (access-point) aqui como o equipamento que oferece uma rede Wifi. Se ele faz o papel de roteador ou não, isso é uma questão da camada de rede e não é importante para o tema deste texto. Roteador wifi é apenas um roteador com função de AP (e normalmente switch também).

O que eu mais vejo nas varreduras de Wifi são múltiplos APs com nomes do tipo: "Fulano Sala", "Fulano Quarto" ou "Repetidor cozinha", ou ainda "Rede 5Ghz" e "Rede 2.5Ghz". Todavia, desde os primórdios da Wifi, muito antes da era dos smartphones, a Wifi foi desenvolvida para tratar diversas redes com o mesmo nome. Então, a solução de quem desenvolveu o protocolo era colocar todas as redes com o mesmíssimo nome (e, obviamente, configuração da autenticação) e deixar o cliente da Wifi decidir qual é a melhor opção.

Então, se é uma maravilha, por que ninguém faz assim? Bem, o problema de usar o mesmo nome tem relação com o "deixar o cliente da Wifi decidir". Tivemos casos de clientes que não lidavam bem com isso pois era um cenário não muito bem testado pelos fabricantes mais rústicos. Porém, faz tempo que todos os clientes usuais (geralmente um android ou IOS) trabalham super bem com redes homônimas. Outro problema é que os clientes são apegados a rede que eles conectaram. Até perder o sinal e o cliente buscar uma nova rede, ele não trocava de AP. Então, se o sinal estava fraco mas operacional, o seu celular ia ficar conectado no AP inicial, mesmo se você estivesse do lado de um outro roteador. A solução de contorno nesta situação era desligar e religar a wifi para o cliente escolher novamente o melhor AP (alguns fabricantes fizeram ajustes neste comportamento para serem mais proativos). Não é muito diferente de ter duas redes com nomes diferentes configuradas, com a desvantagem de você não saber explicitamente qual rede está conectado. Neste caso, até faz sentido a proliferação das redes de nomes duplos pois, ao menos, você saberia onde está conectado e economiza um clique na troca manual. 

Então é isso? Continuo com minha rede "Repetidor Cozinha"? Não, podemos fazer muito melhor do que isso. Temos uma evolução do protocolo (já antiga, de 2008) chamada 802.11r (fast roaming). Nestas redes de mesmo nome, o cliente é orientado a proativamente verificar se um outro AP de mesmo nome mas com sinal melhor está funcional. O cliente faz uma autenticação acelerada e, estando tudo OK, muda a rede quase que de forma imperceptível. Isso vale tanto para trocar de AP como de 2.5 Ghz para 5 Ghz. Simplesmente funciona.

Comercialmente, o 802.11r geralmente aparece em produtos vendidos com a característica comercial "Mesh". Porém, apesar de geralmente estar junto, mesh (ou malha) refere-se ao protocolo 802.11s (ou algo similar proprietário do fabricante) usando na comunicação entre APs e não entre o AP e o cliente. No caso de redes em malha, o AP pode falar com o outro por um canal sem fio, podendo fazer isso de forma direta ou saltando por outros APs membros da rede. Se ligar um cabo entre os dois APs, o recurso "mesh" perde o sentido.

Mas um repetidor Wifi não faz exatamente isso? Sim, especialmente se forem apenas 2 APs. Se os APs ficarem estáticos e sempre ligados, não faria diferença em configurá-los como repetidores usando WDS ou como rede mesh. Redes Mesh é questão de software e seu roteador velho de guerra de 10 anos atrás poderia sim fazer uma rede Mesh se a firmware permitisse (ex: se suportar OpenWrt e ter uma driver compatível). Mas como já falei, Mesh entre 2 APs não é melhor do que colocar um deles como um repetidor WDS e configurar nos dois o mesmo nome de rede. E, para melhor experiência do usuário, ative o 802.11r para que a transição entre APs seja imperceptível.

"Mas eu troquei para roteadores Mesh e minha rede melhorou muito!" Claro que trocar seu roteador velho e seu repetidor de R$ 49,90 por dois roteadores mesh de R$ 700,00, a qualidade da rede deve melhorar. Não pelo uso de mesh em si, mas por serem equipamentos melhores e mais novos.

Agora um resumão:
  • Vou um novo AP, vale a pena comprar um do tipo mesh? O mesh não faz sentido sozinho. Se não for comprar mais de um, não compre pelo "mesh", mas o HW deles tende a ser bom;
  • Vou comprar dois novos APs, vale a pena comprar do tipo mesh? O mesh ainda não faz sentido para apenas 2 APs. A função de repetidor WDS com fast roaming seria equivalente, mas o HW deste tipo de roteador "mesh" tende a ser bom. Se for conectá-los por cabo, o mesh é ainda menos importante. O importante é usar o mesmo nome e ter o 802.11r. Contudo, a linha mesh pode facilitar a configuração igual nos dois APs;
  • Vou comprar diversos APs para cobrir uma região grande, vale a pena comprar do tipo mesh? Bem, se for um galpão ou coisa do tipo, faz sentido comprar uma linha empresarial. Os APs empresariais normalmente possuem conectividade mesh e um gerenciamento centralizado melhor. Não acho que a linha residencial deva ser usada nestes caso;
  • Tenho um AP repetidor conectado no outro por WDS. Devo usar o mesmo nome de rede? Provavelmente sim, principalmente se puder ativar o 802.11r. Se já usa OpenWrt  recente nos dois, a resposta é sim pois suporte para 802.11r é software e não depende de driver. Você também pode criar redes ocultas adicionais nos mesmos APs quando quiser forçar um teste em um deles. Eu as configuro nos clientes, mas sem conexão automática.
  • Tenho um AP repetidor WDS antigo que não suporta 802.11r, devo usar o mesmo nome de rede? Pode usar, mas você pode sentir falta de saber qual rede está conectado. No Android, tem uma opção de desenvolvedor para mostrar o endereço MAC (BSSID) do AP conectado que pode te ajudar. Mas, com conexões de internet acima de 100 Mbps, tira o escorpião do bolso e compra algo melhor. O diferencial para o usuário é oferecer o 802.11r.
E você vai saber que a Wifi está boa quando não precisar pensar nela, mesmo naquele cômodo distante da casa.

Em um próximo texto eu mostro alguns detalhes da configuração do 802.11r residencial no OpenWrt. Porém, é tão simples que talvez nem precise de uma postagem específica.

Até a próxima.