A ordem em que as rotas são inseridas é, por definição, sem importância. Isso se deve a como as rotas devem ser aplicadas: as mais específicas têm precedência sobre as mais genéricas.
Suponha que você tenha duas rotas:
- um primeiro para uma rede 172.16.0.0/16, via gateway 192.168.1.1
- um segundo para uma rede 172.16.32.0/24, via gateway 192.168.1.2
Ao enviar um pacote para a máquina com, digamos, o endereço IP 172.16.32.1, o gateway selecionado será sempre 192.168.1.2, independentemente de como a ordem das rotas foi inserida no sistema.
Existe uma captura, no entanto: que tal duas rotas para a mesma rede , mas com um gateway diferente? Por exemplo, considere esta configuração:
- uma primeira rota para uma rede 172.16.32.0/24, via gateway 192.168.1.1
- uma segunda rota para uma rede 172.16.32.0/24, via gateway 192.168.1.2
Como o sistema funcionaria? Se você quiser que uma rota tenha preferência sobre outra rota idêntica, você deve atribuir a ela um valor de métrica . A métrica é considerada um valor de "custo", com menor métrica preferida. Portanto, se o seu sistema tiver duas rotas idênticas, mas com métrica diferente , ele selecionará a rota com um valor de métrica menor.
Mas o que acontece se as duas rotas forem idênticas, mesmo no valor da métrica? Nesse caso (de canto), o comportamento padrão é indefinido e varia de sistema para sistema. Por exemplo, um sistema pode preferir a primeira rota inserida, enquanto outro sistema pode dar preferência ao último inserido. Outros sistemas podem usar ambas rotas ao mesmo tempo, distribuindo pacotes de maneira quase round-robin chamada ECMP (roteamento multipath de custo igual). Finalmente, outros sistemas podem proibir a presença de duas rotas realmente idênticas, negando a possibilidade de entrar em tais rotas.