Javascript is required

IP数据云课堂:什么是子网掩码?

作者: IP数据云

栏目: 技术解读

发布时间: 2022-07-09 15:29:43

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。


子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。


【IP数据云免费查IP归属地、IP应用场景】



子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。


在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。


一、常用的子网掩码



子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和“255.255.0.0”。


1. 子网掩码是“255.255.255.0”的网络:


最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。


2. 子网掩码是“255.255.0.0”的网络:


后面两个数字可以在0~255范围内任意变化,可以提供65536个IP地址。但是实际可用的IP地址数量减2,即65534个。


IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内。


二、子网掩码的算法


对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.14.3.0,无须再分割子网,则该IP地址的子网掩码为255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。


一、利用子网数来计算


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


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,得到 255.255.248.0

即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。


二、利用主机数来计算


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的子网掩码。


下面列出各类IP地址所能划分出的所有子网,其划分后的主机和子网占位数,以及主机和子网的(最大)数目,注意要去掉保留的IP地址(即划分后有主机位或子网位全为“0”或全为“1”的):