定义
在使用 CIDR 时,路由表的每个项目的组成 ,<网络前缀,下一跳地址>。在查找路由的时候可能会得到不止一个匹配的结果。此时应当从匹配结果中选择具有最长网络前缀的路由。因为网络前缀越长,其地址块就越小,路由就越具体。
实例
已知:
收到的分组的目的地址 D = 206.0.71.128
路由表中的项目:206.0.68.0/22 206.0.71.128/25
问:分组发往哪个地址?
求解思路
将子网掩码与目的地址相与,确定该目的地址是否属于该子网内部。如果两者都属于,则选择网络前缀(掩码)最长的。
求解过程
1.先用 D 和第一个下一跳地址的子网掩码相与
206.0.71.128 AND 11111111.11111111.11111100.00000000
结果
206.0.01000100.0 也就是 206.0.68.0
说明匹配。
2.再用 D 和第二个下一跳地址的子网掩码相与
206.0.71.128 AND 11111111.11111111.11111111.10000000
结果是
也是 206.0.71.128
也匹配。
这个时候由于两个子网都匹配,选择最长的网络前缀匹配,也就是 206.0.71.128