有类和无类的区别:1、无类别的处理方式,当一个数据包经过路由器的时候,它查看目的地址是否存在于路由表,并且执行的是逐条查询(最长掩码匹配)
2、有类别的处理方式:当一个数据包经过路由器的时候,路由器会查找该目的地址是否在路由表中存在主类网络,如果存在的话,继续查找子网,如果匹配子网条目,则转发,如果不匹配,则丢弃(就算有默认路由存在)。如果不匹配主类网络,查看是否有默认路由,如果有则转发,没有则丢弃。
主要分析有类别的处理方式,因为无类别在讲解之前的静态路由的时候就已经说过了,其实也非常好理解,就是最长掩码匹配。
开启有类别的工作方式: no ip classless
no ip cef
这里必须关闭 CEF,有类别方式才能生效,否则在 CEF 下,也是无类别在工作
ccieh3c.qzone.qq.com-R1(config)#ip route 172.16.1.0 255.255.255.0 12.1.1.2
因为路由器查找关于172.16.0.0/16的主类网络路由是否存在于路由表,关于172.16.1.0/24是172.16.0.0的子网,所以继续查找172.16.1.1是否在172.16.1.0/24的范围内,这是存在的,所以,路由器转发这个数据包。
ccieh3c.qzone.qq.com-R1(config)#no ip route 172.16.1.0 255.255.255.0 12.1.1.2
ccieh3c.qzone.qq.com-R1(config)#ip route 172.16.1.32 255.255.255.224 12.1.1.2
ccieh3c.qzone.qq.com-R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
这次把之前的静态路由去掉,加了一条172.16.1.32/27和一条默认路由,测试的是当路由匹配主类网络的时候,但是不匹配子网路由,是否使用默认路由
这次测试是不通的,介绍过有类的工作方式,当匹配了主类路由的时候,子网路由不匹配的话,则直接丢弃,不管是否存在默认路由。
ccieh3c.qzone.qq.com-R1(config)#no ip route 172.16.1.32 255.255.2