最长前缀匹配

最长前缀匹配是指在IP协议中,被路由器用于在路由表中进行选择的一个算法

因为路由表中的每个表项都指定了一个网络,所以一个目的地址可能与多个表项匹配。最明确的一个表项——即子网掩码最长的一个——就叫做最长前缀匹配。之所以这样称呼它,是因为这个表项也是路由表中,与目的地址的高位匹配得最多的表项。

例如,考虑下面这个IPv4的路由表(这里用CIDR来表示):

192.168.20.16/28
192.168.0.0/16

在要查找地址192.168.20.19的时候,这两个表项都“匹配”。也就是说,两个表项都包含着要查找的地址。这种情况下,前缀最长的路由就是192.168.20.16/28,因为它的子网掩码(/28)比其他表项的掩码(/16)要长,使得它更加明确。

路由表中常常包含一个默认路由。这个路由在所有表项都不匹配的时候有着最短的前缀匹配。