下面是由希赛小编提供的中级通信交换技术知识点精讲之最长前缀匹配,希望对学友们有所帮助。具体内容如下:
最长前缀匹配
在使用CIDR时,由于采用了网络前缀这种记法,IP地址由网络前缀和主机号这两个部分组成,因此在路由表中的项目也要有相应的改变。这时,每个项目由目的地址的“网络前缀”和“下一跳地址”组成。但是在查找路由表时可能会得到不止一个匹配结果。这样就带来一个问题:我们应当从这些匹配结果中选择哪一条路由呢?
正确的答案是:应当从匹配结果中选择具有最长网络前缀的路由。这叫做最长前缀匹配(longest-prefix matching),就是因为网络前缀越长,其地址块就越小,因而路由就越具体(more specific)。最长前缀匹配又称为最长匹配或最佳匹配。为了说明最长前缀匹配的概念,我们仍以前面的例子来讨论。
假定大学下属的四系现在希望ISP将转发给四系的数据分组直接发到四系而不要经过大学的路由器,但又不愿意改变自己原来使用的1P地址块。因此,在ISP的路由器的路由表中,至少要有以下两个项目,即206.0.68.0/22(大学)和206.0.71.128/25(四系)。现在假定ISP收到一个分组,其目的IP地址为D=206.0.71.130。将D和路由表中这两个项目的掩码逐比特相“与”。将所得的逐比特相“与”的结果按顺序写在下面。
D和11111111 11111111 11111100 00000000逐比特相“与”=206.0.68.0/22匹配.D和111.11111 11111111 11111111 10000000逐比特相“与”=206.0.71.128/25匹配不难看出,现在同一个IP地址D可以在路由表中找到两个目的网络(大学和四系)与该地址相匹配。根据最长前缀匹配的原理,应当选择后者,将收到的分组转发到后一个目的网络(四系),即选择两个匹配的地址中更具体的一个。
从以上的讨论可以看出,如果IP地址的分配一开始就采用CIDR,那么我们可以按网络所在的地理位置来分配地址块,这样就可以大大减少路由表中的路由项目。例如,可以将世界划分为四大地区,每一地区分配一个CIDR地址块[TANE96]:
地址块194/7(194.0.0.0至195.255.255.255)分配给欧洲;
地址块198/7(198.0.0.0至199.255.255.255)分配给北美洲;
地址块200/7(200.0.0.0至201.255.255.255)分配给中美洲和南美洲;
地址块202/7(202.0.0.0至203.255.255.255)分配给亚洲和太平洋地区。
上面的每一个地址块包含有约3200万个地址。这种分配地址的方法就使得IP地址与地理位置相关联。它的好处是可以大大压缩路由表中的项目数。例如,凡是从中国发往北美的数据报(不管它是地址块198/7中的哪一个地址)都先送交位于美国的一个路由器,因此在路由表中使用一个项目即可。
但是,在使用CIDR之前互联网的地址管理机构没有按地理位置来分配IP地址。现在要把分配出的IP地址收冋再重新分配是十分困难的事,因为这牵涉到很多正在工作的主机必须改变其IP地址。尽管如此,CIDR的使用已经推迟了IP地址将要耗尽的日期。
相关推荐: