什么是子网掩码?
子网掩码是一个用于计算 IP 构成的数字。
一个 IP 由 2 个部分构成:网络标识和主机标识,子网掩码的作用,就是把这两个部分区分开。
因为 IPv4 是一个 32 位数字,所以子网掩码也是 32 位数字。
子网掩码是 IPv4 中的一个概念,在 IPv6 中已经不存在这一概念。
网络标识
假设,我的主机 IP 是 192.168.1.100
,我如何确定另外一个 IP 192.168.1.200
跟我的主机是不是同一个网段?
同一个网段
如果用的是默认子网掩码,也就是 255.255.255.0
,IP 和子网掩码按位与运算就能得到网络标识
。
如下,第一个 IP 的网络标识是:
192.168.001.100
& 255.255.255.000
--------------------
= 192.168.001.000
第二个 IP 的网络标识是:
192.168.001.200
& 255.255.255.000
--------------------
= 192.168.001.000
他们的网络标识是一样的,都是192.168.1.0
,所以它们在同一个网段里面。
不同网段
另外一种情况,如果我们用的掩码是 255.255.255.192
,再按位与运算。
第一个 IP 的网路标识是:
192.168.001.100
& 255.255.255.192
--------------------
= 192.168.001.64
第二个 IP 的网络标识是:
192.168.001.200
& 255.255.255.192
--------------------
= 192.168.001.192
这时它们的网络标识不一样,所以,他们不再同一个网段,不能互通。
子网分配
因为我们希望能通过这种机制来隔离局域网内的主机。
假设我们路由器使用网段 192.168.1.0
,大概总共有200
台左右的电脑接入。
那么,如果我们希望他们之间可以相互连通,那直接使用默认掩码就可以,所有范围在192.168.1.0-255
的 IP 都会在一个子网上,都能相互连通。
如果我们希望把他们隔离开来,比如一个公司里面,开发、财务、市场、人力各用自己的 IP 段,那就要对 IP 进行分段,这里我们就可以分成4
段:
- 第 1 段开发用网段:
192.168.1.0 - 63
- 第 2 段财务用网段:
192.168.1.64 - 127
- 第 3 段市场用网段:
192.168.1.128 - 191
- 第 4 段人力用网段:
192.168.1.192 - 255
那子网掩码怎么分配呢?
192.168.1.0
网段共256
个地址,划分成4
个子网,每个子网有64
个 IP 地址。
64
是2
的6
次方,子网掩码应该以26
个1
和6
个0
组成,转换成十进制是255.255.255.192
,对应二进制为:
11111111.11111111.11111111.11000000
公司各部门电脑自己的 IP 地址范围进行设置,子网掩码都必须设置为255.255.255.192
,设置完毕后各部门内的计算机能正常联网,不同部门间的计算机无法直接联通。
网段和掩码表示
上面我们分了4个网段,如何通过简单的方式表示这些网段呢?
一般来说,用第一个地址加上掩码位,就可以表示整个 IP 网段了,如下:
- 第 1 段开发用网段:
192.168.1.0 - 63
,表示为:192.168.1.0/26
- 第 2 段财务用网段:
192.168.1.64 - 127
,表示为:192.168.1.64/26
- 第 3 段市场用网段:
192.168.1.128 - 191
,表示为:192.168.1.128/26
- 第 4 段人力用网段:
192.168.1.192 - 255
,表示为:192.168.1.192/26
其中,26
表示掩码中1
的个数,等价于掩码255.255.255.192
。
注意,每个网段的第一个和最后一个地址有特殊用途,用户不可用,第一个地址是网段地址,如上面的192.168.1.0
,最后一个是广播地址,如上面的192.168.1.63
。