任何与子网掩码的位值 1 经过 AND 运算的地址位均可得出地址的原始位值。 因此,0(来自 IPv4 地址)AND 1(来自子网掩码)为 0。 1(来自 IPv4 地址)AND 1(来自子网掩码)为 1。 因此,任意值同 0 进行 AND 运算均得 0。 AND 运算的这些特性与子网掩码一起“隐藏”IPv4 地址的主机位。 地址的每个位同子网掩码的相应位进行 AND 运算。

由于子网掩码中代表主机位的所有位都是 0,因此,所得网络地址的主机部分也全部变为 0。 我们曾学过,主机部分全部为 0 的 IPv4 地址代表网络地址。

同理,子网掩码中表示网络部分的所有位均为 1。 这些 1 同地址的相应位逐个进行 AND 运算后,所得各位与原来的地址位相同。

如图所示,子网掩码中的 1 位使得网络地址的网络部分和主机的网络部分有相同的位值。 网络地址的主机部分将全部为 0。

对于给定的 IP 地址及其子网,AND 运算可以用于确定地址所属子网,以及属于同一子网的其他地址。 请记住,如果两个地址位于相同网络或子网,则认为这两个地址互为本地地址,因此,可以互相直接通信。 不在同一个网络或子网的地址视作彼此的远程地址,它们必须借助之间的第 3 层设备(例如路由器或第三层交换机)才能通信。

在网络验证/故障排除工作中,我们通常需要确定两台主机是否位于同一本地网络。 我们需要从网络设备的角度来做出此决定。 由于配置不正确,某台主机可能会以为自己所在的网络与预定网络不同。 这可能会导致工作不正常,但检查该主机使用的 AND 运算过程就可以诊断这个问题。