Após atualizar nossa equipe de desenvolvimento para o Windows 10 a partir de 7, estamos enfrentando um problema com o cache do ARP em que uma máquina tem o mapeamento IP-MAC correto armazenado em cache, mas o tipo é inválido devido a falhas nas conexões máquina alvo. No Windows 10, mas não no Windows 7, a máquina de destino não pode ser conectada até que o cache do ARP seja limpo. Posso reproduzir o problema da seguinte forma, onde 10.10.10.10 é o endereço IP correto e 01: 23: 45: 67: 89: AB é o endereço MAC correto da máquina de destino em questão:
Comece com a máquina de destino desligada e faça o ping durante todo o teste:
ping -t 10.10.10.10
Ping está respondendo com "Solicitação expirada" e o cache ARP contém, como esperado
10.10.10.10 00:00:00:00:00:00 invalid
Ligue a máquina de destino. O ping começa a receber respostas e o cache do ARP é atualizado para
10.10.10.10 01:23:45:67:89:AB dynamic
Até aí tudo bem.
Desligue a máquina alvo. Ping inicia o relatório "Solicitação expirada" e o cache do ARP permanece
10.10.10.10 01:23:45:67:89:AB dynamic
Após cerca de 40 segundos, o ping responde com "Host de destino inacessível" para uma solicitação, depois retorna para o relatório "Solicitação expirada" e o cache do ARP é alterado para
10.10.10.10 01:23:45:67:89:AB invalid
Ligue a máquina de destino e o ping (e qualquer outra conexão) não a encontrará até que você limpe o cache ARP, ou pelo menos exclua a entrada incorreta com o mapeamento IP-MAC correto com tipo inválido.
Como evito que o cache de ARP entre nesse estado, uma vez que a máquina de destino no ambiente de desenvolvimento tende a exigir ciclos de energia durante o processo de desenvolvimento? Manipular manualmente o cache ARP não é sustentável e ninguém relatou esse problema antes de migrar para o Windows 10.
O Windows 7 funciona como seria de esperar, ou seja, o que desejamos: O cache ARP passa pelos mesmos estágios acima. O ping começa respondendo "Host de destino inacessível" antes de o alvo ser ligado, ao contrário do "Tempo limite expirado" do Windows 10 e retorna ao "Host de destino inacessível" continuamente depois de ser desligado, ao contrário do Windows 10 reportando apenas uma vez . Quando a máquina é ligada, a conexão é imediatamente estabelecida e o cache ARP retorna para
10.10.10.10 01:23:45:67:89:AB dynamic
sem necessidade de limpar as entradas primeiro.
A configuração específica dos desenvolvedores é uma estação de trabalho Windows conectada a vários Beaglebone Blacks (pequenas placas baseadas em ARM que executam o Linux) por meio de um simples switch gigabit de 8 portas não gerenciado. Endereços IP são atribuídos pelo DHCP reservado, e os endereços são coletados com sucesso cada vez que os Beaglebones são ligados. Quando uma máquina com Windows 10 possui a entrada ARP inválida que precisa ser excluída, outras máquinas sem o Beaglebone no cache ARP podem se conectar com êxito à máquina de destino.
Tags networking windows-10 arp