アドレスのビットをサブネット マスクの 1 ビット値で AND 演算すると、結果として、アドレスの元のビット値が導かれます。 したがって、(IPv4 アドレスの)0 と(サブネット マスクの)1 を AND 演算すると 0 になります。 (IPv4 アドレスの)1 と(サブネット マスクの)1 を AND 演算すると 1 になります。 つまり、0 と AND 演算すると、結果はすべて 0 になります。 こうした AND 演算の特性は、IPv4 アドレスのホスト部のビットを「マスク」するのに使用されます。 アドレスの各ビットが、サブネット マスクの対応するビットと AND 演算されます。
ホスト部のビットを表すサブネット マスクのビットはすべて 0 なので、結果として、ネットワーク アドレスのホスト部はすべて 0 になります。 前にも説明したように、ホスト部のビットがすべて 0 の IPv4 アドレスは、ネットワーク アドレスを表します。
同様に、サブネット マスクのネットワーク部を示すビットは、すべて 1 です。 これらそれぞれの 1 をアドレスの対応するビットと AND 演算すると、元のアドレスのビットと同じビットになります。
図に示すように、サブネット マスクの 1 のビットは、結果として、ホストのネットワーク部と同じビットを持つ、ネットワーク アドレスのネットワーク部を導きます。 ネットワーク アドレスのホスト部は、すべて 0 になります。
特定の IP アドレスとそのサブネットの場合、AND 演算を使用すると、そのアドレスが属するサブネットワークと、同じサブネットに属する他のアドレスを調べることができます。 2 つのアドレスが同じネットワークまたはサブネットワーク内に存在する場合、これらのアドレスは互いにローカルであると見なされ、互いに直接通信することができます。 同じネットワークまたはサブネットワーク内に存在しないアドレスは、互いにリモートであると見なされ、互いに通信するには、両方の間にレイヤ 3 デバイス(ルータやレイヤ 3 スイッチなど)が必要です。
ネットワークの検証やトラブルシューティングでは、一般に、2 つのホストが同じローカル ネットワーク上に存在するかどうかを調べる必要があります。 この調査は、ネットワーク デバイスの視点から行う必要があります。 ホストによっては不適切な設定が原因で、本来意図されているネットワークとは異なるネットワークを、自身が存在するネットワークとして認識していることがあります。 そのため、ホストで使用される AND 演算プロセスを調べて診断しないと、エラーと思われるような処理が作成される可能性があります。