Skip to content

Como funciona

Objetivos a alcançar

  • Escalabilidade

  • Segmentação de redes

  • Roaming de camada 2 dentro de certas áreas

  • Seleção inteligente de gateway com redundância e possibilidade de escolha do usuário

  • Compatibilidade com a maior parte dos cenários existentes

  • Um firmware único para toda a rede (roteadores de base, backbone, empresas instalações rápidas, etc)

O Básico

A infraestrutura de rede do LibreMesh é baseada em 2 camadas:

Camada 2 / nuvem

A camada 2 nuvem usa ao protocolo dinâmico de roteamento BATMAN-ADV

batmanadv

advanced é um protocolo de roteamento mesh que é executado no kernel space. Mesmo se a topologia da rede é feita de múltiplos nós e múltiplos hops (saltos), ele a abstrai para um único domínio de
colisão na camada 2. Então, da perspectiva do usuário, toda a mesh vai parecer uma única LAN. Essa arquitetura é muito interessante para fins de roaming, então conexões TCP e UDP não se perdem quando você troca de Access Point (AP).

Camada 3 / rede

Toda rede de camada 3 usa por padrão o protocolo de roteamento BMX

bmx7

BMX6 (ou a nova versão BMX7) é um protocolo de roteamento
dinâmico IPV6 que oferece funções muito avançadas e baixo overhead
de rede (graças a estratégia de vetor de distância e uma série de
otimizações). Versão 7 tem, adicionalmente, extensões de roteamento de segurança.

Misturando camadas

Por padrão, todos os nodes executam ambos os protocolos de roteamento (BMX e BAT-ADV), mas em uma VLAN (1) diferente. Então o roteamento é isolado pela camada MAC.

A VLAN BMX é sempre a mesma, então todos os nós conectados à camada de link vão procurar uns aos outros.

A VLAN BATADV depende do identificador cloud que é calculado (por padrão) usando o SSID do AP (Access point).

Portanto a rede BMX vai ser única para toda a MESH, mas a rede BAT-ADV pode ficar dividida em muitas nuvens.

network1

Essa configuração permite isolar a camada 2/nuvem. Por exemplo num bairro, um complexo empresarial ou numa rede de hotspots abertos você pode escolher isolar sua LAN do resto da rede. Porém ao mesmo tempo, você pode alcançar os outros nós usando a rede de roteamento da camada 3.

Roaming vai ser disponível dentro da nuvem, então qualquer sessão TCP, video ou chamada SIP pode ser realizada enquanto se move. Por outro lado, graças a segmentação de camada 3, os problemas comumente encontrados na camada 2 de uma rede em bridge (como tempestade de broadcast ou problemas com DHCP) não vão perturbar a operação correta da rede.

E tudo isso automático, auto-mágico e transparente para o usuário final.

network2

Detalhes

Os WiFI Access Points da mesma cloud compartilham alguns parâmetros:
* SSID, o nome de identificação do WiFi AP
* Endereços IPv4 e IPv6 especiais para anycast.[1]
* Um MAC address especial para anycast.
* Um servidor DHCP/RA para prover IPs válidos para todos os clientes da cloud.

Então um cliente conectado em um AP pode se mover pela mesh sem precisar renovar seu IP. Até a camada MAC vai ser sempre a mesma do seu ponto de vista.

network3

Os leases de DHCP (concessão) são compartilhados pela cloud para prevenir colisões
usando A.L.F.R.E.D
A.L.F.R.E.D.

Desde que os nós compartilhem um mesmo anycast MAC/IP, do ponto de vista do
cliente é totalmente transparente. Portanto o gateway é sempre o mesmo ainda que o nó
mesh que ele esteja anexado seja outro.

network4

Quando um cliente quer sair da LAN (cloud) para conectar a internet ou outra rede, ele vai enviar
um pacote para o anycast especial do gateway. Então o nó onde o cliente está fisicamente conectado
vai tomar conta de todo o resto.

Uma regra de ebtables .[2] no AP/LAN previne que os pacotes de propagação de camada 2 na nuvem sejam enviados para o endereço anycast. Então o nó mesh onde o cliente está associado pega o pacote, mas os outros não.

network5

O pacote é roteado através do BMX para o melhor gateway de internet. Pode ser o nó da mesma
cloud ou de alguma outra cloud distante.

O BMX tem uma funcionalidade de 'inteligência' de gateway bem poderoso que
automaticamente detecta o melhor nó de gateway de internet levando em consideração
a largura de banda

network6

No caminho de volta o pacote vai chegar no mesmo nó da cloud, mas não
necessariamente no mesmo nó que partiu. Independente disso, o pacote será enviado corretamente para quem o originou. Isso acontece porque o BMX smart gateway usa conexões de túnel de mão única para garantir que o gateway selecionado seja utilizado.


1. IPs compartilhados por vários dispositivos na rede
2. ebtables é como uma iptables mas para a camada 2/rede