由于分配的IPV4地址分为A、B、C三类,这样的设置存在很大问题。对于大部分机构来说,分配一个A类地址可容纳1 677 万台主机,显得太多;C类地址只容纳254台主机,又显得特少;容纳65534主机的B类地址比较适中,许多机构都愿意申请一个B类地址。实际上对很多中等规模的机构来说,B类地址也偏多而常常闲置,造成了IP地址的浪费。为了解决这样的问题,可以分配多个较小的网络,即多个C类网络而不是一个B类网络,但大量的C类网络又加剧了路由表的膨胀,路由表的极度膨胀将耗尽路由器的资源。
CIDR消除了传统的A、B、C三类地址的类别以及划分子网的概念,其基本思想是将地址空间分成大小为2n 的地址块,、可为用户分配其中的一块。实际上当n=8/16/24时,就相当于为用户分配了C/B/A类地址。但在CIDR中,n可连续变化,当n=8-16相当于2n-8 个C类。因此,CIDR地址切分的细度更大、分配更加灵活。
CIDR仍使用掩码的概念,CIDR地址斜线之后的数字也是掩码的比特数,它对应原来分类地址中划分子网时使用的子网掩码,它与CIDR地址”与”运算得到CIDR地址块的网络前缀。
【实例3】 192.168.160.7/20
“/”之后的“20”表示网络前缀占20比特,其余为主机号,占12(32-20)比特。该地址相应的二进制表示为:
11000000.00100100.10100000.00000111
网络前缀(20比特) 主机号
其掩码为:
11111111.11111111.11110000.00000000
(255. 255. 240. 0)
这个CIDR地址所在的地址块(子网)有212 =4096个地址,不难看出,其首地址和末地址分别为:
首地址(子网地址):192.36.160.0 11000000. 00100100. 10100000. 00000000
末地址(广播地址):192.36.175.255 11000000. 00100100. 1010111. 111111
全为0全为1的主机号不使用,只使用上述两个地址之间的4094个地址。
CIDR分配的原则如下:
1、为用户分配一块连续的地址空间,可包含2n 个IP地址。
2、这块地址的首地址应该是2n 的整数倍。
3、掩码的高32-n 比特为1,低n比特为0。
【实例4】若某ISP用于地址块192.36.128.0/17,它包含了215 =32768个地址,相当于128个C类地址。某企业有3600台计算机,从中分配了192.36.160.0/20的地址块,包含212 =4096个地址,相当于16个C类地址,若按原分类地址方案中分配一个B类地址,则要用65536个地址空间,造成非常大的浪费。
假若这个企业下属4个部门:企业管理机关、一分厂、二分厂、三分厂,分别有1800、900、450、450台计算机,这个如何正确分配相应的地址块达到企业所需要的目标呢。
至于计算过程可以参考《IP子网划分在企业局域网中的应用》中的求子网和主机的相对应的公式,我就把结果写下来,可供参考。