无分类地址CIDR

首先需要知道的是,这个CIDR是用来解决什么问题的。我们知道,刚开始IP是被划分为5类的,并且能够我们用的只要前三类,但是这三类的划分有很大的问题。一个B类地址能容纳6万多的主机,而C类地址只能容纳2百多台主机。这样的分类就会造成很大问题,比如某企业有几千号人,那么C类网络肯定满足不了需求,但是B类对它来说又太浪费了。

所以呢?IP分类已经被淘汰不用了,取而代之的是CIDR(无分类编址)。CIDR的理解也非常简单,它就是用一个子网掩码将一个IP一分为二,前面部分是网络位,后面部分是主机为。

下面我们来看什么是子网掩码,子网掩码和IP地址一样,由32位组成,它是由前面连续的1和后面连续的0组成的。我们经常使用十进制的表示方法来显示子网掩码,如下就是一个子网掩码:

255.255.255.0

上面的子网掩码就是由连续的24位1和连续4位0组成的。除此之外,还有一种常见子网掩码的表示方式,我们称之为斜杠发。如下

192.168.110.121/24

前面是IP地址,后面24表示子网掩码。即它是有连续的24位1和连续8位0组成的。

和子网掩码相配套的,还有其他几个知识点,如计算网络号,广播地址,网络最多能容纳主机数。

  • 将子网掩码与IP地址做与操作,就能获得网络号
  • 该网络号的最后一个地址是广播地址
  • 可用地址数量和主机位数相关,比如主机位占8位,那么可用地址数量等于2的8次方再减去2(一个网络地址,一个广播地址)

下面,我们来通过一个案例来巩固下所学的知识,如下,给出IP地址和子网掩码,计算网络号等信息。

172.16.1.196/20

我们知道以下的知识

1 & 1 = 1
0 & 1 = 0

1 & 0 = 0
0 & 0 = 0

那么这个问题就简单了,前面16位肯定是不变的,还是172.16,而后面8位肯定都是0。所以,我们只需要将第三个部分做下与操作即可获得答案。

10进制的1转换为2进制结果为

00000001

计算00000001&11110000,可得值为00000000,转换为10机制值为0。所以,得到网络号为

172.16.0.0

接下来计算可用地址数,主机位占12位,那么可用地址则是2的12次方减去2,即4094.