首先,路由器匹配主网络号。如果主网络号存在,它将继续与子网号匹配,不管默认路由是什么。如果子网不匹配,它将丢弃数据包。在分类路由下,路由器认为它知道所有主网络下的所有子网,并使用ICMP返回不可达响应。如果主网络号不存在,则使用默认路由。
1.首先,路由器匹配与目的ip地址最相似的路由。如果找不到,它将使用默认路由转发。其主网络号(如果主网络号存在)将继续与子网号匹配,而不考虑默认路由。如果子网不匹配,则丢弃数据包,并使用ICMP返回一个无法到达的响应。
第二,这大多出现在一些早期的IOS版本中。这些早期版本默认不开启ip classless,但是开启ip classless会改变路由器的路由行为。此时,路由器将进行最长最准确的匹配或使用默认路由进行匹配,使用无类路由。如果找不到最匹配的路由,将使用默认路由。ip classless命令的作用主要是改变有类路由协议的路由表查找行为。
3.目的IP是10.3.1.1,其主网络是124.215.2.12。目前,路由表中有一条124.215.2.12的子网路由。这时路由器要进一步寻找子网路由,是否能准确匹配。我们可以看到路由表中的两条子网路由124.216.2.12/16和12.36.124.78/16,与我们的目的地址不匹配。根据有类路由协议的原理,它不会选择默认路由,所以报文B被路由器丢弃。
四。目的IP是124.205.6.13,它的主网络是124.215.2.12。目前,路由表中有一条124.215.2.12的子网路由。这时路由器要进一步寻找子网路由,是否能准确匹配。我们可以看到,124.216.2.12/16可以匹配我们的目的地址,因此消息A是根据这条路由转发的。
5.目的IP是126.205.6.13,其主网络是11.0.0.0。当前路由表中没有126.23.25.26的子网路由。此时路由器直接使用默认路由,于是路由器使用默认路由转发报文c,以上结果就是无类路由协议寻找路由的行为,而配置ip无类的目的就是改变这种行为。配置完这个命令后,查找路由的行为是基于最长匹配原则的,可以通过。
6.首先,找到目标IP所在的主网。如果路由表中有任何主网的子网路由,需要精确匹配子网路由;如果没有找到确切的子网路由,它将不会选择最后的默认路由,而是会丢弃该消息。如果路由表中没有主网络的子网路由,最终会选择默认路由。
最后,需要说明的是,该命令对于无类路由协议没有任何意义,因为无类路由协议查找路由的方式是最长匹配原则。关于路由器匹配的更多问题,感兴趣的用户可以看看这个网站的其他路由器设置。