Classless 和 Classful

classful有类网络:
A类主网:1-127      /8   IP地址前8位为网络位
B类主网:128-191    /16  IP地址前16位为网络位
C类主网:192-223    /24  IP地址前24位为网络位
D类主网:224-239    用于组播

classless无类网络:
没有主类的概念,只认IP地址的网络位和主机位;
通常,称掩码长度>原主类掩码长度的网络为子网;
        掩码长度<原主类掩码长度的网络为超网;
如A类子网:10.0.0.0 /9 /10 /11 /12 /13 。。。
B类子网:128.0.0.0  /17 /18 /19 /20。。。
C类子网:192.0.0.0  /24 /25 /26 /27。。。

除了在IP网络中有classless和classful之分,路由器也有classless和classful的不同工作方式:
1、路由器工作在classless无类方式下,Router(config)#ip classless
路由器在路由表中选择路径的时候,会根据最长掩码匹配的原则,选择最佳路径;
如果找不到相应路径,则最终选择默认路由(如果存在的话)

2、路由器工作在classful有类方式下,Router(config)#no ip classles
这时,路由器处理路由选择时,会有所不同,举例说明:
现路由表中有10.0.0.0/8的主类路由,10.1.1.0/16,0.0.0.0/0的默认路由;
有个数据包去往10.1.1.0/16,这时,路由器会进行路由查找,找到对应的10.1.1.0/16这条路由,按照它进行转发,
没有问题,但是当有一个数据包去往10.1.2.0/16时,路由器就会把该数据包丢弃,而不走默认路由。因为在有类工作方式下,对于某一主类网络,如果路由表中已经存在该主类网络中的某个子网的路由,则路由器会认为自己已经知道了该主类网络中的所有子网路由,当它收到一个去往该主网的某个子网,而这个子网路由在路由表中不存在时,会直接采取丢弃动作,而不管有没有默认路由。
但是如果收到的是去往20.1.2.0/16的数据包,它不属于10.0.0.0/8这个主网,路由器会一直往下查找路由表,最终按默认路由将其转发。

你可能感兴趣的:(classless,classful)