Longest prefix match

From HandWiki
Short description: String-searching algorithm used in IP routing

Longest prefix match (also called Maximum prefix length match) refers to an algorithm used by routers in Internet Protocol (IP) networking to select an entry from a routing table.[1]

Because each entry in a forwarding table may specify a sub-network, one destination address may match more than one forwarding table entry. The most specific of the matching table entries — the one with the longest subnet mask — is called the longest prefix match. It is called this because it is also the entry where the largest number of leading address bits of the destination address match those in the table entry. [2]

For example, consider this IPv4 forwarding table (CIDR notation is used):

192.168.20.16/28
192.168.0.0/16

When the address 192.168.20.19 needs to be looked up, both entries in the forwarding table "match". That is, both entries contain the looked up address. In this case, the longest prefix of the candidate routes is 192.168.20.16/28, since its subnet mask (/28) is longer than the other entry's mask (/16), making the route more specific.

Forwarding tables often contain a default route, which has the shortest possible prefix match, to fall back on in case matches with all other entries fail.

See also

  • Network Search Engine: hardware accelerator used in routers for LPM lookups.
  • Trie: prefix tree

References

  1. Comer, Douglas (2008). Computer Networks and Internets (5th ed.). Pearson/Prentice Hall. pp. 368. ISBN 978-0-13-606698-9. 
  2. Wright, Robert (1998). IP Routing Primer. Cisco Press. pp. 352. ISBN 978-1578701087.