![O que causa a queda de pacotes de resposta ARP em uma rede sem fio?](https://rvso.com/image/1452882/O%20que%20causa%20a%20queda%20de%20pacotes%20de%20resposta%20ARP%20em%20uma%20rede%20sem%20fio%3F.png)
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 outros PCs/dispositivos na rede, mas não de outros. Não encontrei um padrão confiável, mas resumidamente 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 pode fazer ping para Charlie. ("ping" significa capaz de obter respostas de ping) Já desabilitei todos os firewalls e permiti todas as respostas ICMP.
Com a ajuda do Wireshark e do tcpdump, deduzi que o pacote de solicitação ARP (opcode 1) de Alice foi capaz de chegar ao destino pretendido, Charlie, e Charlie enviou de volta o pacote de resposta ARP (opcode 2) que não chegou a Alice.
Quais poderiam ser as possíveis deficiências técnicas que resultam 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 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, vinculados usando o modo bridge.
Responder1
Embora eu não esteja muito 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 NAT no "Bob". Se Alice estivesse no lado LAN de um WAP e Charlie estivesse no lado WAN, então Alice seria capaz de fazer ping em Charlie, mas não vice-versa. Esse é o firewall inerente que o NAT fornece.
Para que isso não aconteça, todos os seus APs devem estar operando em alguma forma de modo "ponte" ou modo "ponto de acesso". Isso significa que o dispositivo atua mais ou menos como 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 é desabilitar o servidor DHCP no roteador e então conectar uma das portas LAN à sua rede (e também garantir que o IP da LAN do roteador não entre em conflito com o seu gateway real). Você deixaria a porta WAN suspensa. Se o roteador reclamar (a maioria não, mas alguns reclamam), defina a conexão com a Internet para 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 Classe C do menor tamanho possível.)
A outra possibilidade poderia 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 IP de transmissão, mas também para determinar se os pacotes de transmissão recebidos devem ser processado pela pilha de rede (ou seja, se os pacotes de transmissão para IPs estiverem fora do endereço e da máscara de sub-rede configurados no dispositivo, muitos dispositivos irão ignorar o pacote).
Espero que isso ajude pelo menos um pouco.
Responder2
O que causa a queda de pacotes de resposta ARP em uma rede sem fio?
Nada. Se estivéssemos testemunhando o descarte adequado 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 enfeites. Mas, como você não afirma que a linha é lenta, não há razão real para suspeitar de uma 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 toda a sub-rede à qual pertencem.
Conseqüentemente, os pcs são (provavelmente) membros de duas sub-redes diferentes. Os pacotes ARP não cruzam gateways, e uma razão para eles seremderrubadoé que eles preencham sua própria sub-rede, não encontrem nenhum respondente e depois desapareçam 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ê consegue contornar esse problema? Claro que você pode. Você terá que identificar o gateway da sub-rede que não pode ser alcançado (vamos chamá-lo de G2), permitir que as conexões cheguem da LAN maior e então instruir o gateway de toda a sua LAN (G1, aquele imediatamente atrás do seu modem, ou seu roteador ADSL, qualquer que seja) que a rota para esta sub-rede não seja através dela mesma, G1, mas através de G2.