要确定两台主机是否位于相同网络,了解二进制记法非常必要。 注意,IP 地址为分层地址,由两个部分组成:网络部分和主机部分。 但是,在确定网络部分和主机部分时,必须先查看 32 位数据流,而不是十进制数据流。 在 32 位数据流中,部分位组成网络部分,部分组成主机部分。

对于同一网络中的所有设备,地址网络部分中的位必须完全相同。 地址主机部分中的位必须唯一,这方便识别网络中的特定主机。 无论在两个 IPv4 地址之间的十进制数是否匹配,如果两台主机在 32 位数据流中的指定网络部分有相同的位模式,则这两台主机位于同一网络。

但是,主机如何知道 32 位数据流中的哪一部分代表网络,哪一部分代表主机呢? 这项工作由子网掩码负责。

在配置 IP 主机时,要随 IP 地址设置子网掩码。 与 IP 地址一样,子网掩码的长度也是 32 位。 子网掩码用于表明 IP 地址的哪一部分代表网络,哪一部分代表主机。

子网掩码从左至右依次与 IP 地址逐位对比。 子网掩码中的 1 代表网络部分;而 0 则代表主机部分。 如图 1 所示,子网掩码的创建方法是:在代表网络部分的每个位的位置写入二进制 1,在代表主机部分的每个位的位置写入二进制 0。 注意,子网掩码实际上不包含 IPv4 地址的网络或主机部分,它仅通知计算机如何在给定的 IPv4 地址中查找这些部分。

类似于 IPv4 地址,为了方便使用,子网掩码也使用点分十进制格式表示。 子网掩码与 IPv4 地址一起在主机设备上配置,也必须配置,这样主机可以确定自身所属的网络。 图 2 显示了 IPv4 二进制八位数的有效子网掩码。