CIDR概述及其地址块计算

CIDR概述

英文:Classless Inter-Domain Routing,中文是:无分类域间路由选择。一般叫做无分类编址。

设计目的:解决路由表项目过多过大的问题。

表示法:{<网络前缀>,<主机号>} / 网络前缀所占位数

CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块。例如这个IP:128.14.35.7/20

  128.14.35.7/20:00000000 00001110 00100011 00000111

  我们可以看出来前20位是网络号,后12位是主机号,因此我们还可以计算出这个CIDR地址块的最小地址和最大地址:

  最小地址:128.14.32.0  = 10000000  00001110  00100000  00000000 

  最大地址:128.14.47.255 = 10000000  00001110  00101111 11111111

  子网掩码:255.255.240.0 = 11111111  11111111  11110000  00000000

  因此这个CIDR地址块有(47-32+1)*256=4096个地址,包含全0和全1.

CIDR子网划分

CIDR子网划分与我们之前学习的子网划分方式不同:比如网络号向主机号借走2位时可以划分成4个子网,不用减2

例子:某个机构拥有一个大的CIDR地址块,即206.0.64.0/18,现在某个高校需要申请一个较大的CIDR地址块以供学校使用,学校内部又分为4个系,由于每个系的人数不一样,所以要给人数较多的系分配较多的IP地址,人数较少的系分配较少的IP地址,现在采用以下的分配方案:

机构分配给该高校一个CIDR地址块:206.0.68.0/22,然后该高校内部的分配方案如下:

    一系:206.0.68.0/23,一系内部又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网。
    二系:206.0.70.0/24,二系内部又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网。
    三系:206.0.71.0/25,三系内部又分为206.0.71.0/26和206.0.71.64/26两个子网。
    四系:206.0.71.128/25,四系内部又分为206.0.71.128/26和206.0.71.192/26两个子网。

    请分析以上方案划分的具体细节。

    第一,这个机构拥有的地址块是206.0.64.0/18 =206.0.0100 0000.0000 0000/18,网络前缀是18位,所以其

    最小地址是:206.0.64.0/18       = 206.0.0100 0000.0000 0000/18
    最大地址是:206.0.127.255/18 = 206.0.0111 1111.1111 1111/18
    子网掩码是:255.255.192.0/18 = 1111 1111.1111 1111.1100 0000.0000 0000/18
    拥有的地址数:(127-64+1)*(255-0+1)=16384

    然后,我们来看一下这个机构给该高校分配的CIDR地址块,即206.0.68.0/22,由此可以看出来网络前缀由18增加到了22,所以该机构相当于将其CIDR地址块划分成了16个子块即子网,然后给该高校了第二个子网,即206.0.0100 0100.0/22,黑色加粗的部分是原来的网络前缀,后面红色部分类似于前面介绍的子网号,由于是4位,所以可以从0000~1111,共16个子网,0001自然就是第二个子网。

    第二,既然高校拥有了机构的第二个子网的CIDR地址块206.0.68.0/22 = 206.0.0100 0100.0/22,其网络前缀是22位,所以其

    最小地址是:206.0.68.0/22       = 206.0.0100 0100.0000 0000/22
    最大地址是:206.0.71.255/22   = 206.0.0100 0111.1111 1111/22
    子网掩码是:255.255.252.0/22 = 1111 1111.1111 1111.1111 1100.0000 0000/22
    拥有的地址数:(71-68+1)*(255-0+1)=1024

    然后该高校内部又对这个CIDR地址块进行了划分,进一步得到了高校内部的子网,紧接着我们来看看一系的CIDR地址块是怎么得到的。

    第三,一系的CIDR地址块是206.0.68.0/23,可以看出来其网络前缀相对于高校的CIDR地址块来说增加了1位,说明高校首先将其CIDR地址块划分成了2个子网,其中一个给了一系。那么这两个子网分别是:一系的:206.0.68.0/23 = 206.0.0100 0100.0/23和剩余的(记为余1):206.0.70.0/23 =206.0.0100 0110.0/23,注意其中的红色部分就是新增的这一位,用来标志两个子网。

    那么,一系的
    最小地址是:206.0.68.0/23       = 206.0.0100 0100.0000 0000/23
    最大地址是:206.0.69.255/23   = 206.0.0100 0101.1111 1111/23
    子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
    拥有的地址数:(69-68+1)*(255-0+1)=512

    余1的
    最小地址是:206.0.70.0/23       = 206.0.0100 0110.0000 0000/23
    最大地址是:206.0.71.255/23   = 206.0.0100 0111.1111 1111/23
    子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
    拥有的地址数:(71-70+1)*(255-0+1)=512

    现在,一系的CIDR地址块已经很明确,然后一系内部又进行了划分,即又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网,网络前缀从23位变成了25位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到。

    第四,一系明确以后,就要考虑其他系的划分,可以看到二系分配到的CIDR地址块是206.0.70.0/24,可以看出来其网络前缀相对于余1的CIDR地址块来说增加了1位,说明余1的CIDR地址块被划分成了2个子网,其中一个给了二系。那么这两个子网分别是:二系的:206.0.70.0/24 = 206.0.0100 0110.0/24和剩余的(记为余2):206.0.71.0/24 =206.0.0100 0111.0/24,注意其中的红色部分就是新增的这一位,用来标志两个子网。

    那么,二系的
    最小地址是:206.0.70.0/24       = 206.0.0100 0110.0000 0000/24
    最大地址是:206.0.70.255/24   = 206.0.0100 0110.1111 1111/24
    子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
    拥有的地址数:(70-70+1)*(255-0+1)=256

    余2的
    最小地址是:206.0.71.0/24       = 206.0.0100 0111.0000 0000/24
    最大地址是:206.0.71.255/24   = 206.0.0100 0111.1111 1111/24
    子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
    拥有的地址数:(70-70+1)*(255-0+1)=256

    现在,二系的CIDR地址块已经很明确,然后二系内部又进行了划分,即又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网,网络前缀从24位变成了26位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到。

    第五,二系明确以后,就要考虑其他系的划分,可以看到三系分配到的CIDR地址块是206.0.71.0/25,而四系分配到的CIDR地址块是206.0.71.128/25,可以看出来其网络前缀相对于余2的CIDR地址块来说增加了1位,说明余2的CIDR地址块被划分成了2个子网,其中一个给了三系,另外一个给了四系。那么这两个子网分别是:三系的:206.0.71.0/25 = 206.0.71.0000 0000/25和四系的:206.0.71.128/25 = 206.0.71.1000 0000/25,注意其中的红色部分就是新增的这一位,用来标志两个子网。

    那么,三系的
    最小地址是:206.0.71.0/25       = 206.0.0100 0100.0000 0000/25
    最大地址是:206.0.71.127/25   = 206.0.0100 0100.0111 1111/25
    子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
    拥有的地址数:(71-71+1)*(127-0+1)=128

   
    四系的
    最小地址是:206.0.71.128/25   = 206.0.0100 0111.1000 0000/25
    最大地址是:206.0.71.255/25   = 206.0.0100 0111.1111 1111/25
    子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
    拥有的地址数:(71-71+1)*(255-128+1)=128

    现在,三系和四系的CIDR地址块已经很明确,到目前为止,该高校已经将所有的CIDR地址块分配给了四个系,一系有512个地址,二系有256个地址,三系和四系各有128个地址。然后三系内部又进行了划分,即又分为206.0.71.0/26和206.0.71.64/26两个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,同时,四系内部也又进行了划分,即又分为206.0.71.128/26和206.0.71.192/26两个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,三系和四系各自的两个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议大家可以自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这些子网的细节。

最后我们给出本题的图画

原文地址:https://www.cnblogs.com/FengGeBlog/p/9829912.html