Considere a seguinte tabela de roteamento:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.8.1 192.168.8.2 2
0.0.0.0 128.0.0.0 10.20.20.1 10.20.20.35 6
Qual regra de roteamento é selecionada para ip "8.8.8.8"? O Windows seleciona a primeira regra correspondente (a regra inferior) ou a regra com a métrica mais baixa (a primeira)?
Nenhum. O IP usa roteamento de "correspondência de prefixo mais longo" – de todas as rotas correspondentes, a rota com mais '1' bits em sua máscara de rede (ou seja, a rota mais específica ) é escolhida.
Somente se várias rotas com máscaras de rede idênticas corresponderem ao destino, suas métricas de custo serão comparadas e a rota com a métrica mais baixa será escolhida.
Portanto, se o seu destino for 8.8.8.8, ambas as rotas serão correspondentes, mas aquela com máscara de rede 128.0.0.0 terá prioridade devido a ter mais bits de máscara de rede '1' (ou seja, um prefixo de correspondência mais longo). A métrica não é usada.
A regra inferior será escolhida. A métrica não tem importância, pois apenas esta regra corresponde.
A métrica só é consultada se for encontrada mais de uma regra que corresponda ao endereço IP, mas aqui há apenas uma regra correspondente. A rota padrão não pode corresponder a nada, então não conta.
O artigo da Microsoft Metric explica quando a métrica é levada em consideração:
Porém, tenho algumas dúvidas sobre a viabilidade do exemplo dado aqui no post. Conforme observado pelo usuário 1686 abaixo, esse conjunto de regras pode estar incompleto.
A regra inferior é estranha no fato de que seu endereço de interface, quando cruzado com a máscara de rede, fornece apenas um zero. Por isso difere de qualquer outro exemplo que já vi, onde a interseção sempre dava algum número diferente de zero.