L'ordine in cui vengono inseriti i percorsi è, per definizione, irrilevante. Ciò è dovuto al modo in cui i percorsi dovrebbero essere applicati:quelli più specifici hanno la precedenza su quelli più generici.
Supponi di avere due percorsi:
- una prima per una rete 172.16.0.0/16, tramite gateway 192.168.1.1
- un secondo per una rete 172.16.32.0/24, tramite gateway 192.168.1.2
Quando si invia un pacchetto alla macchina con, diciamo, indirizzo IP 172.16.32.1, il gateway selezionato sarà sempre 192.168.1.2, indipendentemente da come l'ordine delle rotte è stato inserito nel sistema.
C'è un problema, tuttavia:che dire di due percorsi per la stessa rete , ma con un gateway diverso? Ad esempio, considera questa configurazione:
- un primo percorso per una rete 172.16.32.0/24, tramite gateway 192.168.1.1
- un secondo percorso per una rete 172.16.32.0/24, tramite il gateway 192.168.1.2
Come funzionerebbe il sistema? Se vuoi che un percorso abbia la preferenza su un altro percorso altrimenti identico, devi assegnargli una metrica valore. La metrica è considerata come un valore di "costo", con la preferenza per la metrica inferiore. Quindi, se il tuo sistema ha due percorsi altrimenti identici ma con metriche diverse , seleziona il percorso con un valore metrico inferiore.
Ma cosa succede se i due percorsi sono identici anche nel valore metrico? In questo caso (d'angolo), il comportamento predefinito non è definito e varia da sistema a sistema. Ad esempio, un sistema potrebbe preferire il primo percorso inserito, mentre un altro sistema potrebbe dare la preferenza all'ultimo percorso inserito. Altri sistemi possono utilizzare entrambi route allo stesso tempo, distribuendo i pacchetti in modo quasi round-robin chiamato ECMP (equal cost multipath routing). Infine, altri sistemi possono vietare la presenza di due percorsi realmente identici, negando la possibilità anche solo di entrare in tali percorsi.