Longest prefix match
# Longest prefix match

Il longest prefix match (detto anche Maximum prefix length match) è un algoritmo di livello 3 utilizzato dai router con protocollo IP per selezionare una particolare linea da una tabella di routing.

Poiché ogni linea di una tabella di routing specifica una sottorete, è possibile che un indirizzo IP stia in due linee distinte, cioè che due reti siano parzialmente sovrapposte. La linea più specifica, ossia quella che contenga una rete con la più alta sottomaschera di rete, è chiamata longest prefix match (valore con il più lungo prefisso). Il dato è così chiamato proprio perché il numero di bit a 1 nella maschera di sottorete è maggiore delle reti sovrapposte.

Nel caso un router debba scegliere il Next Hop tra due reti sovrapposte, verrà scelta la rete con il longest prefix match, in modo da rendere più specifico il percorso che dovrà fare il pacchetto. In questo modo, il pacchetto andrà verso router che gestiscono reti più piccole, rispetto a router che gestiscano reti più grandi.

Ad esempio, consideriamo queste linee in una tabella di routing (viene utilizzata la notazione CIDR)

Quando il router dovrà indirizzare un pacchetto all'indirizzo 10.1.5.64 (appartenente a tutte e tre le sottoreti della tabella di routing), sceglierà la riga con il longest prefix match per il Next Hop. In questo caso, verrà utilizzata la riga 10.1.5.64/29 che ha sottomaschera di rete /29, maggiore di /28 e di /27.

