我们平常所说的IP地址都是指类似于
192.168.0.37
这样的一串数字,但实际上这一串数字只是
IP地址主体
而已。
-
IP地址主体
- 一串32比特的数字,按照8比特(1个字节)为一组分成4组,每组都用十进制值表示,最后以英文句点隔开。
但这里却有一个问题,仅凭IP地址主体这一串数字,我们无法区分哪部分是网络号,那部分是主机号。
因为在组建网络时,我们可以自定义网络号和主机号之间的分配关系,所以我们还需要额外的信息来表示IP地址的内部结构。这一额外的信息就是所谓的
子网掩码
。
-
子网掩码
- 一串32比特数字,其左边部分都是1,右边部分都是0。其中,子网掩码为1的部分表示网络号,子网掩码为0的部分表示主机号。
对于子网掩码,我们有两种表示方法:
- 按照和IP地址一样的方式以每8比特为一组分成4组,每组都用十进制值表示,最后以英文句点隔开。
- 仅考虑子网掩码中左边都是1的部分,将这一部分的比特数用十进制值表示。
包含子网掩码的IP地址表示方法
一、采用与IP地址主体相同的格式表示子网掩码:
192.168.0.37/255.255.255.0
上面IP地址的组成:
-
192.168.0.37
:IP地址主体 -
255.255.255.0
:子网掩码
二、采用网络号比特数来表示子网掩码:
192.168.0.37/24
上面IP地址的组成:
-
192.168.0.37
:IP地址主体 -
24
:子网掩码
案例解读
我们以
192.168.0.37/24
为例,可以很轻松地完成以下换算过程:
十进制表示 将十进制转换成比特(二进制)
------------ -----------------------------------
㈠ IP地址 192.168.0.37 11000000.10101000.00000000.00100101
㈡ 子网掩码 24 11111111.11111111.11111111.00000000
╲ 网络号 ╱ ╲主机号╱
↓ ↓ ↓
网络号 192.168.0. 11000000.10101000.00000000
主机号 37 00100101
子网掩码表示网络号与主机号之间的边界。在本例中,这个边界与字节的边界正好吻合,即正好划分在句点的位置上,实际上也可以划分在字节的中间位置。
从上面的求解步骤中,我们可以很明显地知道该网络最多可以为254(2
8
-2)个主机分配有效的IP地址。
可分配的IP地址范围是
192.168.0.1 ~ 192.168.0.254
。其中主机号的比特全部为0或者全部为1时,代表了两种特殊含义,因此不能将它们分配给单独一台计算机。
IP地址的主机号:
-
全0(
192.168.0.0
):表示整个子网。 -
全1(
192.168.0.255
):表示向子网上所有设备发送包,即“广播”。