对于ip classless太常见了,可仔细看了看资料,发现其中也是蛮有些道道的:
   先介绍一下ip classless与no ip classless:ip classless是指的是无类的路由,在使用的过程中必须与掩码来对其确定化,否则没有意义的,在实际的生产中主要是用来进行子网化(对一个大的网段进行细分)和超网化(汇聚),可以很大程度的减少路由表;而no ip classless(ip classful)则是按照标准的ABCD类IP地址划分的,其掩码必须是标准的8位、16位、24位。
   加一条ip classless命令,那么路由器成为无类路由环境,当目的数据包到达时,不进行有类匹配,而是进行无类匹配,即进行最长匹配原则;当用最长匹配时不在路由表内,那么路由器将把它交给默认路由,通过默认路由,把数据包送出。
   而在使用有类路有,当一个路由器收到一个数据包,而它的目的地址在路由表中不存在的话,它就会丢弃这个数据包。如果你使用了缺省路由,就必须使用ip classless命令,因为远端子网并不一定存在于你的路由表中。
   我们使用一个例子来说明下,我们在使用sh ip route时有如下显示:
C  10.0.0.0/8
C     10.1.0.0/16
C     10.2.0.0/16
S  20.0.0.0/8
 
   现在我们这儿有两个包,一个要到10.3.0.0/16的网段,另一个包到20.0.0.0/8的网段。
   当我们使用no ip classless的时候(有类路由),路由器会查看最大的那个类网络号,发现10.3.0.0/16的大网络号是一个A类的地址,然后在这个地址中查找10.3.0.0/16的记录,路由器发现10.3.0.0/16不在路由表中,所以就会采取将该包扔掉,即使有缺省路由也不成;相对而言,20.0.0.0/8的包则会交给默认路由来处理。
   而现在ip classless(无类路由)被启动了,两个包都将通过默认路由完成转发。
 
   总结:ip classless存在时路由器查找路由表使用的是最长匹配原则,而不是考虑目标地址是哪个类的