Um computador pode ter mais de uma saída possível e precisa escolher qual saída usar para cada destino. Essa escolha é feita pela tabela de rotas, e uma rota errada faz o tráfego sair pelo caminho errado sem nenhuma mensagem clara.
A tabela de rotas
O Windows consulta a tabela de rotas, exibida pelo comando route print -4. Duas rotas aparecem em quase todo computador:
- a rota da própria rede, como
192.168.1.0/24, que indica entrega direta pela interface do computador; - a rota padrão,
0.0.0.0/0, que aponta para o gateway e serve para qualquer destino, porque não exige nenhum bit em comum com o endereço.
Quando duas rotas servem para o mesmo destino, prevalece a mais específica, ou seja, a de prefixo maior. Quando as duas são igualmente específicas, prevalece a de menor métrica, o custo que o Windows atribui a cada rota, em geral menor para o cabo do que para o Wi-Fi.
Como ler a tabela
Cada linha da tabela exibida pelo route print -4 traz as seguintes colunas:
- Destino de rede e Máscara: a rede que a linha atende.
- Gateway: o equipamento a quem o pacote é entregue. Uma indicação de entrega direta, no lugar de um endereço, significa que o destino está na rede da própria interface.
- Interface: o endereço local pelo qual o pacote sai.
- Métrica: o custo, usado no desempate entre rotas igualmente específicas.
A decisão entre a entrega direta e a entrega ao gateway é exatamente essa leitura. A linha da própria rede indica entrega direta, e a rota padrão, com destino 0.0.0.0 e máscara 0.0.0.0, aponta para o gateway.
Quando o roteamento do computador importa
Computadores com VPN, com mais de uma placa de rede ou com adaptadores criados por programas de virtualização podem ficar com rotas conflitantes. O sintoma é o tráfego sair pela interface errada e nunca chegar ao destino. Dois comandos do PowerShell mostram por onde o Windows envia os pacotes:
Find-NetRoute -RemoteIPAddress 192.168.0.50: mostra a interface e a rota que o Windows usaria para enviar um pacote a esse endereço;Test-NetConnection 192.168.0.50: mostra, no campo SourceAddress, o endereço de origem usado na tentativa.
Se o endereço de origem pertence a um adaptador virtual, e não à placa da rede da loja, o problema é de rota.
O roteamento ao longo do caminho
A mesma decisão se repete em cada roteador do caminho. Cada roteador consulta a própria tabela de rotas e entrega o pacote ao roteador seguinte, chamado de próximo salto, até que o pacote chegue à rede de destino. O comando tracert mostra esses saltos, um por linha.
No suporte
O relato de que o sistema parou depois da instalação de uma VPN ou de um programa de virtualização é típico de rota concorrente. Nesse caso, convém conferir a interface de origem antes de investigar o servidor.
Para guardar
- A tabela de rotas decide por qual saída cada destino é alcançado.
- A rota padrão é
0.0.0.0/0, e a rota mais específica prevalece. - A métrica desempata rotas igualmente específicas.
- VPNs e adaptadores virtuais podem desviar o tráfego para a interface errada.
O Test-NetConnection mostra, no campo SourceAddress, o endereço de um adaptador virtual, e não o da placa da rede da loja. O que isso indica?
O tráfego está saindo pela interface errada por causa de uma rota concorrente, situação comum depois da instalação de uma VPN ou de um programa de virtualização.
Um computador tem duas rotas que servem para o destino 192.168.0.50: uma para a rede 192.168.0.0/24, pela VPN, e a rota padrão, pelo cabo. Qual rota prevalece?
A rota para a rede 192.168.0.0/24, pela VPN, porque é a mais específica. A rota padrão só é usada quando nenhuma outra rota se aplica ao destino.