O que causa a queda de pacotes de resposta ARP em uma rede sem fio?

1

Eu tenho uma rede de pontos de acesso sem fio (APs) na minha rede local (LAN).

Alguns PCs na rede podem obter respostas de ping de alguns outros PCs / dispositivos na rede, mas não de outros. Eu não encontrei um padrão confiável, mas em resumo pode ser algo assim:

Digamos que temos um computador Alice, um Wifi AP Bob e outro Wifi AP / dispositivo Charlie.

Alice pode fazer ping para Bob, Bob pode fazer ping para Charlie, mas Alice não consegue fazer o ping para Charlie. ("ping" significa capaz de obter respostas de ping) Eu já desativei todos os firewalls e permiti todas as respostas ICMP.

Com a ajuda do Wireshark e do tcpdump, deduzi que o pacote de requisição ARP (opcode 1) de Alice foi capaz de alcançar o destino Charlie, e Charlie enviou de volta o pacote de resposta ARP (opcode 2) que não alcançou Alice.

Quais poderiam ser as possíveis deficiências técnicas que resultaram em tal erro?

Como posso depurar esta situação?

Supondo que eu tenha algum controle programático porque estou usando o OpenWRT, como posso resolver esse problema?

O engraçado é que quando eu mudei o nome do meu PC com Windows 8, esse problema foi corrigido. Não tenho certeza se este é um caso de post hoc ergo propter hoc.

Atualização: os APs / dispositivos / PCs estão na mesma sub-rede, conectados usando o modo de ponte.

    
por tech 04.06.2015 / 04:50

2 respostas

1

Embora eu não esteja familiarizado com a configuração avançada do OpenWRT (está na minha lista de tarefas para projetos geeks), meu primeiro conselho seria garantir que você não esteja fazendo o NAT em "Bob". Se Alice estivesse no lado da LAN de um WAP, e Charlie estivesse no lado da WAN, então Alice seria capaz de fazer ping de Charlie, mas não vice-versa. Esse é o firewall inerente que o NAT fornece.

Para que este não seja o caso, todos os seus APs precisam estar operando em algum tipo de modo "bridge" ou modo "ponto de acesso". Isso significa que o dispositivo atua como mais ou menos um encaminhador de pacotes - ele não faz nenhum roteamento ou inspeção de pacotes por conta própria. A maneira mais fácil de conseguir isso em roteadores mais baratos é desativar o servidor DHCP no roteador e, em seguida, conectar uma das portas LAN à sua rede (e também garantir que o IP da LAN do roteador não esteja em conflito com o gateway real). Você deixaria a porta WAN pendurada. Se o roteador reclamar (a maioria não, mas alguns o fazem), defina a conexão com a Internet como um IP estático e use algo como 223.255.255.254 com uma máscara de sub-rede 255.255.255.252 para o endereço e 223.255.255.253 para o gateway. (Curiosidades: essa é a última sub-rede da Classe C com o menor tamanho possível.)

A outra possibilidade pode ser uma incompatibilidade de máscara de sub-rede. Cada computador na mesma rede precisa ter a mesma máscara de sub-rede configurada (além de estar na mesma rede real, é claro). O computador usa a máscara de sub-rede para determinar não apenas o endereço de difusão IP, mas também para determinar se os pacotes de transmissão devem receber ser processado pela pilha de rede (ou seja, se os pacotes de transmissão para IPs não estiverem localizados no endereço e na máscara de sub-rede configurados no dispositivo, muitos dispositivos ignorarão o pacote).

Espero que isso ajude pelo menos um pouco.

    
por 04.06.2015 / 05:20
1

What causes dropping of ARP response packets in a wireless network?

Nada. Se estivéssemos testemunhando a devida queda de pacotes, não haveria razão para que eles fossem descartados preferencialmente. Na presença de uma linha de comunicação defeituosa, os pacotes ARP não são diferentes de UDP, TCP e outros. Mas, como você não afirma que a linha é lenta, não há razão real para suspeitar da verdadeira queda de pacotes.

A razão pela qual os pacotes não atingem o alvo pretendido é que eles são mal roteados. No entanto, você apontou que os pacotes que estão desaparecendo magicamente são pacotes ARP, que não precisam de roteamento adequado porque preenchem espontaneamente a sub-rede inteira à qual pertencem.

Portanto, os computadores são (mais provavelmente) membros de duas sub-redes diferentes. Os pacotes ARP não cruzam gateways, e uma razão para eles serem descartados é que eles preenchem sua própria sub-rede, não encontram respondentes e desaparecem sem cruzar o gateway que separa as duas sub-redes diferentes.

Pertencer a duas sub-redes separadas seria mascarado, por assim dizer, se você usasse nomes em vez de endereços IP. Se, em vez disso, você usasse endereços IP, perceberia imediatamente que os dois computadores estão em sub-redes diferentes. Daí a minha pergunta acima.

Você pode contornar este problema? Claro que você pode. Você terá que identificar o gateway da sub-rede que não pode ser alcançado (vamos chamá-lo G2), permitir que as conexões cheguem da LAN maior e instruir o gateway de toda a sua LAN (G1, a imediatamente atrás do seu modem, ou o seu roteador ADSL, seja qual for) que a rota para esta sub-rede não é através de si, G1, mas através de G2.

    
por 04.06.2015 / 11:25