定义:子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码子网掩码不能单独存在,它必须结合IP地址一起使用子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分,我来为大家科普一下关于子网掩码知识?下面希望有你要的答案,我们一起来看看吧!

子网掩码知识(子网掩码讲解)

子网掩码知识

定义:

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

默认子网掩码:

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

构成

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。

  • 将 IP 地址与子网掩码转换成二进制;

  • 将二进制形式的 IP 地址与子网掩码做 ’ 与 ’ 运算,将答案化为十进制便得到网络地址;

  • 将二进制形式的子网掩码取 ’ 反 ’ ;

  • 将取 ’ 反 ’ 后的子网掩码与 IP 地址做 ’ 与 ’ 运算,将答案化为十进制便得到主机地址。

  • 下面我们用一个例子给大家演示:

    假设有一个 I P 地址: 192.168.0.1

    子网掩码为: 255.255.255.0

    化为二进制为: I P 地址 11000000.10101000.00000000.00000001

    子网掩码 11111111.11111111.11111111.00000000

    将两者做 ’ 与 ’ 运算得: 11000000.10101000.00000000.00000000

    将其化为十进制得: 192.168.0.0

    这便是上面 IP 的网络地址,主机地址以此类推。

    如何计算子网数量?

    这个问题大家会常常提到,还是从子网掩码入手,主要有两个步骤:

    1. 观察子网掩码的二进制形式,确定作为子网号的位数 n ;

    2. 子网数量为 2^n - 2 。(为什么减 2 ,继续往下看)

    举个例子来说,比如有这样一个子网掩码: 255.255.255.224 其二进制为:

    11111111.11111111.11111111.11100000

    可见 n=3,2 的 3 次方为 8 ,说明子网地址可能有

    如下 8 种情况:

    000 001 010 011 100 101 110 111

    但其中代表网络自身的 000 ;代表广播地址的 111 是被保留的,所以要减 2 。

    如何计算总主机数量,子网内主机数量?

    总主机数量=子网数量×子网内主机数量

    再用一个例子给大家说明,比如子网掩码为 255.255.255.224

    上面的讨论知道它最多可以划分 6 个子网,那么每个子网内最多有多少个主机呢?其实上面我已经给大家算过了,由于网络被划分为 6 个子网,占用了主机号的前 3 位,且是 C 类地址,则主机号只能用 5 位来表示主机号,因此子网内的主机数量=( 2 的 5 次方)- 2 = 30.

    因此通过这个子网掩码我们可以算出这个网络最多可以标识 6*30=180 个主机(可见,在化分子网后,整个网络所能标识的主机数量将减少)。

    计算方式

    由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

    根据子网数

    利用子网数来计算

    在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

    1)将子网数目转化为二进制来表示

    2)取得该二进制的位数,为 N

    3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。

    如欲将B类IP地址168.195.0.0划分成27个子网:

    1)27=11011

    2)该二进制为五位数,N = 5

    3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0

    即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。

    这一段介绍的是旧标准下计算的方法,关于旧的标准后文在介绍,在新标准中则可以先将27减去1,因为计算机是从0开始计算的,从0到27实际上是有28个,所以说如果需要27个就需要将27减去1。

    根据主机数

    利用主机数来计算

    1)将主机数目转化为二进制来表示

    2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。

    3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

    如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

    1) 700=1010111100

    2)该二进制为十位数,N = 10

    3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255

    然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000

    即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。

    ,