掩码位数原理、掩码位数计算方法、VLSM详解(IP地址划分方法)、CIDR详解

掩码位数说明

  • 认真看,这个看懂以后基本上就懂了掩码的换算规则了。
  • 下面基本上都是转为换2进制以后的掩码,所以可能不清楚8位制的掩码数(其实知道二进制掩码后,可以用程序员计算器把二进制转为8进制对比。)
    在这附上掩码位数对比表
    注:下面20位掩码IP个数是4096,敲错了。。。
    在这里插入图片描述

使用IP地址掩码标记IP地址网络位说明

  • 额外补充一下,也是在一个讲师那最新得到的消息我无法验证其真假,先记录。 我们都知道23位掩码占2个地址,但并不是都是往后累加的,比如0.0.2.0/23,ip就是0.0.2.0/24-0.0.3.0/24,简单来说,关系如下

    • 1、如果ip是单数,那么主机位就是-1.如0.0.2.0/23,那么占的ip就是0.0.2.0/24和0.0.1.0/24
    • 2、如果ip是偶数,那么主机位就是+1,如0.0.2.0/23,那么占的ip就是0.0.2.0/24和0.0.3.0/24
    • 如下图,20.110.66.66/27,下面为什么用20.110.68.0/23,是因为用20.110.67.0/23的话IP就冲突了,因为20.110.67.0/23的ip为20.110.67.0/24和20.110.66.0/24,而20.110.66.0前面已经用过了,所以只能用20.110.68.0/23 。我以为23位掩码都是往后推,今天突然得知单数往前,偶数往后,先记录吧,以后再验证。
      在这里插入图片描述
  • 这个主要是解决——有类(如abc类)IP地址划分的问题
    说明一下子网划分技术:因为IP地址的有类别的划分,所以导致IP地址的分配十分不灵活,无法适应现在的网络,会造成IP地址的浪费。

    • 掩码(mask)
      根据掩码来判断网络位
      掩码的定义:和IP地址的表示方法异样,但是必须是连续的0和1组成,而且前面必须是1,后面必须是0(如:8位掩码(是8进制),8进制转2进制:255.0.0.0_2进制为:11111111.00000000.0000000.00000000 /8).
      掩码的1标记了网络位,0标注了主机位
      就是说:转换为2进制后,第一位是1开头的就是网络位,0开头的就是主机位

    • 计算机是通过“相与运算”算出来的网络位这些
      如:
      192.168.1.1/24 (8进制,下面为转为换二进制的数)
      1100000.10101000.00000001.00000001 ——IP地址
      11111111.11111111.11111111.00000000——掩码
      11000000.10101000.00000001.00000000——网络位

使用VLSM技术增加IP掩码的长度

  • VLSM——可变长子网掩码
    本质:增加子网掩码的长度,网络位的数量增加了,导致网络的数量增加了,代价是主机位少了,代表每个网络的可用IP地址数量减少了
    在这里插入图片描述

  • 下面内容来源于百度百科:

    • 定义
      VLSM(Variable Length Subnet Mask,可变长子网掩码)规定了如何在一个进行了子网划分的网络中的不同部分使用不同的子网掩码。这对于网络内部不同网段需要不同大小子网的情形来说很有效。
    • 简介
      VLSM其实就是相对于类的IP地址来说的。A类的第一段是网络号(前八位),B类地址的前两段是网络号(前十六位),C类的前三段是网络号(前二十四位)。而VLSM的作用就是在类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。各类网络可以用来再划分子网的位数为:A类有二十四位可以借,B类有十六位可以借,C类有八位可以借(可以再划分的位数就是主机号的位数。实际上不可以都借出来,因为IP地址中必须要有主机号的部分,而且主机号部分剩下一位是没有意义的,所以在实际中可以借的位数是在上面那些数字中再减去2,借的位作为子网部分)。
      这是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码。开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个子网进一步分成多个小子网时有更大的灵活性。如果没有VLSM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。另外,VLSM是基于比特位的,而类网络是基于8位组的。
      在实际工程实践中,能够进一步将网络划分成三级或更多级子网。同时,能够考虑使用全0和全1子网以节省网络地址空间。某局域网上使用了27位的掩码,则每个子网可以支持30台主机(25-2=30);而对于WAN连接而言,每个连接只需要2个地址,理想的方案是使用30位掩码(22-2=2),然而同主类别网络相同掩码的约束,WAN之间也必须使用27位掩码,这样就浪费28个地址。
    • 原理
      可变长子网掩码实际上是相对于标准的有类子网掩码而言的,对于有类的IP地址的网络号部分的位数就相当于默认掩码的长度。A类的第一段是网络号(前八位),B类地址的前两段是网络号(前十六位),C类的前三段是网络号(前二十四位)。而VLSM的作用就是在有类的P地址的基础上,从他们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数,增加了掩码的长度。各类网络可以用来再划分的位数为:A类有二十四位可以借,B类有十六位可以借,C类有八位可以借(可以再划分的位数就是主机号的位数。实际上不可以都借出来,因为P地址中必须要有主机号的部分,而且主机号部分剩下一位是没有意义的,剩下1位的时候不是代表主机号就是代表广播号,所以实际最多可以借位数为主机位数减去2)。这是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码。开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个网分成多个子网时有更大的灵活性。如果没有ⅥISM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。
    • 基本算法
      在这里插入图片描述

VLSM技术划分IP思路讲解

实例一

某公司,有四个部门,分别是A,B,C,D,每个部门需要20个IP地址,该公司申请了一个C类地址块,192.168.134.0/24,请给出合理的子网划分方案。

自行转换成8进制为:
192.168.134.0/24
11000000.10101000.10010011.00000000——地址段
11111111.11111111.11111111.00000000——掩码

根据网络数量来划分

  • 由于该公司有4个网络,所以需要增加两位子网掩码
    在这里插入图片描述

  • 增加后就变为了:
    在这里插入图片描述
    弊端:这个就满足了ABCD4个类的使用需求, 但是,如果由于公司发展,城里了一个新的E部门,该部门也需要20个IP地址,那么这个就无法扩展了!!!!
    所以根据主机数量来分析更为稳妥

根据主机数量来划分

  • 由于每个网络需要20个IP地址,那么需要的主机位就是: 2^n-2>20 ,n最小是5,所以需要5个主机位就够用了
    在这里插入图片描述

  • 挪用了3位主机位为网络位,所以掩码变成了27位(挪用多少主机位就用24加挪用的主机位数量,这就是:24+3)
    在这里插入图片描述

  • 按照上面根据主机数量来划分,最终划分出了8个网络,每个网络的主机位数量是5个,可用IP地址就是2^5-2=32-2=30个,可以满足abcd四个网络的需求,而且也便于后期扩展,其中:
    网络地址:192.168.134.0/27
    可用地址:192.168.134.1/27~192.168.134.30/27
    网关地址:192.168.134.30/27 (网络的出口,必不可少)
    广播地址:192.168.134.31/27

实例二

  • 某公司,abcd四个部门,a部门需要100个IP地址,B部门需要50个IP地址,C和D部门需要25个IP地址,现在公司申请了一个c类地址块,请给出合理的子网划分方案

  • 自行转换成8进制为:
    192.168.147.0/24
    11000000.10101000.10010011.00000000——地址段
    11111111.11111111.11111111.00000000——掩码

根据主机数量来划分

A需要100个IP地址,2^n-2>100_n=7,所以需要7个主机位
在这里插入图片描述

上面第一次子网划分后,把192.168.147.0/25分配给A以后,现在还剩下一个192.168.147.128/25

现在进行第二次子网划分:根据需求,B需要50个ip地址,2^n-2>50_n=6,需要6个主机位, 现在还剩7个主机位,则:
在这里插入图片描述

上面第二次划分子网后,把192.168.147.128/26分配给B网络,每个网络里面有6个主机位,所以又2^6-2=62个可用ip地址,满足B网络的需求,还剩一个192.168.147.192/28
现在进行第三次子网划分:根据需求,c和d两个网络各需要20个ip地址,那么20个IP地址需要2^n-2>20_n=5,需要5个主机位,现在还有6个主机位,可以拿出5个主机位用来当做新的网络位,则:
在这里插入图片描述

27位掩码可用IP为:2^5-2=30个可用IP地址,所以把这两个地址分配分配给C和D,就满足使用条件了。

总结

上面的所有划分中,分为三次划分

  • 第一次划分
    192.168.147.0/25——用来分配给A
    192.168.146.128/25——继续用来划分

  • 第二次划分
    192.168.147.128/26——用来分配给B
    192.168.147.192/26——继续用来划分

  • 第三次划分
    192.168.147.192/27——用来分配给C
    192.168.147.224/27——用来分配给D

  • 最终
    a部门需要100个地址:192.168.147.0/25——2^7-2=126个地址_满足
    b部门需要50个IP地址:192.168.147.128/26——2^6-2=62个地址_满足
    C部门需要25个地址:192.168.147.192/27——2^5-2=30个地址_满足
    D部门需要25个地址:192.168.147.192/27——2^5-2=30个地址_满足

VLSM实例及解法

题目要求

在这里插入图片描述

题目解析:注意,上图中是有2个路由,不是单纯的一个路由50个hosts,而是二级路由一个需要50个主机位,第一个路由到后面二级路由之间也需要网络,还需要2个地址用来做路由器的接口ip,所以上面一共需要6个网络地址。 怕你没懂,我把答案附下图,让你明白是什么意思,后面再做分析。
在这里插入图片描述

解析过程

分析:
根据主机数量进行分析,所以查看50个IP地址需要多少个主机位2^n-2>50_n=6 所以呢,需要6个主机位
那现在有的网络是172.16.32.0/20,转换为二进制如下:
172.16.32.0/20
10101100.00010000.0010 | 0000.00000000——IP地址范围
11111111.11111111.1111|0000.00000000——掩码

由于需要6个主机位,所以在现有网络中的12个主机位里面使用6个主机位。
在这里插入图片描述

上面红色标记的部分就是使用的6个主机位,那么还剩下6个主机位,那就使用这个6个主机位用作网络位
在这里插入图片描述

上述就是掩码增长后的网络,上述棕色的部分是新的网络位,那这些新的网络位实际上是原来的“主机位”,主机位是不是可以即为0又为1
在这里插入图片描述

现在,分了2^6=64个网络,那这64个网络里面,每个网络里有多少个IP地址?
2^6-2=62个,是否能满足一个网络50个IP地址? 能满足。
我现在有4个网络需要50个IP地址,那就从这64个网络中,拿出4个,给上
面有需要的网络用,那么还剩下60个网络那现在图里面还剩下4个网络,这4个网络,每个网络需要2个IP地址,分别作为路由器的接口IP。
在这里插入图片描述

2个IP地址需要多少个主机位?
2^n-2>=2_n=2,需要两个主机位就足够了
由于上面第一次子网划分还剩下60个网络,从里面拿出来一个
在这里插入图片描述

该网络有6个主机位,那我现在需要2个主机位
在这里插入图片描述

上面红色标记的部分是我需要的主机位,还剩下4个主机位,使用这4个主机位用来作为新的网络位,总共16个网络
在这里插入图片描述

我现在需要4个网络,所以从上面第二次子网划分的16个网络中,
拿出4个分配给需要的网络,剩下的,作为保留。
综上已经满足所有需求了,至此,还剩
59个—— 62个可用IP地址的网络(172.16../26)
12个—— 2个可用IP地址的网络(172.16.33.*/30)

思考:第二个网络分配的时候,上面用的是30位掩码,也可以用31位掩码,只有2个IP(因为这个只用来路由连接,可以不需要广播地址和网络地址,只需要2个网关即可),可以自行尝试用31位掩码来给这路由通讯做分配。

CIDR介绍,超网介绍

CIDR的介绍和地址块计算

先来看几个非常规IP:
192.168.0.0/16
192.0.0.0/8
0.0.0.0/0 缺省网络(可以表示任何网络)
CIDR(Classless Inter-Domain Routing,无类域间路由选择)它消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。它可以将好几个IP网络结合在一起,使用一种无类别的域际路由选择算法,使它们合并成一条路由从而较少路由表中的路由条目减轻Internet路由器的负担。
CIDR 还使用“斜线记法”,它又称为CIDR记法,即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的比特数(这个数值对应于三级编址中子网掩码中比特1的个数)。 IP地址::={<网络前缀>,<主机号>} / 网络前缀所占位数
CIDR仅将IP地址划分为网络前缀和主机号两个部分,可以说又回到了二级IP地址的表示,不过大家要注意,最后面用“/”斜线分隔,在其后写上了网络前缀所占的位数,这样就不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码,为了统一,CIDR中的地址掩码依然称为子网掩码。
CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块,这是由连续的IP地址组成的,所以CIDR表示法构成了超网,实现了路由聚合,即从一个IP地址就可以得知一个CIDR地址块。例如:已知一个IP地址是:128.14.35.7/20,那么这个已知条件告诉大家的并不仅仅是一个IP地址这么简单,我们来分析一下。
128.14.35.7/20 = 10000000 00001110 00100011 00000111
即前20位是网络前缀,后12位是主机号,那么我们通过令主机号分别为全0和全1就可以得到一个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与VLSM的区别

CIDR是把几个标准网络合成一个大的网络
  VLSM是把一个标准网络分成几个小型网络(子网)
  CIDR是子网掩码往左边移了,VLSM是子网掩码往右边移了

CIDR子网划分

在CIDR表示法中也可以进行进一步的子网划分,和前面的子网划分类似,我们只需要从主机号中借走一定的位数即可,这里与前面的基本子网划分不同,借走2位时可以划分成4个子网,不用减2,其他位数类似。下面通过一个例子来讲解CIDR中的子网划分。

例:

某个机构拥有一个大的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两个子网。

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

答:

这是一个CIDR子网划分中比较复杂的例子,如果大家能分析透彻这个例子,那么对于CIDR的子网划分的计算就基本不在话下了。

我们一步一步来讨论:

  • 第一,这个机构拥有的地址块是206.0.64.0/18 =206.0. 01000000.00000000 /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.11 00 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 = 0100 0110.0000 0000206.0./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 0100.0000 0000/24
    最大地址是:206.0.70.255/24 = 206.0. 0100 0100.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 0100.1000 0000/25
    最大地址是:206.0.71.255/25 = 206.0.0100 0100.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这两个子网,三系和四系各自的两个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这些子网的细节。

  • 最后,用一副图来展示下这个划分过程。
    在这里插入图片描述

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

҉人间无事人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值