Por que alguns roteadores WiFi bloqueiam pacotes multicast que vão de com fio para sem fio?

26

Eu trabalhei com dezenas de roteadores WiFi de nível consumidor, e eles foram realmente bem-sucedidos com isso, embora pareça estar melhorando.

Exemplo de problema:

  1. Um dispositivo que pode ser descoberto com o mDNS é conectado ao roteador com um cabo.
  2. Outro dispositivo conectado ao roteador no WiFi tenta descobrir o dispositivo na etapa 1.
  3. Os pacotes do dispositivo no Wi-Fi não chegam ao dispositivo com fio ou, se o fazem, os pacotes enviados pelo dispositivo com fio não chegam ao dispositivo sem fio.

Muitos roteadores têm configurações que permitem que isso funcione.

Consulte http://community.linksys.com/t5/Wireless-Routers/WRT120N-WLAN-Issues/td-p/400073 e http://forums.verizon.com/t5/FiOS-Internet/Communication-between-wired e rede sem fio na açãotec / td-p / 461359, por exemplo.

Existe uma lista de incompatibilidade com isso? Qual é a causa? Apenas um bug no roteador?

hooby3dfx
fonte
1
Isso provavelmente será migrado para o Superusuário - eles lidam mais com o equipamento no nível do consumidor.
EEAA

Respostas:

40

Geralmente, isso ocorre devido a erros nos roteadores de gateway doméstico Wi-Fi (APs) ou às vezes nos chipsets / drivers / software do cliente sem fio.

No Wi-Fi, o envio de multicasts do ponto de acesso para os clientes sem fio (isso é conhecido no padrão como "Do sistema de distribuição" ou "FromDS") é complicado, por isso há muitas maneiras pelas quais isso pode falhar e é fácil introduzir erros.

  1. Mesmo que a mídia de rádio não seja confiável o suficiente, é necessário que os unicasts 802.11 tenham confirmações no nível do link (ACKs) e sejam retransmitidos várias vezes se não houver ACK, as multicasts do FromDS nunca são aceitas porque precisam ser aceitas por todos os clientes sem fio do AP, o que poderia ser uma "tempestade ACK". Então, em vez disso, as multicasts do FromDS precisam ser enviadas a uma baixa taxa de dados; usando um esquema de modulação mais simples, mais lento, fácil de decodificar e até com baixo sinal-ruído-rácios, que esperemos que possa ser recebido com segurança por todos os clientes do AP. Alguns APs permitem que o administrador defina a taxa de difusão seletiva, e alguns administradores involuntariamente a definem muito alto para que alguns de seus clientes recebam de maneira confiável, interrompendo a entrega de difusão seletiva para esses clientes.
  2. Quando a criptografia WPA (TKIP) ou WPA2 (AES-CCMP) está em uso, os multicasts do FromDS precisam ser criptografados com uma chave de criptografia separada que é conhecida por todos os clientes (isso é chamado de chave de grupo).
  3. Quando um cliente sai da rede, ou a cada hora ou mais, apenas por uma boa medida, a Chave de Grupo precisa ser alterada para que o cliente que saiu não tenha mais acesso para descriptografar os multicasts. Esse processo de "Rotação da chave de grupo" às vezes apresenta problemas. Se um cliente não confirmar o recebimento da nova chave de grupo, o PA deverá autenticar esse cliente, mas, se não conseguir fazer isso devido a um bug, o cliente poderá ter a chave de grupo incorreta e, portanto, ficar "surdo". "para multicasts sem perceber.
  4. Quando o "modo misto" do WPA2 é ativado (ou seja, quando o WPA e o WPA2 são ativados ao mesmo tempo), os multicasts do FromDS geralmente precisam ser codificados com a cifra TKIP, para que todos os clientes saibam como decodificá-lo. .
  5. Os multicasts do FromDS precisam ser enfileirados pelo ponto de acesso e transmitidos apenas quando é esperado que todos os clientes que se preocupam com os multicasts tenham seus receptores ligados. O tempo entre os períodos "seguro para transmitir multicasts do FromDS" é chamado de "intervalo DTIM". Se o ponto de acesso ou os clientes estragar sua manipulação de intervalo DTIM, isso poderá resultar em clientes incapazes de receber multicasts de maneira confiável.
  6. Alguns pontos de acesso têm recursos para impedir que os clientes sem fio possam conversar diretamente entre si, talvez para impedir que seus convidados sem fio invadam seus outros convidados sem fio. Esses recursos geralmente bloqueiam multicasts dos dispositivos WLAN para outros dispositivos WLAN e podem muito bem ser implementados de uma maneira ingênua que até bloqueia os multicasts da LAN para a WLAN.

O mais louco é que as multicasts do "ToDS" são feitas como os unicasts do ToDS e, portanto, raramente quebram. E como os multicasts do ToDS (não os multicasts do FromDS) são tudo o que é necessário quando um cliente sem fio recebe uma concessão DHCP e ARPs para encontrar seu gateway padrão, a maioria dos clientes consegue se conectar e navegar na web, verificar e-mails, etc. mesmo quando o FromDS multicasts estão quebrados. Assim, muitas pessoas não percebem que têm problemas de multicast em sua rede até tentarem fazer coisas como mDNS (também conhecido como IETF ZeroConf, Apple Bonjour, Avahi, etc.).

Algumas outras coisas a serem observadas, com relação às transmissões multicast sem fio:

  1. A maioria das multicasts da LAN, como o mDNS, é feita usando intervalos de endereços multicast especiais que não devem ser roteados pelos roteadores. Como os gateways domésticos compatíveis com Wi-Fi com NAT habilitado contam como roteadores, o mDNS não deve passar da WAN para a [W] LAN. Mas DEVE trabalhar da LAN para a WLAN.
  2. Como as multicasts no Wi-Fi precisam ser enviadas com uma baixa taxa de dados, elas levam muito tempo no ar. Portanto, eles são "caros" e você não deseja ter muitos deles. É o oposto de como as coisas funcionam na Ethernet com fio, onde multicasts são "menos caros" do que enviar unicasts separados para cada máquina "sintonizando em um fluxo de vídeo multicast", por exemplo. Por esse motivo, muitos pontos de acesso Wi-Fi farão o "IGMP Snooping" para observar quais máquinas estão enviando solicitações do Internet Group Management Protocol (IGMP), expressando seu desejo de sintonizar um determinado fluxo de difusão seletiva. Os pontos de acesso Wi-Fi que fazem o IGMP Snooping não encaminham automaticamente algumas classes de multicasts para a rede sem fio, a menos que eles vejam que um cliente sem fio tenta se inscrever nesse fluxo via IGMP. Os documentos que descrevem como executar o IGMP Snooping corretamente deixam claro que certas classes de multicasts de baixa largura de banda (mDNS se encaixam nessa categoria) devem sempre ser encaminhadas, mesmo que ninguém as solicite explicitamente via IGMP. No entanto, não ficaria surpreso se houver implementações quebradas de IGMP Snooping por aí que nunca encaminham nenhum tipo de multicast até que ele veja uma solicitação IGMP.

tl; dr: Erros. Muitas oportunidades para bugs. E recursos ocasionais mal projetados e erros de configuração. Sua melhor defesa é comprar APs de alta qualidade de empresas que se preocupam em garantir que os multicasts funcionem. Como a Apple ama tanto o Bonjour (mDNS), os pontos de acesso da Apple são provavelmente os mais consistentemente excelentes em transmitir multicasts de maneira confiável, e os dispositivos clientes Wi-Fi da Apple são provavelmente os mais consistentemente excelentes em receber multicasts de maneira confiável.

Spiff
fonte
Perfeito, obrigado. @ Spiff Alguma pista sobre o quão difundida é a incompatibilidade?
hooby3dfx
@ hooby3dfx Certamente não é um problema raro, porque vejo perguntas sobre isso aqui no SU o tempo todo. Mas não tenho idéia de qual porcentagem de redes Wi-Fi vê esse problema.
Spiff
Alguma idéia de quem poderia? Você conhece métodos alternativos para dispositivos no WiFi descobrirem outros dispositivos com fio?
hooby3dfx
1

O @Spiff fez alguns pontos impressionantes em sua resposta e não vou reiterar aqui. Mas existem outras respostas e alternativas para contornar esse problema.

Resposta curta? Eu não acho que eles sempre "bloqueiam" tanto quanto simplesmente "não fazem isso nem começam" devido à preguiça do engenheiro de criar qualquer dispositivo específico. Alguns não o têm como alta prioridade e outros não têm tempo para fazê-lo funcionar.

Ele não está no topo da lista de prioridades em comparação com todos os novos "recursos" que o marketing está usando para vender esses dispositivos de qualidade para o consumidor e é um recurso que a maioria das pessoas não-tecnológicas não tem idéia, portanto, na lista de prioridades, ele vai até o ponto em que a menos que um grande grupo de proprietários reclame, ele fica de fora de qualquer atualização de revisão.

Se você deseja um dispositivo compatível, faça a devida diligência em sua pesquisa e obterá um dispositivo compatível, ou se encontrar um dispositivo novo ou usado que suporte algo como OpenWrt ou Tomato da Polarcloud, você pode garantido de obter o que você precisa.

Boa sorte. :)

isildur
fonte
1
+1 por usar uma solução mais ou menos padronizada como o OpenWRT, onde você não obtém bugs assim e onde pode reportar bugs encontrados e espera corrigi-los.
Pavel Šimerda 30/03